Wie kann ich verhindern, dass Excel den Wert 0503E000 in 5,03E + 02 automatisch konvertiert?

90432
CrashOverride

Excel konvertiert den Wert 0503E000 in 5,03E + 02 in jeder Zelle automatisch in CSV. Ich habe versucht, es in eine Textnummer und ein allgemeines Element zu konvertieren. Nachdem ich es jedoch gespeichert und wieder geöffnet habe, geht es auf 5.03E + 02 zurück

Wie kann ich das verhindern?

16
Ändern Sie einfach die Spaltenbreite und es sollte normal angezeigt werden Scorpion99 vor 9 Jahren 0
Haben Sie versucht, die Zelle als Text * zu formatieren, * bevor Sie den Text eingeben? CharlieRB vor 9 Jahren 0
bemühte sich die Größenänderung und Formatierung als Text schon nicht ... CrashOverride vor 9 Jahren 0
Wenn Sie den Wert als Hexadezimalzahl verwenden müssen (dh Sie können ihn nicht als Textzeichenfolge verwenden), können Sie die Zeichenfolgen DEC2HEX und HEX2DEC für die ursprüngliche Zahl verschachteln (z. B. `= DEC2HEX (HEX2DEC (" 0503E000 ") "))` für Ihr Beispiel). Es kann nicht hilfreich sein, wenn Sie die CSV-Datei ohne Formeln bearbeiten müssen. Dies ist jedoch eine andere Option als die Formatierung als Text. Myles vor 6 Jahren 0

5 Antworten auf die Frage

17
brianary

Wenn Sie das CSV-Format konvertieren oder steuern können, können Sie das Parsen einer Spalte als Text in Excel erzwingen, indem Sie doppelte Anführungszeichen verwenden und ein Gleichheitszeichen voranstellen.

Excel verwirft die Genauigkeit in diesem Format achtlos:

Value,0503E000,1234123412341234 

Oder sogar dieses Format:

Value,"0503E000","1234123412341234" 

Umwandlung in:

Value | 5.03E+02 | 1234123412341230 

Das Hinzufügen des Gleichheitszeichens zwingt Excel jedoch dazu, Ihre Daten widerwillig zu bewahren:

Value,="0503E000",="1234123412341234" 

… Die sich öffnet als:

Value | 0503E000 | 1234123412341234 
Tolle Lösung beim Einfügen aus SQL SeaSprite vor 6 Jahren 1
Auch eine gute Lösung, wenn Sie Daten über "Externe Daten importieren" im "Daten" -Menü von Excel importieren. Mohsen Abasi vor 5 Jahren 1
11
Jason Hutchinson

Ich denke, das Hauptproblem hier ist, dass Sie eine CSV verwenden, in der der Zelltyp nicht eingebettet ist. Excel versucht automatisch, die Zelle mit einer wissenschaftlichen Nummer zu interpretieren, weshalb 5.03E + 02 anstelle von 0503E000 angezeigt wird .

Erstellen Sie eine Excel-Arbeitsmappe, formatieren Sie alle Zellen als Text und fügen Sie sie in die Daten ein. Ich habe es in Excel 2013 ausprobiert und es hat funktioniert.

Ja, es funktioniert in der Arbeitsmappe, aber leider müssen wir CSV für diesen Zweck verwenden ... schade CrashOverride vor 9 Jahren 0
Verwenden Sie daher nicht Excel, um den Inhalt anzuzeigen, oder führen Sie ein Makro in der Zelle aus, um es zurück zu konvertieren, oder verwenden Sie eine etwas andere Syntax, wenn Sie vor dem Wert, den ich nicht glaube, es konvertieren würde, 0x verwenden Ramhound vor 9 Jahren 0
Ich denke, wir müssen das vielleicht ablegen ... denn wenn wir es in einem anderen Editor wie Notepad oder Notepad ++ öffnen, hat es den korrekten Wert ... also denke ich, dass cell den richtigen Wert hat, der nur seltsam in wissenschaftlicher Notation angezeigt wird .... CrashOverride vor 9 Jahren 0
8
Ron Rosenfeld

Anstatt die CSV-Datei in Excel zu öffnen, wählen Sie Importieren der Datei (in Excel 2007-2010 navigieren Sie zum Daten-Menüband / Externe Daten abrufen / Aus Text). Nicht sicher über 2013, aber es sollte etwas ähnliches geben Wenn Sie dies tun, wird der Textimport-Assistent geöffnet und bietet Ihnen die Möglichkeit, die Spalte, die diesen Wert enthält, als Text zu formatieren, bevor Excel ihn (nicht so hilfreich) in einen numerischen Wert ändert.

Diese. Ich öffne CSV-Dateien fast nie direkt. pepoluan vor 9 Jahren 1
@pepoluan Ich verstehe nicht, was du geschrieben hast. Ron Rosenfeld vor 9 Jahren 0
Welchen Teil genau verstehen Sie nicht? pepoluan vor 9 Jahren 0
@pepoluan. Die Relevanz dessen, was Sie zu meiner Antwort geschrieben haben. Ron Rosenfeld vor 9 Jahren 0
Ich schrieb "This", was bedeutete, dass ich Ihrer Antwort zustimme. Dann schrieb ich "Ich öffne niemals CSV-Dateien direkt" und beziehe mich auf Ihre Erklärung zur Verwendung von "Importieren" anstelle von "Öffnen". pepoluan vor 9 Jahren 0
@pepoluan Danke. Hätte ich "das" verstanden, wäre der Rest klar gewesen. Ich denke, ich werde alt :-( Ron Rosenfeld vor 9 Jahren 4
Ich hatte die Hoffnung, dass die Verwendung von "this" als kompletter Satz einen schnellen Tod bedeuten würde, aber 4 Jahre später ist es so stark wie nie zuvor. variant vor 5 Jahren 0
2
HardScale

Starten Sie die Zelle mit einem Apostroph, um die Textinterpretation zu erzwingen:

'0502E000 

Grundsätzlich weist dies Excel an, das Feld nicht als Zahl zu analysieren. Da das Feld ein 'E' enthält, sieht es für Excel wie eine Zahl aus. Der Apostroph wird nicht wirklich in die Zelle eingegeben:

[a1] '0502E000 [b1] =hex2dec(a1) 

Zelle 'b1' zeigt 84074496 an.

Dies funktioniert bei der Eingabe direkt in Excel, jedoch nicht bei CSV-Dateien. SBF vor 6 Jahren 1
-1
Shmuel Wolfson

Bei der Standardformatierung von Zellen werden Zahlen mit einer Null vor und lange Zahlen automatisch von Excel geändert. Wenn Sie beispielsweise 012 eingeben, wird der Wert in 12 geändert.

Wenn Sie die Zellen als Text formatieren, bleibt jede Zahl, die Sie in die Zelle eingeben, unverändert und wird nicht von Excel geändert.

Wenn Sie jedoch eine Zahl aus einer anderen Quelle in eine Zelle einfügen, die als Text formatiert ist, und in der Quelle irgendeine Art von Formatierung vorhanden ist, ändert sich die Formatierung der Zelle von Text in Allgemein, und die Zahlenmanipulation wird wieder angezeigt.

Die Lösung, die ich fand, bestand darin, ein Einfügen-Spezial zu erstellen und die Nummer als Text einzufügen . Dann bleibt die Zelle mit ihrer Text - Formatierung, und die Zahl wird nicht modifiziert.