Warum verliert eine als Zahl formatierte Excel-Spalte ihre führende Null, wenn die Spalte als Text formatiert ist?

8

Ich muss eine Tabelle in CSV exportieren. Eine der Spalten ist eine Postleitzahl mit Postleitzahlen an der Ostküste, die eine führende Null haben. Wenn ich diese Spalte als Text neu formatiere, in der Hoffnung, die führende Null beim Export beizubehalten, wird die Spalte sofort von rechtsbündig nach linksbündig verschoben und die führende Null verschwindet! Ich würde genau das Gegenteil erwarten, dass es die Null verlieren könnte, wenn es von Text zu Zahl umformatiert wird.

Wie behalte ich diese führende Null bei?

mrblint
quelle

Antworten:

6

Theorie

In Bezug auf Daten in Zellen gibt es in Excel zwei verschiedene Begriffe, die nichts miteinander zu tun haben: Rohwert / gespeicherter Wert und Anzeigewert .

Der "rohe" oder gespeicherte Wert sind die tatsächlichen Daten in einer unformatierten Darstellung. Die Art der Rohdaten kann Nummer, Text, Datum usw. sein.

Der "Anzeige" -Wert gibt an, wie die Daten formatiert werden. Bei Verwendung der Excel-Benutzeroberfläche wird der Anzeigewert und nicht der Rohwert angezeigt.

Das Problem ist, wenn Sie nach CSV exportieren, wird der Rohwert und nicht der Anzeigewert exportiert! Selbst wenn Sie die Daten im Dialogfeld Zellen formatieren so formatieren, dass sie führende Nullen enthalten, enthält der zugrunde liegende Wert keine führende Null.

Sie müssen alle Daten als Text (in der Excel-Tabelle) formatieren und gegebenenfalls eine führende Null hinzufügen . Auf diese Weise wird der Anzeigewert eliminiert, der Sie zu der Annahme verleitet, dass Sie eine führende Null im Rohwert haben (dies ist nicht der Fall).

Lösung

Die Null existiert nicht als Teil des Zelleninhalts, nur der Formatierung. Wenn Sie also als Text formatieren, erhalten Sie sie nicht. Sie können versuchen, eine Formel in der nächsten Spalte zu verwenden, z. B. wenn Sie 5-stellige (?) Postleitzahlen mit Einträgen in A2 haben, setzen Sie diese Formel in B2

=TEXT(A2,"00000")

Kopieren Sie die Formel in die Spalte

Das Ergebnis ist ein Textwert (möglicherweise mit der tatsächlichen führenden Null). Sobald Sie diesen Wert in einer anderen Spalte haben, können Sie "Werte einfügen" über die ursprüngliche Spalte kopieren, um alle zugrunde liegenden Daten durch die mit Nullen aufgefüllten Daten zu ersetzen. Löschen Sie dann die zusätzliche Spalte.

Barry Houdini
quelle
Hallo Barry, ausgezeichnete Antwort, ich habe ein bisschen Hintergrund "Theorie" hinzugefügt, anstatt noch eine weitere Antwort zu
posten
@allquixotic, kein Problem, nette Ergänzungen
Barry Houdini
2

Sie haben Zahlen in den Zellen, keinen Text. Ein numerischer Wert von 02010 entspricht der Zahl 2010. Durch Formatieren als Text wird die normale Textdarstellung von 2010 und nicht von 02010 angezeigt.

Geben Sie die Daten als Zeichenfolge und nicht als Zahl ein, um führende Nullen beizubehalten. Geben Sie beispielsweise = "02010" als Wert ein.

Verwenden Sie ein benutzerdefiniertes Format, um einfach führende Nullen anzuzeigen, vorausgesetzt, alle Zahlen haben dieselbe Länge (z. B. fünf Ziffern). Wählen Sie 0 aus der Liste Benutzerdefiniert und ändern Sie sie in 00000. Alle Zahlen werden als fünf Ziffern mit führenden Nullen angezeigt. Wenn Sie diese Daten jedoch in einer CSV-Datei speichern, sind die führenden Nullen nicht vorhanden. Die einzige Möglichkeit, sie zu behalten, besteht darin, die Daten als Zeichenfolgen einzugeben.

Charles Engelke
quelle
Wir erhalten diese Daten von verschiedenen Drittanbietern. Sieht so aus, als hätten wir kein Glück, da wir den Menschen, die die Daten eingeben, ausgeliefert sind und sie nicht zwingen können, dies auf intelligente Weise zu tun. Ich war überrascht, dass beim Konvertieren in Text die Null entfernt wurde. Diese IMO ist ein Nebeneffekt und keine bloße Zeichenfolgendarstellung des angezeigten Werts, wohingegen ich erwarten würde, dass eine als Zahl formatierte Zelle eine führende Null entfernt.
Mrblint
0

Es ist lange her, dass ich Excel verwendet habe, aber ich habe der führenden Null immer ein 'vorangestellt, und Excel hat sie als Zeichenfolge behandelt, anstatt zu versuchen, sie als Zahl zu interpretieren.

Sander Steffann
quelle