US-Datum, Import aus *.csv
Das Problem
Ein immer wieder auftretendes Problem(chen) ist es, wenn aus amerikanischen Systemen kalendarische Daten im Textformat (beispielsweise *.csv) exportiert werden und diese in einer deutschen Umgebung weiter verarbeitet werden sollen. Das ist mitunter richtig frustrierend. Da steht dann als Lieferdatum der 10. Januar 2014 in dieser Form in der Textdatei: 01/10/2014. Also erst der Monat und dann der Tag.
So weit, so gut. Wenn Sie aber nun diese Tabelle einfach im (deutschen) Excel öffnen, dann steht dort der 01.10.2014 als Lieferdatum. Excel erkennt, dass es sich bei diesem Wert um ein Datum handelt und ersetzt schlichtweg jeden / durch einen ..
Um das zu umgehen, gibt es verschiedene Wege zum Ziel. Einer dieser Wege wäre, die Ländereinstellungen des Systems (Windows) vor dem Import auf die US-Norm umzustellen und danach wieder zu den Standards zurück zu kehren. Aber wenn solch eine Datei öfter importiert werden muss, ist das wirklich nicht der „Hit“.
Ursachenforschung
Auch wenn jeder Vergleich „hinkt“, hier ein weitgehend passender aus dem realen Leben, es betrifft das Auto. Nehmen Sie einmal an, dass die „Kiste“ richtig viel Wasser verliert. Dann haben Sie (neben dem Verkauf) prinzipiell zwei Möglichkeiten: Immer wieder Wasser nachfüllen oder einen undichten Schlauch, die Wasserpumpe, … zu ersetzen. Ich denke, dass es besser ist, die Ursache des Missverhaltens zu beseitigen, denn im Winter hat der Wagen sonst bald keinen Frostschutz mehr im System. So ist es auch in diesen Fällen sinnvoll, die Ursache zu beseitigen. Und das ist der Import der Daten an sich.
Die Lösung
Damit Sie die folgende Anleitung ein wenig besser nachvollziehen können, stelle ich Ihnen zwei sehr kleine Dateien mit einigen Namen und Geburtsdaten im amerikanischen Format zur Verfügung. Das eine File ist im Excel-Format (US-Birthday.xlsx), das andere ist reiner Text (US-Birthday.csv). Laden Sie die beiden Dateien gerne herunter.
Öffnen Sie nun zu Beginn die Excel-Datei auf ganz normalem Wege. Sie werden rasch erkennen, dass dort in Spalte B das Datum im amerikanischen Format steht und auch genau so dargestellt wird. Und auf den zweiten Blick wird Ihnen gewiss auch klar, dass diese kalendarischen Daten als Text angezeigt werden. Nur darum versucht Excel nicht, diese Werte so weit als möglich in ein „echtes“ (und auch im deutschen Format dargestelltes) Datum umzuwandeln:
Solch ein Arbeitsblatt ist eine solide Grundlage für die Umwandlung in ein korrektes Datum, welches dann auch im deutschen Format angezeigt wird.
Öffnen Sie nun einmal die US-Birthday.csv. Öffnen mit einem Doppelklick, nicht importieren! Sie werden rasch sehen, dass da so einiges anders ist als gedacht:
Was immer stimmt, sind die Jahreszahlen. Zeilen 3; 5; 7 sind offensichtlich auch Text geblieben und auch unverändert. B4 ist ein Datum im deutschen Format und auch korrekt. Und C2 sowie C6 sind auch ein deutsches Datum, aber entsprechen keineswegs dem Vergleich aus der *.xlsx. Monat und Tag sind vertauscht. Das gleiche Phänomen werden Sie erreichen, wenn Sie über Daten | Externe Daten abrufen | Aus Text einfach nur so durchklicken.
Anders allerdings sieht es aus, wenn Sie bewusst und Schritt für Schritt vorgehen. Wie eben auch wählen Sie den Weg über die Externen Daten als Text. Dann ändern Sie im ersten Fenster …
Die Daten haben Überschriften, sofern das (wie hier) der Fall ist. Und falls Umlaute oder spezielle Sonderzeichen im zu importierenden Text vorkommen, dann wählen Sie statt DOS das hier gezeigte Format für den Dateiursprung. Weiter.
In den meisten Fällen wird nun auch die erste Zeile als Überschrift in diesen Fenstern angezeigt. Die Ausnahme bestätigt aber die Regel, wie auch hier.
Es ist klar ersichtlich, dass ein Semikolon die Spalten trennt, also ändern Sie das in den Einstellungen im linken oberen Viertel des Fensters. Weiter.
In diesem Fenster passen Sie das Ursprungsformat der kalendarischen Daten so an, dass Excel daraus ein „echtes“ Datum macht:
Ein Klick auf die Spalte mit dem Geburtstag und dann das korrekte Ausgangsformat einstellen. Und prinzipiell war’s das auch schon. Da aber dermaßen zu importierende Dateien meist etwas umfangreicher sind, gönnen Sie sich noch einen Blick auf die Schaltfläche Weitere…:
Denn wenn es Daten sind, welche nach US-Vorgaben erstellt wurden, dann ist in der Regel auch der Tausenderseparator ein Komma und der Dezimaltrenner ein Punkt. Diese Korrektur können Sie dort veranlassen. Anschließend können Sie dieses Fenster per Klick auf Fertig stellen schließen. Bleibt noch die Auswahl der Position, wo die Daten gespeichert werden sollen:
Hier heißt es einfach, ein wenig nachdenken und vielleicht auch experimentieren. Ein Klick auf Eigenschaften… bringt noch etwas ausgesprochen nutzvolles zum Vorschein:
Sie können nämlich all diese Einstellungen speichern. Und beim nächsten Import einer vielleicht aktualisierten Datei mit dem identischen Aufbau wird Ihnen nach einem Klick auf die Schaltfläche (Ribbon) Vorhandene Verbindungen diese gespeicherte Verbindung (mit den entsprechenden Einstellungen) automatisch ausgeführt. Und das erleichtert die Arbeit dann schon erheblich.
Nachdem das importierte Datum nun als korrektes und international lesbares Datum vorliegt, können Sie sich anderen Dingen widmen. Jetzt steht nämlich nur noch eine ganz normale Zahl in der Zelle, die nur als Datum im jeweiligen Landesformat dargestellt wird. Ob nun in Deutschland, dem Vereinigten Königreich (GB), Japan, China, Russland oder dem Rest der Welt ….
Viel Erfolg und weniger Stress bei Importen fremder Zahlen- und Datumsformate.
[NachObenLetzte Verweis=„T&T: US-Datum csv-Import”]