Die LibreCalc-Datumsfunktion gibt den falschen Monat zurück

0

Ich habe eine Tabelle mit drei Spalten für "Datum", "Währung" und "Betrag".

Date        Currency    Amount  Month
06.02.2015  EUR         188     March
30.01.2015  EUR         285     January

Ich erstelle die "Month" -Spalte aus der Date-Column mit der folgenden Formel und formatiere dann die "Month" -Spalte in MMMM:

=DATE(YEAR(A2);MONTH(A2);DAY("0"))

(Ich mache das, weil ich die Daten in einer Pivot-Tabelle nach Monat gruppieren muss.)

Das Problem: Wie Sie dem Auszug entnehmen können, ist der für den ersten Wert des Monats zurückgegebene Monat falsch. Es heißt "März", wenn es wirklich "Februar" ist. Was mache ich hier falsch?

Für den ersten Monatswert (oder Werte, abhängig von der Anzahl der Einträge für den ersten aufgelisteten Monat) in der Tabelle scheint libreCalc immer einen Monat voraus zu sein. Die restlichen Werte ab dem nächsten Monat sind immer korrekt und funktionieren einwandfrei. Es macht keinen Unterschied, ob die Monate von Januar bis Dezember aufgelistet sind oder umgekehrt, wie in meinem Beispiel.

Danke fürs Helfen!

kat
quelle
Immer noch keine Antworten ... Ist das das richtige Forum für die Frage?
Kat

Antworten:

1

Ich glaube, das Problem ist, dass die Funktion DAY ("0") die Antwort 30 zurückgibt. Da Februar weniger als 30 Tage hat, verursacht dies ein Problem für Daten im Februar.

Wenn Sie nur eine 0 für das dritte Argument der DATE-Funktion eingeben, wird der letzte Tag des Vormonats zurückgegeben, was anscheinend auch nicht der Fall ist. Ich würde empfehlen, eine 1 für das dritte Argument der DATE-Funktion zu verwenden:

=DATE(YEAR(A2);MONTH(A2);1)
Lyrl
quelle
1
Ihre Lösung funktioniert, aber Sie haben die Erklärung ein wenig falsch verstanden. Tag gibt den Tag des Monats für ein bestimmtes Datum zurück. Wenn Sie anstelle eines Datums eine Zahl verwenden (die die Anführungszeichen ausschließen sollte, Calc jedoch verzeiht), wird dies als das Datum verwendet, das viele Tage nach dem Basisdatum des 30. Dezember 1899 liegt. Also Tag 0 ist der 30. Dezember 1899. Daher das Ergebnis. Das Argument sollte entweder 1 sein, wie Sie vorgeschlagen haben, oder DAY (A2). Aber ein großes Lob für das Erkennen des Problems und das Vorschlagen einer funktionierenden Lösung. +1
fixer1234