ISO 8601-Format Umwandlung in Excel und Calc
Wenn du eine CSV-Datei oder Komma/Semikolon/Leerzeichen-separierte Daten mit Zeitstempeln im ISO 8601-format, wie sie z.B. von SerialLogger bereitgestellt werden, in Microsoft® Excel oder LibreOffice Calc weiterverarbeiten musst, erkennt keins der beiden Programme das Format als Datum und Zeit sondern als Text. Um die ISO 8601-Zeichenkette in Datum und (UTC) Zeit umzuwandeln, benötigst du kein Visual oder LibreOffice Basic, eine Formel reicht aus.
UTC Datum und Zeit
Die folgende Formel parst die ISO 8601-Zeichenkette 2018-11-20T14:26:12+01:00
und berücksichtigt die Zeitzone. Man erhält eine auf UTC (Weltzeit – Universal Time Coordinated) basierendes Datum/Zeit. Wenn sich die ISO 8601 in der Zelle A2 befindet:
Excel:
=WENN(TEIL(A2;20;1)="+";ZEITWERT(TEIL(A2;21;5))+DATWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8));-ZEITWERT(TEIL(A2;21;5))+DATWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8)))
Calc:
=WENN(TEIL(A2;20;1)="+";ZEITWERT(TEIL(A2;21;5))+DATUMWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8));-ZEITWERT(TEIL(A2;21;5))+DATUMWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8)))
Wichtig: Wenn du kein deutsches Excel oder Calc benutzt, musst du die Befehle an die jeweilige Sprache anpassen!
Lokales Datum und Zeit
Um nur die lokale Zeit zu erhalten, verkürzt sich die Formel zu:
Excel:
=DATWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8))
Calc:
=DATUMWERT(LINKS(A2;10))+ZEITWERT(TEIL(A2;12;8))
Datumswert
Du bekommst ein Datumswert ausgegeben. In unserem Beispiel ist das 43424,6431944444
, die du in das gewünschte Datums- und/oder Zeitformat umformatieren kannst.
Beispieldateien
Interessante Links
- Mein Stack Overflow posting
- KDSmart-Documentation – Excel formula for Converting ISO-8601 Timestamp to Excel Date
Pingback: [excel] Excel?? ISO8601 ?? / ?? (TimeZone ??) ?? ?? - ????
Pingback: Parsing an ISO8601 date/time (including TimeZone) in Excel - Design Corral