[OOo3.2/Calc] Problem bei Datumsberechnung

02/03/2010 - 11:33 von Thorsten Mueller | Report spam
Hallo!

Seit 2007 führe ich in OOo unter SuSE-Linux monatliche Sheets, die bis
zur Version 3.1 korrekt berechnet wurden, seit 3.2 jedoch nicht mehr.

Problem:

Auf dem Blatt befinden sich an unterschiedlicher Stelle die
Informationen für den Tag (Zahl), den Monat (Name) und das Jahr (Zahl).

In einer Spalte hinter dem Tag sollte dann aus den drei Feldern der
aktuelle Wochentag ausgegeben werden.

Als Beispiel (bis letztens funktionierend):

A B C D
1 Tag Monat Jahr Wochentag
2 01 Februar 2010 Fr

In der Zelle "D" befindet sich folgende Formel:

=Wochentag(Verketten(A2;B2;C2))

Wie gesagt, bis zur Version 3.0.x funktionierte das, seit meinem Update
auf 3.2 nicht mehr. Das Feld D2 enthàlt nur noch den Text "#WERT!".

Eine Änderung auf
=Wochentag(Verketten(A2;". ";B2;" ";C2))
brachte auch nichts nutzbares.

Wo ist da gerade mein Denkfehler?

In den Dokumenten auf openoffice.org, im Archiv der Maillingliste und in
den auf openoffice.org angegebenen Foren bin ich nicht fündig geworden.

Die erste Formel funktioniert so auch in MS-Office 97/2000/2007, wie ich
gerade testen konnte.

mfg
Thorsten
 

Lesen sie die antworten

#1 Regina Henschel
02/03/2010 - 12:51 | Warnen spam
Hallo Thorsten,

Thorsten Mueller schrieb:
Hallo!

Seit 2007 führe ich in OOo unter SuSE-Linux monatliche Sheets, die bis
zur Version 3.1 korrekt berechnet wurden, seit 3.2 jedoch nicht mehr.

Problem:

Auf dem Blatt befinden sich an unterschiedlicher Stelle die
Informationen für den Tag (Zahl), den Monat (Name) und das Jahr (Zahl).

In einer Spalte hinter dem Tag sollte dann aus den drei Feldern der
aktuelle Wochentag ausgegeben werden.

Als Beispiel (bis letztens funktionierend):

A B C D
1 Tag Monat Jahr Wochentag
2 01 Februar 2010 Fr

In der Zelle "D" befindet sich folgende Formel:

=Wochentag(Verketten(A2;B2;C2))

Wie gesagt, bis zur Version 3.0.x funktionierte das, seit meinem Update
auf 3.2 nicht mehr. Das Feld D2 enthàlt nur noch den Text "#WERT!".

Eine Änderung auf
=Wochentag(Verketten(A2;". ";B2;" ";C2))
brachte auch nichts nutzbares.

Wo ist da gerade mein Denkfehler?



Das ist kein Denkfehler, sondern dir fehlt nur eine Information.
WOCHENTAG erwartet als Eingabeparameter eine Zahl, nàmlich den internen
Datumswert. Du benutzt jedoch einen Text. Also versucht OOo den Text in
einen internen Datumswert umzuformen. Und dort liegt die Änderung von
3.1 zu 3.2. Es werden jetzt nur noch Texte umgeformt, bei deinen das
Ergebnis über alle Sprachen hinweg eindeutig ist. Bei den Texten, die
ein Datum darstellen sollen, ist daher jetzt zwingend das ISO-Format
erforderlich.

Weil bei dir der Monat als Text vorliegt, kommst du durch Verketten aber
nicht auf ein ISO-Format. Du musst die Umwandlung also selbst vornehmen.
Die Funktion dazu heißt DATWERT. Diese akzeptiert auch lokale
Datumsschreibweisen. Komplett wàre das also

=Wochentag(DATWERT(Verketten(A2;". ";B2;" ";C2)))


In den Dokumenten auf openoffice.org, im Archiv der Maillingliste und in
den auf openoffice.org angegebenen Foren bin ich nicht fündig geworden.

Die erste Formel funktioniert so auch in MS-Office 97/2000/2007, wie ich
gerade testen konnte.



Ob es funktioniert, hàngt von der Sprache ab. Man sollte daher
vermeiden, mit sprachspezifischen Werten zu rechnen, sondern immer nur
die Darstellung sprachspezifisch machen. Richtig wàre also, den Monat
als Zahl zu speichern und durch ein geeignetes Zahlenformat als
"Februar" darzustellen. Wenn Tag, Monat und Jahr als Zahlen vorliegen,
kannst du die zugehörige Datumszahl dann auch mit DATUM() berechnen.
Wenn du nicht mit dem Wochentag weiterrechnen wills, genügt dann die
Formatierung NN um "Fr" anzuzeigen.

mfG
Regina

Ähnliche fragen