obi134
Goto Top

OpenOffice Calc Formel Err 502?

Hi! Ich erstelle mir gerade in OpenOffice ein Dokument. Hier habe ich eine Formel, die nicht so ganz funktionieren möchte. Ich bekomme immer Err:502 angezeigt (ungültiges Argument). Ich hoffe ihr könnt mir helfen. Ich sitze schon den ganzen Tag davor face-wink

Hier ist die Formel:

=WENN(ISTLEER($F$28);WENN(ISTLEER(A3);"";VERKETTEN("<qso_date:8:d>";JAHR(A3);WENN(IDENTISCH(LÄNGE(MONAT(A3));2);MONAT(A3);VERKETTEN("0";MONAT(A3)));WENN(IDENTISCH(LÄNGE(TAG(A3));2);TAG(A3);VERKETTEN("0";TAG(A3)))));WENN(ISTLEER(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));"";VERKETTEN("<qso_date:8:d>";JAHR(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));WENN(IDENTISCH(LÄNGE(MONAT(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log"))));2);MONAT(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));VERKETTEN("0";MONAT(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")))));WENN(IDENTISCH(LÄNGE(TAG(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log"))));2);TAG(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));VERKETTEN("0";TAG(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log"))))))))

Und hier mal probiert etwas übersichtlicher zu gestalten:

=WENN(
	ISTLEER(
		$F$28
	);
	WENN(
		ISTLEER(
			A3
		);
		"";  
		VERKETTEN(
			"<qso_date:8:d>";  
			JAHR(
				A3
			);
			WENN(
				IDENTISCH(
					LÄNGE(
						MONAT(
							A3
						)
					);
					2
				);
				MONAT(
					A3
				);
				VERKETTEN(
					"0";  
					MONAT(
						A3
					)
				)
			);
			WENN(
				IDENTISCH(
					LÄNGE(
						TAG(
							A3
						)
					);
					2
				);
				TAG(
					A3
					);
				VERKETTEN(
					"0";  
					TAG(
						A3
					)
				)
			)
		)
	);
	WENN(
		ISTLEER(
			INDIREKT(
				ADRESSE(
					INDIREKT(
						$F$28
					);
					1;
					1;
					1;
					"Log"  
				)
			)
		);
		"";  
		VERKETTEN(
			"<qso_date:8:d>";  
			JAHR(
				INDIREKT(
					ADRESSE(
						INDIREKT(
							$F$28
						);
						1;
						1;
						1;
						"Log"  
					)
				)
			);
			WENN(
				IDENTISCH(
					LÄNGE(
						MONAT(
							INDIREKT(
								ADRESSE(
									INDIREKT(
										$F$28
									);
									1;
									1;
									1;
									"Log"  
								)
							)
						)
					);
					2
				);
				MONAT(
					INDIREKT(
						ADRESSE(
							INDIREKT(
								$F$28
							);
							1;
							1;
							1;
							"Log"  
						)
					)
				);
				VERKETTEN(
					"0";  
					MONAT(
						INDIREKT(
							ADRESSE(
								INDIREKT(
									$F$28
								);
								1;
								1;
								1;
								"Log"  
							)
						)
					)
				)
			);
			WENN(
				IDENTISCH(
					LÄNGE(
						TAG(
							INDIREKT(
								ADRESSE(
									INDIREKT(
										$F$28
									);
									1;
									1;
									1;
									"Log"  
								)
							)
						)
					);
					2
				);
				TAG(
					INDIREKT(
						ADRESSE(
							INDIREKT(
								$F$28
							);
							1;
							1;
							1;
							"Log"  
						)
					)
				);
				VERKETTEN(
					"0";  
					TAG(
						INDIREKT(
							ADRESSE(
								INDIREKT(
									$F$28
								);
								1;
								1;
								1;
								"Log"  
							)
						)
					)
				)
			)
		)
	)
)

Also in F28 steht aus welcher Zeile er das Datum aus der Tabelle Log holen soll.

Der erste Teil scheint zu funktionieren, also wenn F28 leer ist und die erste WENN- Anweisung ausgeführt wird. Das Problem müsste dann im zweiten Teil liegen. Ich finde aber keinen Fehler. Falls ihr für das Problem noch mehr Bezüge braucht meldet euch bitte.

Danke schonmal
Gruß
Tobias

Content-ID: 128557

Url: https://administrator.de/contentid/128557

Ausgedruckt am: 21.11.2024 um 21:11 Uhr

obi134
obi134 03.11.2009 um 20:37:34 Uhr
Goto Top
Also ich hole mal etwas weiter aus:
Das ganze soll ein Logbuch werden.
in der Tabelle stehen dann die ganzen Daten.
Ich benötige die Daten aber für ein externes Programm in einem anderen Format.
Das Datum wird in folgendem Format als Datum erkannt:
<qso_date:8:d>20091103
(Also Tag und Monat zweistellig, Bei Oktober kracht es nicht, da das ja abgefragt wird mit z.B. WENN(IDENTISCH(LÄNGE(MONAT(A3));2)...)

Und das soll automatisch erzeugt werden.
Man kann also einerseits die Logbuchzeile in ein Feld oberhalb dieser Umformatierung kopieren (erster Teil der Formel, also wenn F28 leer ist, funktioniert), oder man kann eine Zeile angeben (F28), wo er dann die Daten dann aus dieser Zeile aus der Tabelle "Log" her holt...
Also als erstes soll er überprüfen, ob das Feld leer ist, danach soll er 03.11.2009 in <qso_date:8:d>20091103 umformen.

Ich hoffe das ist verständlich? Ich möchte das alles gerne in OpenOffice belassen ohne Makros, Skripte usw.
76109
76109 03.11.2009 um 21:52:56 Uhr
Goto Top
Hallo Tobias!

Also, die Verkettung von Datum, ließe sich zunächst auf eine Verkettung im Format "JJJJMMDD" reduzieren:
=VERKETTEN("<qso_date:8:d>";JAHR(A3);RECHTS("0" & MONAT(A3);2);RECHTS("0" & TAG(A3);2))

Dadurch sollte die Formel etwas kleiner und übersichtlicher werdenface-wink

Gruß Dieter
76109
76109 03.11.2009 um 22:57:00 Uhr
Goto Top
Hallo Tobias!

Zusammengefasst in etwa so:
=WENN(ISTLEER($F$28);
WENN(ISTLEER(A3);"";VERKETTEN("<qso_date:8:d>";JAHR(A3);RECHTS("0"&MONAT(A3);2);RECHTS("0"&TAG(A3);2)));
WENN(ISTLEER(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));"";
VERKETTEN("<qso_date:8:d>";JAHR(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));
RECHTS("0"&MONAT(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));2);
RECHTS("0"&TAG(INDIREKT(ADRESSE(INDIREKT($F$28);1;1;1;"Log")));2))))

Gruß Dieter
obi134
obi134 04.11.2009 um 17:32:35 Uhr
Goto Top
Hi Dieter!
Ich habe leider nicht ganz verstanden, was du da machst...
Nach einigen Tipps in einem anderen Forum bin ich zu folgender Formel gekommen:

=WENN(ISTLEER($F$28);WENN(ISTLEER(A3);"";"<qso_date:8:d>"&TEXT(A3;"jjjjmmtt"));WENN(ISTLEER(INDIREKT(ADRESSE(INDIREKT("F28");1;1;1;"Log")));"";"<qso_date:8:d>"&TEXT(INDIREKT(ADRESSE(INDIREKT("F28");1;1;1;"Log"));"jjjjmmtt")))

Nun funktioniert alles nach Wunsch und die Formel ist schön kompakt. Vielen Dank trotzdem für deine Hilfe!
Gruß
Tobias
76109
76109 04.11.2009 um 17:46:03 Uhr
Goto Top
Hallo obi134 !

Im Prinzip das gleiche. Nur mit dem Unterschied, dass es mit Text(A3;Format) noch kürzer bzw noch effektiver zu kürzen geht..

Gruß Dieter