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

22

Excel konvertiert den Wert 0503E000 nach 5.03E + 02 in einer beliebigen Zelle automatisch in CSV. Ich habe versucht, ihn in Textnummer und Allgemein umzuwandeln, aber nachdem ich ihn gespeichert und wieder geöffnet habe, geht er zurück zu 5.03E + 02

Wie kann ich das verhindern?

CrashOverride
quelle
Ändere einfach die Spaltenbreite und es sollte normal angezeigt werden
Scorpion99
Haben Sie versucht, die Zelle als Text zu formatieren, bevor Sie den Text eingegeben haben?
CharlieRB,
versucht, die
Größe zu ändern
Wenn Sie den Wert als Hexadezimalzahl verwenden müssen (dh Sie können ihn nicht als Textzeichenfolge verwenden), können Sie die ursprüngliche Nummer verschachteln DEC2HEXund HEX2DECZeichenfolgen hinzufügen (z. B. =DEC2HEX(HEX2DEC("0503E000"))für Ihr Beispiel). Es kann nicht hilfreich sein, wenn Sie die CSV-Datei bearbeiten müssen, ohne dass sie Formeln enthält, aber es ist eine andere Option neben der Formatierung als Text.
Myles

Antworten:

16

Ich denke, das Hauptproblem hierbei ist, dass Sie eine CSV verwenden, in die der Zelltyp nicht eingebettet ist. Excel versucht automatisch, die Zelle so zu interpretieren, dass sie eine wissenschaftliche Nummer hat, weshalb Sie 5.03E + 02 anstelle von 0503E000 sehen .

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

Jason Hutchinson
quelle
Ja, es funktioniert in Workbook, aber leider müssen wir CSV für diesen Zweck verwenden ... schade
CrashOverride
Verwenden Sie also nicht Excel, um den Inhalt anzuzeigen oder ein Makro für die Zelle auszuführen, um ihn zurück zu konvertieren, oder verwenden Sie eine leicht abweichende Syntax, wenn Sie 0x vor dem Wert verwendet haben, von dem ich glaube, dass er nicht konvertiert werden würde
Ramhound
Ich denke, wir müssen das vielleicht aufgeben ... denn wenn wir es in einem anderen Editor wie Notepad oder Notepad ++ öffnen, hat es den korrekten Wert ... also denke ich, dass cell den korrekten Wert hat, der es nur seltsam in wissenschaftlicher Notation anzeigt ....
CrashOverride
26

Wenn Sie das CSV-Format konvertieren oder steuern können, können Sie erzwingen, dass eine Spalte in Excel als Text analysiert wird, indem Sie sie in doppelte Anführungszeichen setzen und ein Gleichheitszeichen voranstellen.

In Excel wird die Genauigkeit in diesem Format nachlässig verworfen:

Value,0503E000,1234123412341234

Oder auch dieses Format:

Value,"0503E000","1234123412341234"

Konvertieren in:

Value  |  5.03E+02  |  1234123412341230

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

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

… Was sich öffnet als:

Value  |  0503E000  |  1234123412341234
Brianary
quelle
1
Tolle Lösung beim Einfügen von SQL
SeaSprite
1
Auch eine gute Lösung, wenn Sie Daten über "Externe Daten abrufen" im Menü "Daten" von Excel importieren.
Mohsen Abasi
1
Großartige Lösung. Der einzige (kleine) Nachteil ist, dass Sie am Ende Formeln anstelle von Werten haben. Kopieren Sie also einfach alles und fügen Sie dann Werte ein , was zu einer etwas kleineren Excel-Datei führt.
Stef
9

Statt Öffnen „die CSV - Datei in Excel ing, wählt Import die Datei (in Excel 2007-2010 würden Sie an die Data - Band / Externe Daten / From Text navigieren). Nicht sicher 2013 , aber es sollte etwas ähnliches sein. Wenn 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.

Ron Rosenfeld
quelle
1
Dies. Ich öffne fast nie CSV-Dateien direkt.
Pepoluan
@pepoluan Ich verstehe nicht, was du geschrieben hast.
Ron Rosenfeld
Welchen Teil genau verstehst du nicht?
Pepoluan
4
@ pepoluan Danke. Hätte ich verstanden this, wäre der Rest klar gewesen. Ich schätze, ich werde alt :-(
Ron Rosenfeld
1
Ich hatte die Hoffnung, dass "dies" als vollständiger Satz einen schnellen Tod bedeuten würde, aber 4 Jahre später ist es so stark wie immer.
Variante
2

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. Das Apostroph wird nicht in die Zelle eingegeben:

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

In der Zelle 'b1' wird 84074496 angezeigt.

HardScale
quelle
2
Dies funktioniert bei der Eingabe direkt in Excel, jedoch nicht mit CSV-Datei.
SBF
Beim Öffnen einer CSV-Datei wird das Apostroph tatsächlich in die Zelle eingegeben
Stef
0

Versuchen Sie, die Datei (aus der DB-Tabelle abgerufene Daten) über die Option DATA in MS Excel zu laden. Wählen Sie dann beim Laden einfach unter "Datentyperkennung" die Option "Datentypen nicht erkennen" aus und laden Sie sie. Dadurch wird das Datenformat beibehalten und Lasten Excel, keine Spaltenkonvertierungen erforderlich.

Swapna nune
quelle
0

Fügen Sie die Daten in eine Google-Tabelle ein. Wählen Sie die Spalte ==> Format ==> Zahl => Benutzerdefiniertes Format => Geben Sie die Anzahl der Stellen ein, für die das Format erstellt werden soll (Beispiel: 10 Stellen = 0000000000).

Kiran
quelle
Ich würde dir gerne eine bessere Bearbeitung vorschlagen , da musst du noch ein paar Beispiele hinzufügen !!
Rajesh S
-1

Bei der Standard-Zellenformatierung werden Zahlen mit einer Null vor und langen Zahlen automatisch von Excel geändert. Wenn Sie beispielsweise 012 eingeben, wird dies in 12 geändert.

Wenn Sie die Zellen als Text formatieren , bleibt jede Zahl, die Sie in die Zelle eingeben, unverändert und wird von Excel nicht 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 eine beliebige Formatierung vorhanden ist, ändert sich die Formatierung der Zelle von Text in Allgemein , und die Zahlenmanipulation wird wiederhergestellt.

Die Lösung, die ich gefunden habe, war, ein Paste Special zu machen und die Zahl als Text einzufügen . Dann bleibt die Zelle mit ihrer Text - Formatierung, und die Zahl wird nicht modifiziert.

Shmuel Wolfson
quelle