Wenn ich eine Spalte mit formatiere mmm dd hh:mm:ss
und den Wert einer Zelle auf setze 0
, wird er als angezeigt Jan 00 00:00:00
.
Dies scheint im Widerspruch zu Teil 1, Abschnitt L.2.16.9.1 desECMA-376-Norm, dem Excel angeblich folgt.
Aus der Spezifikation:
Ein Datum, das als numerischer Wert interpretiert werden kann, ist ein Serienwert. Dieser besteht aus einer vorzeichenbehafteten ganzzahligen Datumskomponente und einer vorzeichenlosen Zeitkomponente. In der Zukunft erhöht sich die Datumskomponente eines Serienwerts jeden Tag um 1. Ein Serienwert stellt ein UTC-Datum und eine UTC-Uhrzeit dar und verfügt daher über keine Zeitzoneninformationen. Für die Konvertierung von Daten in Serienwerte können drei verschiedene Grundlagen verwendet werden:
- Im Datumsbasissystem von 1900 ist die Untergrenze der 1. Januar -9999 00:00:00, was den Serienwert -4346018 hat. Die Obergrenze ist der 31. Dezember 9999 23:59:59, was den Serienwert 2.958.465,9999884 hat. Das Basisdatum für dieses Datumsbasissystem ist der 30. Dezember 1899, was den Serienwert 0 hat.
- Im abwärtskompatiblen Datumsbasissystem von 1900 ist die Untergrenze der 1. Januar 1900, 00:00:00, was den Serienwert 1 hat. Die Obergrenze ist der 31. Dezember 9999, 23:59:59, was den Serienwert 2.958.465,9999884 hat. Das Basisdatum für dieses Datumsbasissystem ist der 31. Dezember 1899, was den Serienwert 0 hat.
- Im abwärtskompatiblen Datumsbasissystem von 1904 ist die Untergrenze der 1. Januar 1904, 00:00:00, was den Serienwert 0 hat. Die Obergrenze ist der 31. Dezember 9999, 23:59:59, was den Serienwert 2.957.003,9999884 hat. Das Basisdatum für dieses Datumsbasissystem ist der 1. Januar 1904, was den Serienwert 0 hat.
Daraus schließe ich, dass 0
es als 30. Dezember 1899, 31. Dezember 1899 oder 1. Januar 1904 wiedergegeben werden sollte, je nachdem, welches der oben genannten Systeme gewählt wird (Excel bietet hier einige Anpassungsmöglichkeiten). Übersehe ich hier etwas oder hat jemand eine Erklärung dafür, warum es von der Spezifikation abweicht?
Ich verwende Version 16.61.1, falls das wichtig ist.
Antwort1
Dies scheint Teil 1, Abschnitt L.2.16.9.1 des ECMA-376-Standards zu widersprechen
Im abwärtskompatiblen Datumsbasissystem von 1900 ist die Untergrenze der 1. Januar 1900, 00:00:00, was den Serienwert 1 hat.
Nein, es widerspricht diesem Teil nicht. Die Untergrenze ist der Serienwert 1; der Serienwert 0 liegt außerhalb der Grenze, sollte nicht verwendet werden und Sie können bei seiner Verwendung kein korrektes Ergebnis erwarten.
Ich konnte diesen Teil finden inDokumentation der Datumsfunktion:
Excel interpretiert das Jahresargument entsprechend dem Datumssystem, das Ihr Computer verwendet. Standardmäßig verwendet Microsoft Excel für Windows das 1900-Datumssystem, was bedeutet, dass das erste Datum der 1. Januar 1900 ist.