2012-04-16 20:39:25 +0000 2012-04-16 20:39:25 +0000
121
121

Waarom behandelt Excel lange numerieke strings als wetenschappelijke notatie, zelfs na het veranderen van het celformaat in tekst

probeer ik wat gegevens in Excel te verwerken. De gegevens omvatten numerieke rekeningnummers en andere lange numerieke strings (zoals mobiele telefoon MEID’s). Ik doe geen wiskundige bewerkingen op deze tekenreeksen, dus ik wil dat Excel ze als platte tekst behandelt.

Hier is wat me gek maakt (dit is Excel 2010):

  1. Neem een lang getal zoals 1240800388917 en plak het in een cel in een nieuw werkblad.
  2. Het standaard celformaat van Excel is algemeen, dus de string wordt in wetenschappelijke notatie gepresenteerd als 1.2408E+12
    1. Klik met de rechtermuisknop op de cel, selecteer Formaat cellen, stel het formaat in op Tekst
  3. De cel wordt nog steeds weergegeven in wetenschappelijke notatie, ook al is het formaat op tekst ingesteld.

  4. Nu, als ik de stappen in een andere volgorde doe:

    1. Formatteer een lege cel als tekst. Klik met de rechtermuisknop op de cel, selecteer Cellen formatteren, stel de opmaak in op Tekst
  5. Neem een lang getal zoals 1240800388917 en plak het in de tekst geformatteerde cel

Nu wordt de cel weergegeven als een string en niet in wetenschappelijke notatie.

De resultaten blijven in wetenschappelijke notatie ook al is de cel geformatteerd als tekst lijkt me gewoon gebroken. Ik heb gesuggereerde werk-arounds gezien zoals: gebruik CSV import en stel het formaat in op tekst, voeg een spatie toe aan het begin van elke numerieke string, en andere.

Is er een eenvoudig goed werkje om deze strings gemakkelijk geformatteerd te houden als tekst?

Waarom doet Excel dit in hemelsnaam?

Gerelateerde SU vragen vond ik Hoe kun je Excel 2007 laten stoppen met het formatteren van grote getallen als wetenschappelijke notatie? en Wordt dit Excel-gedrag met een groot zescijferig getal verwacht?

Antwoorden (13)

171
171
171
2014-07-23 10:53:47 +0000

Dit werkte voor mij in Excel 2010. Selecteer gewoon de kolom, klik met de rechtermuisknop, Formatteer cellen, Aangepast en kies de optie die zegt 0 (tweede optie onder Algemeen).

23
23
23
2012-04-16 23:45:51 +0000

Ah, herinneringen aan gegevens die terugkomen uit de tijd dat ik een aantal enorme aantal kruiscontroles deed in Excel (nooit meer). Wanneer je in lange getallenreeksen in Excel slaat, probeer dan bijvoorbeeld 12345678901234567890 (20 cijfers), Excel zal het over het algemeen converteren voor je, wat betekent dat het 20-cijferige getal dat je net hebt getikt is teruggebracht tot slechts een vijftiental significante cijfers.

Let ook op: de conversie is een afkorting, in tegenstelling tot afronden. (12345678901234567890 is 1,2345678901234 6 E+19, maar excel laat u 1,2345678901234 5 E+19 zien)

Dit gebeurt op het punt van invoer, dus als het eenmaal binnen is, gaat elk extra detail verloren, en dus zelfs als u Excel vertelt dat u echt bedoelde dat het om tekst ging, en niet om een getal, hebt u een beetje pech, en dus waarom uw eerste reeks niet werkt.

13
13
13
2012-09-28 16:44:58 +0000

Ik vond dat in Office 2010, als je de kolom eerst formatteert, en dan in de gegevens plakt, het zal de grote getallen correct weergeven.

13
13
13
2012-04-16 21:01:00 +0000

Een enkele apostrof ‘ voor een nummer zal Excel dwingen om een nummer als tekst te behandelen (inclusief een standaard linker uitlijning). En als je fouten hebt gemarkeerd, zal het worden weergegeven als een nummer dat is opgeslagen als tekstfout op de cel.

12
12
12
2013-07-05 07:44:11 +0000

Probeer dit eens… dit werkt voor mij, Excel 2013.

=""&a1

waar a1 de numerieke waarde heeft. Kopieer daarna de kolom en plak deze in de originele kolom.

6
6
6
2016-11-03 17:38:40 +0000

Ik ben me bewust van de leeftijd van de vraag, maar dit is degene die ik heb geland na google-zoeken en die mijn vraag niet heeft beantwoord (waarom opmaak als tekst niet werkt en waarom nummer wordt teruggebracht tot 15 cijfers na opmaak naar tekst).

Kort antwoord is: je kunt niet werken op je nummer zoals je wilt nadat je de numerieke waarde hebt ingevoerd en Enter hebt aangetikt. Op het moment dat u dat doet wordt het nummer ingekort tot 15 cijfers en gepresenteerd als exponentieel.

Dit is geen fout, het is een functie.

Alles wat u daarna doet zal de ingekorte waarde gebruiken, dus geen opmaak trucje zal helpen. U kunt echter de optie Text to columns gebruiken om de exponentiële notatie om te zetten naar tekst (Klik op de kolomkop, klik op Text to data, dan op Delimited, Next, Text, schakel alle begrenzingsvakjes uit, selecteer Column data format in Finish en dan op csv) om de waarden om te zetten naar tekst en direct weer te geven als 15-cijferig getal. Maar, het zullen slechts 15 cijfers zijn, dus als u een langer getal had, gaat de rest verloren.

Om het getal in de spreadsheet nauwkeurig te hebben zoals u het heeft getypt, moet u het als tekst opslaan. Je moet het dus voorafgaan met apostrofen of cellen opmaken als tekst voor de waarden die je er in typt/kopieert. Als het “soms niet werkt”, dan, sorry, doe je of iets verkeerds of je hebt een soort van autocorrectie op (als je apostrof en een groot aantal cijfers gebruikt behandelt Excel het als een verkeerde waarde en markeert het cel met een waarschuwingsboodschap, dus deze opmerking is niet persoonlijk noch kritisch).

Andere manier om het in bulk te doen is het importeren van waarden uit een tekstbestand. Ik durf te zeggen dat dit de enige manier is voor de meeste situaties. En zorg ervoor dat je het bestand importeert, niet alleen maar opent, want Excel behandelt &007 als het native formaat en trimt grote getallen als vanzelfsprekend tot 15 cijfers.

Nu, tot het laatste punt. Als u een grote numerieke waarde invoert in Excel cel geformatteerd als tekst zal het nog steeds worden weergegeven in wetenschappelijke notatie zolang de cel niet breed genoeg is. Het is vervelend, maar bijwerking van sommige interne Excel-algoritmen. Maak de cel gewoon breder en je ziet elke keer de volledige waarde.

5
5
5
2014-07-02 15:02:30 +0000

Dit kan worden toegepast nadat je de gegevens in de kolom hebt geplakt, maar je moet het wel doen voordat je de spreadsheet opslaat.

Ik werk veel met barcodes (UPC’s) en excel zal ze standaard opmaken als wetenschappelijke notatie. Ik word er gek van! Waarom dit geen optie is zal ik nooit weten.

3
3
3
2013-08-14 22:15:18 +0000

Excel 2010: Dit werkt één kolom per keer en helemaal niet op een rij. Selecteer de kolom of subset van een kolom, selecteer op het tabblad Data “Tekst naar Kolommen”, en spring rechts naar “Voltooien”. Geen wetenschappelijke notatie meer.

Ik ben het eens met de vele Excel gebruikers, het is crimineel dat er geen optie is om wetenschappelijke notatie te voorkomen!

1
1
1
2018-02-28 21:47:55 +0000

Excel is frustrerend voor CSV/bulk data werk als dit. Werk met LibreOffice als het mogelijk is, het doet dit niet, dat wil zeggen, als u hetzelfde blad (.xlsx) opent in Libreoffice, worden de grote ‘getallen’ die eigenlijk strings zijn niet weergegeven in de wetenschappelijke notatie (wat een absurde beslissing is van Excel). De bestandsgetrouwheid van LibreOffice is geweldig: open dezelfde .xlsx opnieuw in Excel, en de wetenschappelijke notatie “werkt” meteen zoals gewoonlijk.

1
1
1
2015-10-21 19:48:37 +0000

In Excel 2013 gebeurde hetzelfde met mij en ik ging gewoon naar Format Cells -> Nummer zorgde er toen voor dat de decimaal op “0” stond.

0
0
0
2013-09-27 18:39:24 +0000
    1. Kopieer/plak probleemveld in nieuw blad in kolom A
    1. Kopiëren/plakken van kolom A naar tekstbestand
    1. Formatteer Kolom B naar tekst en plak tekstbestand in Kolom B
  1. In Kolom C:

  2. Zet Kolom C om in een getalsformaat zonder decimalen

    1. Kopiëren/plakken van kolom C in tekstbestand
  3. Formatteren van kolom D in tekst en plakken van tekstbestand naar kolom D

  4. In kolom E:

  5. In kolom E:

  6. In kolom B:

  7. Kopiëren/plakken Kolom E in notitieblok

  8. Verwijderen van gegevens in probleemveld en formatteren van kolom naar tekst

  9. In Kolom E:

  10. In Kolom E:

  11. Kopiëren/plakken van gegevens uit tekstbestand naar probleemveld

0
0
0
2014-01-28 22:58:15 +0000

Dit werkte voor mij in Excel 2013, inclusief het kopiëren van de cellen naar andere programma’s. Het filteren van de gegevens hielp, vooral voor de bewerkingsstappen.

  1. 2. Selecteer de gewenste cel(s).
    1. Pas het getalformaat “Tekst” toe. (Probeer Alt, H, N, dan “Tekst”.)
  2. Selecteer voor elk van de gewenste cellen:

  3. Pas het getalsformaat toe. 1. Ga naar de bewerkingsmodus. (Probeer F2.)

    1. Bevestig uw bewerking met Enter (goed voor kolommen) of Tab (goed voor rijen). Verander de inhoud niet.

Uw nummer zal normaal verschijnen, zelfs bij 100 cijfers. =)

0
0
0
2012-04-17 05:40:42 +0000

Selecteer alle cellen - of, om het gemakkelijk te maken, selecteer de hele spreadsheet en klik op Opmaak cellen, dan op Tekst.

Automatisch zal uw hele spreadsheet tekst gebruiken. U hoeft het niet cel voor cel te doen.