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-Key: 128557

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

Printed on: April 25, 2024 at 17:04 o'clock

Member: obi134
obi134 Nov 03, 2009 at 19:37:34 (UTC)
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.
Mitglied: 76109
76109 Nov 03, 2009 at 20:52:56 (UTC)
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
Mitglied: 76109
76109 Nov 03, 2009 at 21:57:00 (UTC)
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
Member: obi134
obi134 Nov 04, 2009 at 16:32:35 (UTC)
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
Mitglied: 76109
76109 Nov 04, 2009 at 16:46:03 (UTC)
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