![]() |
|
|
|
#1 |
![]() Neuer Benutzer |
Hallo zusammen,
ich habe ein Problem mit dem Import von CSV-Daten in Excel. Wir haben in den csv-Dateien recht lange Rechnungsnummern (z.B. 2907111732008) und übergeben die Dateien EXCEL zum Öffnen. Bei diesen langen "Zahlen" denkt sich EXCEL, es wäre doch viel übersichtlicher, die im Format "WISSENSCHAFT" darzustellen. (2,90711E+12), was wir natürlich anders sehen.. Der Versuch, die Nummern in Anführungszeichen in der CSV-Datei unterzubringen, half leider nichts. Gibt es eine Möglichkeit, EXCEL davon zu überzeugen, auch diese langen Zahlen automatisch (nicht erst durch manuelle Umwandlung des Zellen-Formats) vollständig anzuzeigen? Vielen Dank für Antworten! Hans |
|
|
|
|
|
#2 |
![]() MOF Guru |
Hallo Hans,
ich fürchte da gibt es keine vernünftige Möglichkeit über eine Einstellung oder so. Theoretisch gäbe es natürlich die Möglichkeit, eine Personl.xls zu erzeugen, in der alle Zellen als Text formatiert sind. Diese Formatierung wird ja dann für alle neuen Arbeitsmappen übernommen. Aber das kommt natürlich nicht in Frage, denn in Excel benötigt man fast immer das Standardformat. Und dummerweise kommt auch noch das Problem hinzu, dass Excel diese Werte ab einer bestimmten Ziffernzahl rundet, so dass dann auch noch Informationen verloren gehen, wodurch selbst das nachträgliche Formatieren der Zellen als Text nichts bringt. Um die Daten sicher in ein Excel-Tabellenblatt zu bekommen, muss man sie über den Textkonvertierungsassistenten importieren. Wenn du die Dateiendung von .csv auf .txt änderst, kommst du beim Öffnen automatisch in den Textkonvertierungsassistenten. Dort kannst du für jede Spalte ein individuelles Format vorgeben, bevor die Daten importiert werden. Gruß Ingolf |
|
|
|
|
|
#3 |
![]() Neuer Benutzer |
Hallo Hans,
ich arbeite mit Excel 2007 und importiere die genannten langen Zahlen im Importfilter als Text. Nach dem Import die Zellen als Zahl ohne Nachkommastellen formatieren und schon ist es gelöst. Gruß, Bernd |
|
|
|
|
|
#4 |
|
Threadstarter
![]() Neuer Benutzer |
Hi Ingolf, hi Bernd
das Dumme ist, dass wir über einen automatischen Prozess sprechen: unsere Software wirft als Ergebnis einer Auswertung eine Textdatei aus, wir starten EXCEL und übergeben dabei die Textdatei. (In der Software gibt es einen Button mit der Option: "Export nach EXCEL".) Somit ist nicht vorgesehen (und nicht gewünscht), dass man während dieses Ablaufs manuell eingreift und definieren muss, wie einzelne Spalten formatiert werden sollen. Und im Nachhinein soll mit den meisten Werten auch gerechnet werden können (@ Bernd: dehalb müssten gezielt nur einige Spalten abgegriffen werden. Und: Eleganterweise sollte man auch nicht im Nachgang noch Spalten Umfortmatieren müssen... - ein bisschen viel Wünsche, wie?) ![]() Bislang tauchte das Problem offenbar nicht auf, weil die Auftragsnummern kurz genug waren (ab wann "schaltet" EXCEL eigentlich auf das Wissenschaft-Format??), aber jetzt fiel das Problem erstmals auf... Meine Hoffnung ist/war, dass man dieser Nummer z.B. irgendein Code-Zeichen voranstellen kann, mit dem EXCEL weiß, dass es sich z.B. um Text handeltn und daraufhin nicht die "Wissenschaftliche" Formatierung durchführt... Gruß, Hans Geändert von docbi (11.10.2007 um 16:08 Uhr). |
|
|
|
|
|
#5 |
![]() MOF Guru |
Hallo Hans,
wenn ihr statt die betreffenden Werte in doppelte Anführungszeichen einzuschließen, nur ein einfaches Anführungszeichen voranstellt, klappt es mit der Darstellung. Allerdings bleibt das Anführungszeichen nach dem Datenimport stehen. Man könnte statt dessen auch einen beliebigen Buchstaben voranstellen. Wenn es euch nicht stört, dass das Anführungszeichen stehen bleibt, wäre das eine Möglichkeit. Oder ihr unterteilt die Rechnungsnummer mit Leerzeichen in Blöcke. Ellenlange Rechnungsnummern haben normalerweise ja sowieso eine Systematik mit mehreren unabhängigen Blöcken. Da wäre das noch die bessere Alternative. Gruß Ingolf |
|
|
|
|
|
#6 |
![]() Neuer Benutzer |
Hallo Hans,
bei manueller Eingabe scheint Excel ab 12 Stellen auf das Format "Wissenschaft" umzuschalten. Übrigens ab manueller Eingabe von mehr als 16 Einsen werden die letzten Einsen als Null interpretiert. Kann man vielleicht auch global einstellen. Zu Deinem Problem: Ohne irgendeinen geeigneten Eingriff wird es wohl nicht gelingen, die gewünschte Formatierung zu erhalten. Wenn ich alle von Dir genannten Fakten richtig lese, dann besitzen nach dem Import in Excel die Spalten verschiedene Formatierungen. Wenn immer die gleichen Spalten die gleichen Formate enthalten, dann ließen sich die natürlich mit einem Makro neu formatieren. Wäre das denn zulässig? Gruß, Bernd |
|
|
|
|
|
#7 |
|
Threadstarter
![]() Neuer Benutzer |
Hallo nochmal!
Und Danke fürs Mitdenken! Ich fürchte es wird keine wirklich einfache Lösung geben. Problem ist: nicht wir gestalten die Nummern, sondern unsere Kunden, und die haben eine ganze Reihe von Möglichkeiten für Varianten... Unser Programm bietet halt den "Export nach EXCEL" für einige Auswertungen, und da haben wir weder Möglichkeiten über Makros zu arbeiten noch über eine nachträgliche Formatierung etwas zu reißen... Vieleicht überlegen wir wirklich mal, einen Buchstaben voranzustellen, wenn die Rechnungsnummern nur aus Ziffern besteht, keine Trennzeichen hat UND länger als 11 Zeichen ist... (Und dann beschwert sich bestimmt ein Kunde, wo der Buchstabe denn herkommt )Na ja, immerhin ein Ansatz zum Weiterdenken! Hans |
|
|
|
|
|
#8 |
|
Okay, das ist jetzt schon ewig her, doch vielleicht interessiert jemanden die Lösung:
Bei Feldern, die wie folgt formatiert werden, wird der Inhalt als Text interpretiert: Beispiel: ="5E35";="21943";="ABC"; Dabei interpretiert Excel den Inhalt wohl als Formel und erkennt an den Anführungszeichen, dass es sich um Text handeln soll. Grüße, David Lehmann |
|
|