Daten-Import aus US-Textdateien (*.csv, *.txt, …)
Excel, alle Versionen
Immer wieder ein Stolperstein: Numerische Daten, die im US-Format vorliegen, sollen in einem deutschen Excel verarbeitet werden. So schön, wie es vielfach ist, dass Excel „mitdenkt”, so ärgerlich kann es manchmal sein. Ich habe Ihnen eine kleine Beispiel-Datei erstellt, wo die Werte per Tabulator getrennt sind. Der besseren Erkennbarkeit wegen habe ich die Werte in MS Word eingefügt und die Tab-Zeichen auch sichtbar gemacht:
Beachten Sie bitte, dass der Dezimaltrenner ein Punkt und der Tausendertrenner ein Komma ist. Die dritte Zahl der ersten Zeile ist also nach unserem Verständnis und wäre der europäischen Schreibweise entsprechend acht Komma drei (8,3) und die dritte Zahl der dritten Reihe ist in Wirklichkeit achttausend (8.000). Diverse Programme, insbesondere in weltweit arbeitenden Konzernen exportieren Daten auf diese Weise.
Um die Zahlen nun ins Excel zu bringen, gibt es viele Wege. Eine der Möglichkeiten sieht so aus, dass Sie diese Datei (bitte jetzt per RechtsKlick herunterladen und getrennt auf Ihrem Rechner speichern, alternativ hier als *.zip-Datei) mit einem beliebigen Editor oder Textverarbeitung öffnen, die Daten kopieren und dann direkt in Excel per StrgV einfügen. Überraschung …
Nun ja, in C1 steht nicht 8,3 sondern 08. Mrz, sprich der 8.3. als Datum in der Kurzschreibweise. Für B2 gilt die gleiche Fehlinterpretation. In A3 ist der Wert einfach als Text interpretiert worden (Ausrichtung links) und in C3 wurde das Komma so gewertet, dass es der Dezimaltrenner ist und dort steht nun nur die 8. Dieses „eigenwillige” Verhalten gilt prinzipiell für alle deutschen Versionen des Excel. 😡
Das kann es also nicht gewesen sein. Bei diesen wenigen Zahlen ist eine Korrektur per Hand ja noch denkbar, aber meist sind es ja doch erheblich mehr Daten und da ist dieses Vorgehen dann ein absolutes „no go”. Schließlich müssen Sie Zelle für Zelle vergleichen, ob die Werte OK sind oder korrigiert werden müssen. Beispiel aus der obigen Abbildung: Die 8,000 (US-Format) werden sich nach einem Import per copy and paste nicht von einer „echten” 8 (auch US-Format) unterscheiden, im deutschen Excel ist das Ergebnis gleich.
Aber es gibt ja noch mehrere Wege, die zum Ziel führen können. Um für die folgenden Tests eine „saubere” Grundlage zu haben, schließen Sie bitte die aktuelle Mappe. Im nächsten Schritt werden Sie die bereits gespeicherte Text-Datei einfach in Excel öffnen. Achten Sie bei dem Datei-Öffnen-Fenster bitte darauf, dass beim Dateityp entweder Alle Dateien (*.*) oder Textdateien (*.prn, *.txt, *.csv) ausgewählt sind, dann wird Ihnen die Import-Datei auch angezeigt. Umgehend wird Ihnen solch ein Fenster angezeigt:
Diese Einstellung stimmt erst einmal, da die einzelnen Werte ja mit einem Tabstopp getrennt sind. Weiter > und …
… hier stimmt auch alles, weil das Kästchen Tabstopp schon markiert ist. Versionsabhängig muss das aber nicht so sein, achten Sie bitte darauf. Nach einer Kontrolle, ob die Spalten auch richtig abgegrenzt sind, wiederum Weiter >:
Hier wird es interessant. Die Spalten an sich enthalten ja alle Standard-Daten, aber das Format ist nicht das europäische. Das wissen wir ja inzwischen. Und es ist auch am dritten Wert der ersten Spalte erkennbar. Darum Klicken Sie im rechten, oberen Viertel auf Weitere…
Das ist die Vorgabe, wie sie normalerweise eingestellt ist. Dezimaltrennzeichen ist das Komma, das 1000er-Trennzeichen ist der Punkt. Dieses ist aber falsch, denn die zu importierenden Daten sind ja im US-Format, also genau umgekehrt. Ändern Sie die Einstellungen entsprechend, dann sieht das so aus:
Jetzt OK und dann auf Fertig stellen. Das Ergebnis ist so, wie es sein soll:
Das funktioniert so mit allen Excel-Versionen, wenn auch vielleicht mit unterschiedlichem Aussehen der Fenster.
Prinzipiell sollte es auch mit anderen Text-Formaten so gehen, aber weit gefehlt. Das bekannteste und am meisten verwendete Format ist das csv-Format: Comma Separated Values, also mit einem Komma getrennte Werte. Solch eine Datei finden Sie hier oder hier als gepackte Datei. Bitte auch gleich lokal speichern. Dieses File hat auch noch die Besonderheit, dass die 1000er-Trennzeichen mit enthalten sind. Auch in diesem Fall beginnen Sie mit dem Copy | Paste-Verfahren:
… und das Bild kommt Ihnen in großen Teilen gewiss von vorherigen Versuchen bekannt vor. Mit einer kleinen Ausnahme: Sie erkennen in E4 eine kleine Schaltfläche mit einem DropDown-Pfeil. Ich habe schon einmal darauf geklickt und den entscheidenden Punkt markiert. Über diesen Assistenten können Sie auf dem gleichen Wege wie vorher bereits beschrieben die teilweise „verhunzten” Zahlen in die gewünschte Darstellung umwandeln. Diese Vorgehen funktioniert so zumindest ab Version 2003, frühere Versionen kann ich nicht überprüfen, wahrscheinlich ist das Vorgehen da aber ähnlich.
Wenn die *.csv-Datei auch die 1000er-Trennzeichen enthält, dann ist dieses die beste Methode. Alternativ wäre noch ein VBA-Programm einzusetzen.
Normalerweise sind aber in derartigen Dateien nur die reinen Zahlen ohne 1000er-Trenner enthalten. Dann geht das auch sehr gut über das ganz normale Öffnen der Datei. Anfangs wird jede Zeile komplett mit alle Tabs in die Spalte A geschrieben, aber über die Funktionalität Text in Spalten kommen Sie auch rasch zum Ziel. Eine Musterdatei finden Sie hier als *.csv und hier als *.zip. Auch die sollten Sie selbstredend vor dem Erproben auf der eigenen Festpaltte speichern.
Zugegeben, es gibt noch einige andere Möglichkeiten. Insbesondere erwähnen will ich die Möglichkeit, die Landes-Einstellungen des Betriebssystems (Windows) für den Import auf Englisch (USA) zu setzen und nach dem Import der Daten wieder auf Deutschland. Aber den Weg sollten Sie alleine erproben und auf eigenes Risiko gehen. Passieren kann zwar nichts, außer dass Sie vergessen, die Landes-Einstellungen zurück zu setzen und sich dann über das „eigenartige” Verhalten von allen denkbaren Programmen wundern.
In den Versionen ab Excel 2007 gibt es noch eine weitere Möglichkeit, die ich Ihnen weder verschweigen noch unbedingt ans Herz legen will. Im Menü Daten finden Sie die Möglichkeit, über die Schaltfläche Externe Daten abrufen Daten zu importieren.
Sie gelangen auf diesem Wege direkt in den Import-Assistenten und können dort alle Einstellungen wie beschrieben vornehmen. Warum dann aber die Einschränkung, dass ich Ihnen diesen Weg nicht unbedingt ans Herz legen will?
Nun ja, die Daten werden hier nicht nur „einfach” importiert sondern auch mit der Quelldatei verknüpft. Immer, wenn Sie diese Excel-Mappe öffnen, wird dann erst einmal nach der *.txt oder *.csv, … gesucht und die Daten werden neu in das Blatt geschrieben. Das kostet nicht nur Zeit sondern ist auch riskant, wenn sich die Ursprungsdatei einmal nicht mehr an dem Platz befindet, den Excel sich gemerkt hat.
Wann Sie allerdings tagtäglich eine Datei mit dem gleichen Namen aber aktualisierten Daten bekommen, dann ist dieser Weg gewiss der bessere. Dazu sollten Sie aber genügend Erfahrung mit dieser Art des Vorgehens sammeln.