Warum behandelt Excel lange numerische Zeichenfolgen auch nach dem Ändern des Zellenformats in Text als wissenschaftliche Notation?

118

Ich versuche, einige Daten in Excel zu verarbeiten. Die Daten umfassen numerische Kontonummern und andere lange numerische Zeichenfolgen (wie z. B. MEIDs von Mobiltelefonen). Ich führe keine mathematischen Operationen mit diesen Zeichenfolgen aus, daher möchte ich, dass Excel sie als einfachen Text behandelt.

Folgendes macht mich verrückt (dies ist Excel 2010):

  1. Nehmen Sie eine lange Zahl wie 1240800388917 und fügen Sie sie in eine Zelle eines neuen Arbeitsblatts ein.
  2. Das Standard-Zellenformat von Excel ist allgemein, daher wird die Zeichenfolge in wissenschaftlicher Notation als 1.2408E + 12 dargestellt
  3. Klicken Sie mit der rechten Maustaste auf die Zelle, wählen Sie Zellen formatieren und stellen Sie das Format auf Text ein

Die Zelle wird weiterhin in wissenschaftlicher Notation angezeigt, obwohl das Format auf Text festgelegt wurde.

Nun, wenn ich die Schritte in einer anderen Reihenfolge mache:

  1. Formatieren Sie eine leere Zelle als Text. Klicken Sie mit der rechten Maustaste auf die Zelle, wählen Sie Zellen formatieren und stellen Sie das Format auf Text ein
  2. Nehmen Sie eine lange Zahl wie 1240800388917 und fügen Sie sie in die textformatierte Zelle ein

Jetzt wird die Zelle als Zeichenfolge und nicht in wissenschaftlicher Notation angezeigt.

Die Ergebnisse, die in der wissenschaftlichen Notation verbleiben, obwohl die Zelle als Text formatiert ist, scheinen mir nur gebrochen zu sein. Ich habe Lösungsvorschläge wie den folgenden gesehen: Verwenden Sie den CSV-Import und stellen Sie das Format auf Text ein, fügen Sie am Anfang jeder numerischen Zeichenfolge ein Leerzeichen ein und andere.

Gibt es eine einfache gute Lösung, um diese Zeichenfolgen einfach als Text formatiert zu halten?

Warum um alles in der Welt macht Excel das?

Zugehörige SU-Fragen, die ich gefunden habe: Wie kann Excel 2007 dazu gebracht werden, große Zahlen nicht mehr als wissenschaftliche Notation zu formatieren? und Wird dieses Excel-Verhalten mit einer großen Hex-Zahl erwartet?

Michael Levy
quelle
Die lange Nummer 1240800388917wird aus einer anderen Zelle kopiert? Oder einfach nur Text, wie aus dem Editor?
Wilson

Antworten:

24

Ah, Erinnerungen an Daten, die aus der Zeit stammen, als ich in Excel eine massive Nummernüberprüfung durchführte (nie wieder). Wenn Sie lange numerische Zeichenfolgen in Excel eingeben, sagen Sie beispielsweise 12345678901234567890 (20 Ziffern), wird Excel diese im Allgemeinen für Sie konvertieren Dies bedeutet, dass die 20-stellige Zahl, die Sie gerade eingegeben haben, auf nur noch etwa fünfzehn signifikante Stellen reduziert wurde.

Beachten Sie auch: Die Konvertierung ist eine Kürzung im Gegensatz zur Rundung. (12345678901234567890 ist 1.2345678901234 6 E + 19, aber Excel zeigt Ihnen 1.2345678901234 5 E + 19)

Dies geschieht am Einstiegspunkt. Sobald es eingegangen ist, gehen alle zusätzlichen Details verloren. Selbst wenn Sie Excel mitteilen, dass es sich wirklich um Text und nicht um eine Zahl handelt, haben Sie Pech, und deshalb Ihre erste Sequenz funktioniert nicht.

Tanantish
quelle
1
Ja, ich sehe dieses Verhalten, wenn meine numerische Zeichenfolge mehr als 15 signifikante Stellen aufweist. 12345678901234567890 wird zu 1,23456789012345E + 19, wie Sie sagen. Wenn ich auf die Zelle klicke, wird im Bearbeitungsfeld die Zeichenfolge als 12345678901234500000 abgeschnitten und mit Nullen aufgefüllt angezeigt. Seltsam ist, dass dies auch für Zahlen gilt, die die 15-stellige Obergrenze von Excel nicht überschreiten. Wenn ich 12345678901234 einfüge, wird es als 1.23457E + 13 angezeigt, aber wenn ich darauf klicke, zeigt das Bearbeitungsfeld immer noch die ursprüngliche Zeichenfolge. Seltsam ist, wenn ich diese Zelle in Text formatiere, sie wird immer noch in wissenschaftlicher Notation angezeigt. Nervig.
Michael Levy
7
Das ist eigentlich eine kleine Anzeigespitze - wenn Sie das Format von "Allgemein" auf "Text" einstellen, wird es nicht sofort als Originalzeichenfolge angezeigt, aber wenn Sie die Daten bearbeiten (wie in), klicken Sie einfach in den Bearbeitungsbereich und dann auf "Heraus" ) Es wird aktualisiert, um genau das zu sein, was Sie
eingegeben haben
11
Schneller Hack: Legen Sie die Formatierung für die entsprechenden Spalten fest, kopieren Sie sie in den Editor und anschließend in Excel.
Brian
9
Dies sollte NICHT DIE AKZEPTIERTE ANTWORT sein : siehe die nächste unten.
Javadba
3
Sie haben sich also an das Problem erinnert und es wiederholt. Wie können Sie das Problem beheben?
user3932000
162

In Excel 2010 funktionierte dies für mich. Wählen Sie einfach die Spalte aus, klicken Sie mit der rechten Maustaste auf Zellen formatieren, und wählen Sie die Option "Benutzerdefiniert" mit der Aufschrift "0" (zweite Option unter "Allgemein").

Anonym
quelle
25
Das ist so viel besser als die akzeptierte Antwort "Sie haben Pech"! Ich hatte eine CSV-Datei, die dieses Problem hatte, und die benutzerdefinierte Formatierungslösung funktionierte einwandfrei.
Davidair
4
Muss eine Antwort akzeptiert werden, sollte / könnte sich jemand ändern?
Qwertzman
11
Dies scheint in meinem Test immer noch zu verkürzen. Unter Verwendung von Excel 2013 habe ich Folgendes in eine Zelle 12345678901234567890 eingegeben. Wenn ich die Eingabetaste drücke, wird dies als 1,23457E + 19 angezeigt und der zugrunde liegende Wert wird in 12345678901234500000 geändert, sodass es zu Datenverlust kommt. Dies beantwortet nicht die ursprüngliche Frage.
Michael Levy
1
Hier bin ich ein Jahr später wieder die gleiche Antwort und wünschte, ich könnte es wieder stimmen.
Billynoah
7
Diese Antwort korrigiert die Formatierung, behält jedoch nicht die eingegebenen Daten bei. Deshalb kann ich es nicht als richtige Antwort akzeptieren. Ich habe ein kurzes Video gepostet, um es zu zeigen. Wenn Sie diesen Anweisungen folgen und dann eine lange Ganzzahl wie 12345678901234567890 eingeben, verlieren Sie die Genauigkeit, wenn Sie sie als numerisch behandeln, auch wenn sie in nicht wissenschaftlicher Notation angezeigt wird. Excel behandelt es als den Wert 12345678901234500000. Nur wenn Sie es als Text behandeln, können Sie alle Ziffern verwalten. Siehe youtu.be/7EDcR7TQpYs
Michael Levy
13

Ein Apostroph 'vor einer Zahl zwingt Excel, eine Zahl als Text zu behandeln (einschließlich einer Standard-Linksausrichtung). Und wenn Sie Fehler markiert haben, wird dies als Zahl angezeigt, die als Textfehler in der Zelle gespeichert ist.

dav
quelle
Dies ist nicht immer der Fall. Excel hat meine Daten manchmal sogar mit einem führenden Apostroph mungiert.
Cerin,
3
Cerin, ein fairer Punkt - unterschätzen Sie niemals die Fähigkeit von Excel (oder Microsoft), etwas völlig Unerklärliches oder Wiederholbares zu tun. Der Trick mit dem Apostroph funktioniert jedoch im Allgemeinen wie angegeben.
Dav
1
können Sie dies in loser Schüttung tun? Ich habe Daten mit 60000 Zellen, die ich in Text konvertieren möchte.
Vaibhavcool20
Oder wählen Sie einfach die Formatierung als Text in der rechten
Shayan
13

Ich habe festgestellt, dass in Office 2010, wenn Sie die Spalte zuerst formatieren und dann die Daten einfügen, die großen Zahlen korrekt angezeigt werden.

Machen
quelle
Das liegt wahrscheinlich daran, dass es als Zeichenfolge gespeichert ist. Was passiert, wenn Sie eine andere Zelle zum Beispiel den Inhalt der Zelle multiplizieren lassen?
Peter Mortensen
1
Dies funktioniert in Excel 2016 / Office 365. Ich habe alle Zellen ausgewählt, sie in Text formatiert und dann meine kopierten Daten eingefügt und es wurde nicht mit der lästigen wissenschaftlichen Notation angezeigt. Vielen Dank!
Frezq
Dies funktionierte auch bei mir in Google Sheets ... "Format> Number> 0" vor dem Einfügen in Vals und wurde nicht in wissenschaftliche Notation konvertiert, während auch keine Endwerte verloren gingen (Abrunden von Vals), was zu oft vorkam .
Twknab
12

Versuchen Sie dies ... das funktioniert für mich, Excel 2013.

=""&a1

wobei a1 den numerischen Wert enthält. Kopieren Sie anschließend die Spalte und fügen Sie sie in die ursprüngliche Spalte ein.

Rok
quelle
Dies funktioniert auch in Excel 2010.
Paul G
2
Als ="1240800388917"
Nebenknoten
5

Sie können Zellen wie folgt formatieren: Benutzerdefiniert> #

Dies kann angewendet werden, nachdem Sie die Daten in die Spalte eingefügt haben. Sie müssen dies jedoch tun, bevor Sie die Tabelle speichern.

Ich arbeite viel mit Barcodes (UPCs) und Excel formatiert sie standardmäßig als wissenschaftliche Notation. Macht mich verrückt! Warum dies keine Option ist, werde ich nie erfahren.

Graham
quelle
Dadurch werden die Zahlen jedoch nicht in Text umgewandelt, was später zu Problemen führen kann. Aber gut ...
Joris Meys
5

Ich kenne das Alter der Frage, aber dies ist die, die ich nach der Google-Suche gefunden habe und die meine Frage nicht beantwortet hat (warum das Formatieren als Text nicht funktioniert und warum die Zahl nach dem Format auf 15 Stellen gekürzt wird jemandem eine SMS schicken).

Die kurze Antwort lautet: Sie können Ihre Nummer nicht so bearbeiten, wie Sie es möchten, NACHDEM Sie den numerischen Wert eingegeben und getippt haben Enter. In dem Moment, in dem Sie dies tun, wird die Zahl auf 15 Stellen gekürzt und als exponentiell dargestellt.

Dies ist kein Fehler, es ist eine Funktion.

Alles, was Sie danach tun, verwendet den abgeschnittenen Wert, sodass kein Formatierungstrick hilfreich ist. Sie können jedoch die Text to columnsOption verwenden, um die Exponentialschreibweise in Text umzuwandeln (Klicken Sie auf die Spaltenüberschrift, klicken Sie Text to datadann auf Delimited, Nextdeaktivieren Sie alle Begrenzungsfelder, wählen Sie Textin Column data formatund dann aus Finish), um die Werte in Text umzuwandeln und sofort als 15-stellige Zahl anzuzeigen. Aber es werden nur 15 Stellen sein, wenn Sie also eine längere Nummer hatten, ist die Pause verloren.

Um die Nummer genau so im Arbeitsblatt zu haben , wie Sie sie eingegeben haben, müssen Sie sie als Text speichern. Sie müssen also ein Apostroph voranstellen oder Zellen als Text formatieren, bevor Sie Werte eingeben / kopieren können. Wenn es "manchmal nicht funktioniert", dann tun Sie entweder etwas falsch oder Sie haben eine Art Autokorrektur aktiviert (wenn Sie ein Apostroph und eine große Zahl> 15 Stellen verwenden, behandelt Excel es als falschen Wert und markiert die Zelle mit einer Warnung Daher ist diese Bemerkung weder persönlich noch kritisch.

Eine andere Möglichkeit, dies in großen Mengen zu tun, besteht darin, Werte aus einer Textdatei zu importieren. Ich wage zu sagen, es ist der einzige Weg für die meisten Situationen. Und achten Sie darauf, die Datei zu importieren und nicht nur zu öffnen, da Excel den csvTyp wie das native Format behandelt und große Zahlen selbstverständlich auf 15 Stellen zuschneidet.

Nun zur letzten Ausgabe. Wenn Sie einen großen numerischen Wert in eine als Text formatierte Excel-Zelle eingeben, wird diese weiterhin in wissenschaftlicher Notation angezeigt, solange die Zelle nicht breit genug ist. Es ist ärgerlich, aber Nebeneffekt einiger Excel-interner Algorithmen. Wenn Sie die Zelle nur breiter machen, sehen Sie jedes Mal den vollen Wert.

AcePL
quelle
3

Excel 2010: Dies funktioniert spaltenweise und nicht für eine Zeile. Wählen Sie die Spalte oder Teilmenge einer Spalte aus, wählen Sie auf der Registerkarte "Daten" die Option "Text in Spalten" aus und springen Sie mit der rechten Maustaste zu "Fertig stellen". Keine wissenschaftliche Notation mehr.

Ich stimme den vielen Excel-Benutzern zu, es ist kriminell, dass es keine Möglichkeit gibt, die wissenschaftliche Notation zu verhindern!

gsoClarke
quelle
1
In meinem Excel 2007-Test musste ich Next >zweimal klicken , dann „Text“ auswählen und auf klicken Finish. Sie können dies auf Zeilen anwenden, indem Sie sie transponieren, konvertieren und zurücktransponieren.
Scott
1

In Excel 2013 passierte mir dasselbe und ich ging einfach zu Zellen formatieren -> Zahl und stellte dann sicher, dass die Dezimalstelle auf "0" gesetzt ist.

Christopher Chipps
quelle
1
Ähnlich wie bei der obigen anonymen Antwort, aber die Auswahl von "Zahl" ist in gewisser Weise sinnvoller als die Auswahl von "Benutzerdefiniert". Auf jeden Fall macht es das Gleiche, aber ich mag das besser
billynoah
0

Wählen Sie alle Zellen aus - oder wählen Sie zur Vereinfachung die gesamte Tabelle aus, und klicken Sie auf Zellen formatieren und dann auf Text .

Automatisch verwendet Ihre gesamte Tabelle Text. Sie müssen es nicht Zelle für Zelle tun.

Dima
quelle
Leider funktioniert das nicht. Der Text wird nur in wissenschaftlicher Notation sein, das ist das ganze Problem ...
Joris Meys
0
  1. Kopieren Sie das Problemfeld und fügen Sie es in das neue Blatt in Spalte A ein

  2. Kopieren Sie Spalte A und fügen Sie sie in die Textdatei ein

  3. Formatieren Sie Spalte B in Text und fügen Sie die Textdatei in Spalte B ein

  4. In Spalte C:

    =IF(ISNUMBER(SEARCH("+",B1)),A1,"")
    
  5. Konvertieren Sie Spalte C in ein Zahlenformat ohne Dezimalstellen

  6. Kopieren Sie die Spalte C und fügen Sie sie in die Textdatei ein

  7. Formatieren Sie Spalte D in Text und fügen Sie die Textdatei in Spalte D ein

  8. In Spalte E:

    =IF(IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2))=0,"",IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2)))
    
  9. Kopieren Sie die Spalte E und fügen Sie sie in den Notizblock ein

  10. Löschen Sie die Daten im Problemfeld und formatieren Sie die Spalte in Text

  11. Kopieren / Einfügen von Daten aus der Textdatei in das Problemfeld

DataWizard
quelle
0

Dies funktionierte für mich in Excel 2013, einschließlich des Einfügens der Zellen in andere Programme. Das Filtern der Daten hat geholfen, insbesondere bei den Bearbeitungsschritten.

  1. Wählen Sie die gewünschten Zellen aus.
  2. Wenden Sie das Zahlenformat "Text" an. (Versuchen Sie es mit Alt, H, N und dann mit "Text".)

Dann für jede Ihrer gewünschten Zellen:

  1. Aktivieren Sie den Bearbeitungsmodus. (Versuchen Sie es mit F2.)
  2. Bestätigen Sie Ihre Bearbeitung mit Enter (gut für Spalten) oder Tab (gut für Zeilen). Ändern Sie den Inhalt nicht.

Ihre Nummer wird normal angezeigt, auch bei 100 Stellen. =)

skia.heliou
quelle
Funktioniert nicht für mehrere Zellen (Excel 365)
Albin
0

Excel ist frustrierend für solche CSV / Bulk-Daten. Arbeiten Sie mit LibreOffice, wenn dies möglich ist. Wenn Sie also dasselbe Blatt (.xlsx) in Libreoffice öffnen, werden die großen Zahlen, bei denen es sich tatsächlich um Zeichenfolgen handelt, nicht in wissenschaftlicher Notation angezeigt (was eine absurde Entscheidung ist) von Excel). Die Wiedergabetreue von LibreOffice ist großartig: Öffnen Sie dieselbe XLSX-Datei erneut in Excel, und die wissenschaftliche Notation "funktioniert" sofort wie gewohnt.

Tim Richardson
quelle