Warum erhält Excel bei der Ermittlung, wie viele Tage seit dem 01.01.1900 vergangen sind, ein anderes Ergebnis als PowerShell und Google?

Warum erhält Excel bei der Ermittlung, wie viele Tage seit dem 01.01.1900 vergangen sind, ein anderes Ergebnis als PowerShell und Google?

Ein Kollege sagte mir: „Seit dem 01.01.1900 sind genau 43871 Tage vergangen.“ Heute ist der 10.02.2020.

Ich wollte das mit PowerShell prüfen, bekam aber ein anderes Ergebnis:

PS C:\Windows\system32> New-TimeSpan ([datetime]"01.01.1900") (Get-Date)


Days              : 43869
Hours             : 11
Minutes           : 15
Seconds           : 46
Milliseconds      : 304

Ich war verwirrt, weil es einen Unterschied von 2 Tagen gab. Also fragte ich den Allmächtigen Google:

GoogleDaysPassedSuche

Wie Sie sehen, sagt Google auch, dass 43869 Tage vergangen sind, nicht 43871.

Also fragte ich meinen Freund, wie er das berechnet hat. Er hat es in Excel gemacht, indem er eine Zelle auf formatiert hat dateonly. Wenn er dann ein hineinschreibt int, wandelt Excel es in ein Datum um, z. B.

  • 15641wird27.10.1942
  • 19874wird30.05.1954
  • 43869wird 08.02.2020(?)
  • 43871wird 10.02.2020(?)

Lebt Excel uns 2 Tage voraus oder warum denkt es, es seien 2 Tage mehr vergangen, als es seit dem 01.01.1900 tatsächlich waren? Übersieht es etwas?

Hier ist ein kleines GIF davon (leider auf Deutsch, da ich ein deutsches Excel habe):

ExcelBerechnungGif

Antwort1

Das Warum:

Erstens rechnen Ihr Freund und Google anders. Excel (mit dem 1900-Datumssystem) geht nur davon aus, dass es seit 1900 einen zusätzlichen Tag gibt.

Excel speichert Daten als Seriennummern, wobei 1-Jan-1900= 1 Und 10-Feb-2020-->43871

AlsoTage seitvon Excel sollte sein 43871- 1-->43870

Allerdings ist die Excel-Berechnung fehlerhaft.

Als Excel eingeführt wurde, war Lotus123 das führende Tabellenkalkulationsprogramm.

Lotus 123 hatte einen Fehler, der dazu führte, dass das Jahr 1900 als Schaltjahr angesehen wurde.

Aus Kompatibilitätsgründen im Hinblick auf die Konkurrenz enthielt Excel diesen Fehler. Da es sich jedoch 29-Feb-1900um ein nicht vorhandenes Datum handelt, werden andere Methoden 43869beim Subtrahieren der beiden Daten korrekt angezeigt.

Übrigens berechnet Excel VBA auch die Datumsdifferenz korrekt -->43869

Antwort2

Microsoft Excel unterstützt zwei verschiedene Datumssysteme. Diese Systeme sind das 1900-Datumssystem und das 1904-Datumssystem

Das 1900-Datumssystem

Im 1900-Datumssystem ist der erste unterstützte Tag der 1. Januar 1900. Wenn Sie ein Datum eingeben, wird das Datum in eine fortlaufende Zahl umgewandelt, die die Anzahl der vergangenen Tage darstellt, beginnend mit 1 für den 1. Januar 1900. Wenn Sie beispielsweise den 5. Juli 1998 eingeben, konvertiert Excel das Datum in die fortlaufende Zahl 35981. Standardmäßig verwendet Microsoft Excel für Windows das 1900-Datumssystem. Das 1900-Datumssystem ermöglicht eine bessere Kompatibilität zwischen Excel und anderen Tabellenkalkulationsprogrammen wie Lotus 1-2-3, die für die Ausführung unter MS-DOS oder Microsoft Windows entwickelt wurden.

Das Datumssystem von 1904

Im 1904-Datumssystem ist der erste unterstützte Tag der 1. Januar 1904. Wenn Sie ein Datum eingeben, wird das Datum in eine Seriennummer umgewandelt, die die Anzahl der seit dem 1. Januar 1904 vergangenen Tage darstellt, beginnend mit 0 für den 1. Januar 1904. Wenn Sie beispielsweise den 5. Juli 1998 eingeben, konvertiert Excel das Datum in die Seriennummer 34519. Aufgrund des Designs früherer Macintosh-Computer wurden Daten vor dem 1. Januar 1904 nicht unterstützt. Dieses Design sollte Probleme im Zusammenhang mit der Tatsache vermeiden, dass 1900 kein Schaltjahr war. In der Vergangenheit verwendete Excel für Macintosh standardmäßig das 1904-Datumssystem für Arbeitsmappen, die auf einem Macintosh erstellt wurden. Excel für Macintosh verwendet jetzt jedoch standardmäßig das 1900-Datumssystem und unterstützt Daten ab dem 1. Januar 1900.

Der Unterschied zwischen den Datumssystemen

Da die beiden Datumssysteme unterschiedliche Starttage verwenden, wird dasselbe Datum in beiden Datumssystemen durch unterschiedliche Seriennummern dargestellt. Beispielsweise kann der 5. Juli 1998 wie folgt zwei unterschiedliche Seriennummern haben.

Date system          Serial number of July 5, 1998
1900 date system     35981
1904 date system     34519

Quelle: https://docs.microsoft.com/en-us/office/troubleshoot/excel/1900-and-1904-date-system

verwandte Informationen