So verhindern Sie, dass Excel automatisch formatiert wird und funktioniert wie ein Zahlenverarbeitungsprogramm

19

Ich habe ein echtes Problem mit Excel in CSV-Dateien, bei denen Zahlen auf bestimmte Weise formatiert werden, und ich kann nicht scheinen, Excel dazu zu bringen, die Daten richtig anzuzeigen, egal was ich tue.

Stellen Sie sich vor, ich habe eine Spalte namens "Product Reference". In dieser Spalte habe ich viele IDs des Typs:

  • 001145
  • 55666
  • 02133

Jedes Mal, wenn ich die Excel-Datei öffne, werden die folgenden Zahlen formatiert:

  • 1145
  • 55666
  • 2133

Welches ist völlig falsch. Wenn ich die Spalte hervorhebe und sie als Text formatiere, werden die vorherigen Nullen am Anfang der Zahlen nicht zurückgegeben.

In einem Versuch, dieses Problem zu lösen, habe ich die CSV-Datei zunächst in eine Textdatei umgewandelt und diese dann in Excel importiert. Dabei wurde ausdrücklich darauf hingewiesen, die Zahlen nicht zu formatieren, indem sie beim Importieren im Textformat formatiert werden. Beim Schließen werden die Zahlen jedoch immer noch falsch formatiert Öffnen Sie es erneut, da csv keine Typen definieren kann. Excel speichert die Datei daher automatisch als reinen Müll.

Hat jemand einen Ausweg gefunden und könnte mir weiterhelfen?

Vielen Dank,

Sammaye
quelle
Soweit ich weiß, besteht die einzige Möglichkeit, Excel zum originalgetreuen Rendern einer CSV-Datei zu bewegen, darin, sie wie von Ihnen beschrieben als Text zu importieren.
Ausgezeichneter
Sie müssen die CSV-Datei jedoch nicht als Textdatei definieren. Die Funktion Aus Textdatei importieren funktioniert auch für CSV-Dateien. Sie müssen nur angeben, dass Sie Kommatrennzeichen haben.
Ausgezeichneter

Antworten:

19

Sie müssen in der CSV-Datei angeben, dass es sich um Text handelt. Sie tun dies, indem Sie Ihre Nummer in Anführungszeichen setzen und ein Gleichheitszeichen voranstellen, z. B .:

="001145",="55666",="02133"

Der einfachste Weg, dies zu tun, wäre ein Suchen-Ersetzen ,mit ",=", das Ersetzen von Zeilenenden (möglicherweise müssen Sie dafür einen erweiterten Editor wie Notepad ++ verwenden) "\r\n="und das manuelle Ausführen von Anfang und Ende der Datei.

James
quelle
Nizza :) Ich werde es versuchen und berichten
Sammaye
11
  1. Ändern Sie die Dateierweiterung der Datei, mit der Sie Probleme haben, von ".csv" in ".txt".
  2. Öffnen Sie Excel von selbst. Klicken Sie nicht auf die Datei, um sie zu öffnen.
  3. Klicken Sie auf "Öffnen" und ändern Sie die zu suchenden Dateitypen von "Alle Excel-Dateien" in "Alle Dateien".
  4. Suchen Sie Ihre Datei und klicken Sie auf Öffnen. Da Excel txt nicht automatisch formatiert, werden Sie durch den Assistenten geführt.
  5. Stellt sicher, dass das Optionsfeld "Begrenzt" ausgewählt ist. Klicken Sie auf die Schaltfläche "Weiter".
  6. Aktivieren Sie das Kontrollkästchen "Komma" und klicken Sie so lange auf die Schaltfläche "Weiter", bis Sie die Schaltfläche " Fertig stellen" sehen (aber nicht darauf klicken) .
  7. Scrollen Sie durch jede Spalte in der Tabelle, markieren Sie jede Spalte (n), die Sie manuell formatieren möchten, und ändern Sie das Format in "Text".
  8. Klicken Sie auf die Schaltfläche "Fertig stellen".
John
quelle
Dies ist eine gute und problemlose Möglichkeit, das Problem zu lösen.
Jack
Du hast meinen Tag gerettet!
Dinesh YGV
2

Installieren Sie OpenOffice von Oracle und machen Sie dasselbe mit dem CSV-Format von OpenOffice und es funktioniert.

Ich hatte dieses Problem in Windows 7 Pro mit Excel 2010. Früher konnte ich Outlook-Kontakte nach Excel kopieren, als CSV speichern und in Google Mail und Android (die Mobiltelefonnummern mit führenden Nullen und + -Zeichen) importieren.

gabbymonster
quelle
1

Klicken Sie mit der rechten Maustaste auf die Zellen, die Ihre Daten enthalten, und klicken Sie auf den Menüeintrag Zellen formatieren. Ändern Sie dann auf der ersten Registerkarte ("Nummer") die Kategorie von " Allgemein" in " Text" . Dies verhindert, dass Excel diese Zellen automatisch als Zahlen formatiert und somit die führenden Nullen entfernt (die im Kontext der numerischen Analyse bedeutungslos sind, aber im Umgang mit Produkt-IDs sehr bedeutungsvoll sind).

Wenn die Daten importiert und als Zahlen analysiert werden, müssen Sie den Datenimport-Assistenten verwenden und jeden Spaltentyp auf "Text" anstelle von "Allgemein" setzen. Führen Sie dann dasselbe mit den Zellen aus, und speichern Sie dann Ihre Excel-Arbeitsmappe.

Durchbruch
quelle
CSV-Dateien behalten ihre Formatierung nicht bei. Das wird nicht helfen.
Ausgezeichneter
@Excellll offensichtlich ist es nur ein Bündel von kommagetrennten ASCII-Zeichen. Standardmäßig markiert Excel Zellenformate als " Allgemein" und versucht, den Wert (Zahlen, Datumsangaben usw.) so zu interpretieren, dass er mit Formeln verwendet werden kann (dies ist bei normalem Text normalerweise nicht möglich). Sie müssen Excel manuell anweisen, den Wert als Klartext zu interpretieren, damit er nicht automatisch konvertiert wird.
Durchbruch
Ja, es würde funktionieren, wenn Excel die Formatierung von Feldern nicht "automatisch speichert" :( Ich brauche Excel, um wie jeder andere CSV-Öffner / jede andere Programmiersprache zu
funktionieren
Ich habe versucht, Excel Standard zurück, wenn Sie die konvertierte Excel-Datei öffnen. Also importiere ich von TXT nach Excel und sage dort, dass es als Text angezeigt werden soll, schließe die Datei und öffne sie, und Excel verwendet standardmäßig das Zahlenformat für die Felder, die ihren wahren Wert verbergen.
Sammaye
@Breakthrough, sorry, ich habe nicht ausgedrückt, was ich meinte. Wie Sie in Ihrem Kommentar gesagt haben, wendet Excel beim Öffnen einer CSV in Excel die allgemeine Formatierung auf alle Daten an. Zu diesem Zeitpunkt kann der Text (dh führende Nullen), der tatsächlich in der CSV-Datei gespeichert ist, nicht von Excel abgerufen werden. Der Punkt ist, dass es nach dem Öffnen der CSV in Excel zu spät ist, die Formatierung zu ändern.
Ausgezeichneter
1

Klicken Sie auf die Zelle, auf der Sie die führende Null belassen möchten. Klicken Sie anschließend mit der rechten Maustaste auf> Zellen formatieren> Benutzerdefiniert> 0> und geben Sie die Gesamtzahl ein, die in der Zelle enthalten sein muss Anzahl der Nullen, alles, was es zu tun sagt, ist eine Gesamtzahl von 8 in die Zelle, ich habe bereits 1234, so dass es den Unterschied mit 4 weiteren führenden Nullen ausgleichen wird.

Ich benutze dies täglich zum Importieren von Tabellenkalkulationen.

Adam
quelle
0

Um @ Jons Antwort auf diese Frage zu ergänzen, hatte ich eine CSV-Datei mit mehreren Spalten mit führenden Nullen und längeren Zahlen, die beim Import entweder die führende Null verlieren oder die lange Zahl in wissenschaftliche Notation oder beides konvertieren würden.

Die einzige Möglichkeit, die ich beheben konnte, bestand darin, zunächst alle Zellen im leeren Blatt so zu formatieren Text, dass folgende Schritte ausgeführt wurden:

  1. Wählen Sie alle Zellen im Blatt aus:

Bildbeschreibung hier eingeben

  1. Ändern Sie das Format jeder Zelle:

Bildbeschreibung hier eingeben

Nachdem alle Blattzellen formatiert wurden Text, konnte ich die CSV mit den folgenden Schritten importieren:

  1. DataKlicken Sie auf der Registerkarte auf From Text:

Bildbeschreibung hier eingeben

  1. Wählen Sie Ihre .txtoder .csvDatei und klicken Sie aufImport

  2. Wählen Sie Delimitedund klicken Sie auf "Weiter":

Bildbeschreibung hier eingeben

  1. Wählen Sie das entsprechende Trennzeichen aus (ich habe es ausgewählt Comma) und deaktivieren Sie alle anderen, die nicht zutreffen. Klicken Sie dann auf Next:

Bildbeschreibung hier eingeben

  1. Scrollen Sie nach rechts, um die Spalten zu finden, die formatiert werden müssen Text, um führende Nullen beizubehalten und die wissenschaftliche Notation zu verhindern. Klicken Sie auf die Spalte (sie sollte dunkler werden) und wählen Sie sie Textin der Optionsliste aus. Stellen Sie sicher, dass Sie alle Spalten auswählen, die korrekt formatiert werden müssen:

Bildbeschreibung hier eingeben

  1. Klicken Sie dann auf Finish. Wenn Sie zu den Spalten blättern, die Sie formatiert haben, werden alle führenden Nullen beibehalten und lange Zahlenfolgen sind nicht in wissenschaftlicher Notation.

Ich hoffe, das hilft!

Michael
quelle
0

Wenn die Daten mit SQL generiert wurden. Das Anhängen eines Tabulatorzeichens an den Zahlenwert, der nicht gekürzt werden darf, sollte funktionieren.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
Löwe
quelle