Mengapa Excel memperlakukan string angka panjang sebagai notasi ilmiah bahkan setelah mengubah format sel menjadi teks

118

Saya mencoba memproses beberapa data di Excel. Data termasuk nomor akun numerik dan string numerik panjang lainnya (seperti MEID ponsel). Saya tidak melakukan operasi matematika pada string ini, jadi saya ingin Excel memperlakukannya sebagai teks biasa.

Inilah yang membuat saya gila (ini Excel 2010):

  1. Ambil nomor yang panjang seperti 1240800388917 dan tempel di sel di lembar kerja baru.
  2. Format sel default Excel adalah umum, sehingga string disajikan dalam notasi ilmiah sebagai 1.2408E + 12
  3. Klik kanan pada sel, pilih Format Sel, atur format menjadi Teks

Sel masih ditampilkan dalam notasi ilmiah, meskipun formatnya telah diatur ke teks.

Sekarang, jika saya melakukan langkah-langkah dalam urutan yang berbeda:

  1. Memformat sel kosong sebagai teks. Klik kanan pada sel, pilih Format Sel, atur format menjadi Teks
  2. Ambil nomor yang panjang seperti 1240800388917 dan tempel ke sel berformat teks

Sekarang, sel ditampilkan sebagai string dan bukan dalam notasi ilmiah.

Hasil yang tersisa dalam notasi ilmiah meskipun sel diformat sebagai teks sepertinya rusak bagi saya. Saya telah melihat solusi yang disarankan seperti: gunakan impor CSV dan atur format ke teks, tambahkan karakter spasi ke awal setiap string numerik, dan lainnya.

Apakah ada pekerjaan sederhana yang bagus di sekitar untuk dengan mudah menjaga string ini diformat sebagai teks?

Mengapa Excel melakukan ini?

Pertanyaan SU terkait yang saya temukan: Bagaimana Anda bisa membuat Excel 2007 berhenti memformat angka besar sebagai notasi ilmiah? dan Apakah perilaku Excel ini dengan nomor hex besar diharapkan?

Michael Levy
sumber
Nomor panjang 1240800388917disalin dari sel lain? Atau hanya teks biasa, seperti dari Notepad?
wilson

Jawaban:

24

Ah, ingatan akan data kembali dari ketika saya melakukan sejumlah besar pemeriksaan silang di Excel (tidak pernah lagi) .. Ketika Anda memasukkan string numerik panjang ke Excel, coba katakan, 12345678901234567890 (20 digit), Excel umumnya akan mengubahnya untuk Anda , yang berarti bahwa angka 20 digit yang baru saja Anda ketuk telah dikurangi menjadi hanya sekitar lima belas angka penting.

Perhatikan juga: konversi adalah pemotongan, dan bukan pembulatan. (12345678901234567890 adalah 1.2345678901234 6 E + 19, tetapi excel akan menunjukkan kepada Anda 1.2345678901234 5 E + 19)

Ini terjadi pada titik masuk, jadi setelah masuk, detail tambahan hilang, dan bahkan jika Anda memberi tahu Excel bahwa Anda benar-benar bermaksud teks, dan bukan angka, Anda agak kurang beruntung, dan karenanya mengapa urutan pertama Anda tidak berfungsi.

cokelat
sumber
1
Ya, saya melihat perilaku itu ketika string numerik saya memiliki lebih dari 15 digit signifikan. 12345678901234567890 menjadi 1.23456789012345E + 19 seperti yang Anda katakan. Ketika saya mengklik sel, kotak edit menunjukkan string terpotong dan diisi dengan nol sebagai 12345678901234500000. Yang aneh adalah bahwa ia melakukan hal yang sama untuk angka yang tidak melebihi batas 15 digit excel. Jika saya tempel di 12345678901234, ini ditampilkan sebagai 1.23457E + 13, tetapi ketika saya mengkliknya kotak edit masih menunjukkan string asli. Sekarang, yang aneh adalah jika saya memformat sel ini menjadi teks, itu masih terlihat dalam notasi ilmiah. Mengganggu.
Michael Levy
7
Yang satu itu sedikit kekhasan tampilan sebenarnya - pengaturan format dari umum ke teks tidak akan langsung menampilkannya sebagai string asli, tetapi jika Anda masuk dan mengedit data (seperti dalam, cukup klik ke zona edit dan klik ) itu akan diperbarui persis seperti yang Anda masukkan.
tanantish
11
Quick Hack: Atur pemformatan pada kolom yang sesuai, salin tempel ke notepad, lalu ke Excel.
Brian
9
Ini TIDAK BISA MENJAWAB JAWABAN YANG DITERIMA : lihat yang berikutnya di bawah ini.
javadba
3
Jadi, Anda sudah mengenang dan mengulangi masalahnya. Sekarang, bagaimana Anda memperbaikinya?
user3932000
162

Ini bekerja untuk saya di Excel 2010. Cukup pilih kolom, klik kanan, Format sel, Kustom dan pilih opsi yang mengatakan 0 (opsi kedua di bawah Umum).

Anonim, tanpa nama
sumber
25
Ini jauh lebih baik daripada jawaban yang diterima yang mengatakan "Anda agak kurang beruntung"! Saya punya file CSV yang mengalami masalah ini, dan solusi pemformatan khusus berfungsi dengan sempurna.
davidair
4
harus diterima jawaban, seseorang harus / bisa berubah?
qwertzman
11
Ini tampaknya masih terpotong dalam pengujian saya. Menggunakan Excel 2013 saya memasukkan yang berikut ke dalam sel 12345678901234567890. Ketika saya menekan enter ini ditampilkan sebagai 1.23457E + 19 dan nilai yang mendasarinya diubah menjadi 12345678901234500000 sehingga ada kehilangan data. Ini tidak menjawab pertanyaan awal.
Michael Levy
1
Saya di sini setahun kemudian meninjau kembali jawaban yang sama dan berharap saya bisa mengulanginya lagi.
billynoah
7
Jawaban ini memperbaiki pemformatan, tetapi tidak mempertahankan data yang dimasukkan. Itu sebabnya saya tidak bisa menerimanya sebagai jawaban yang benar. Saya memposting video pendek untuk ditampilkan. Ketika Anda mengikuti petunjuk ini, dan kemudian memasukkan bilangan bulat panjang seperti 12345678901234567890 Anda kehilangan presisi ketika memperlakukannya sebagai numerik, bahkan jika itu ditampilkan dalam notasi non-ilmiah. Excel memperlakukannya sebagai nilai 12345678901234500000. Hanya dengan memperlakukannya sebagai teks Anda dapat mempertahankan semua digit. Lihat youtu.be/7EDcR7TQpYs
Michael Levy
13

Satu tanda kutip 'sebelum nomor akan memaksa Excel untuk memperlakukan nomor sebagai teks (termasuk penyelarasan kiri default). Dan jika Anda memiliki kesalahan yang ditandai, itu akan ditampilkan sebagai nomor yang disimpan sebagai kesalahan teks pada sel.

dav
sumber
Ini tidak selalu terjadi. Excel kadang-kadang memudarkan data saya bahkan dengan tanda kutip terkemuka.
Cerin
3
Cerin, titik yang adil - tidak pernah meremehkan kemampuan Excel (atau Microsoft) untuk melakukan sesuatu yang sama sekali tidak dapat dijelaskan atau diulang. Namun, trik apostrof umumnya berfungsi seperti yang diiklankan.
Hari
1
dapatkah Anda melakukan ini secara massal? Saya memiliki data dengan 60000 sel yang ingin saya konversi menjadi teks.
vaibhavcool20
Atau cukup pilih untuk memformat sebagai teks di klik kanan, menu Format Cells;)
Shayan
13

Saya menemukan bahwa di Office 2010, jika Anda memformat kolom terlebih dahulu, lalu menempelkan data, itu akan menampilkan angka besar dengan benar.

M Akin
sumber
Itu mungkin karena disimpan sebagai string. Apa yang terjadi jika Anda membuat sel lain, katakanlah, konten sel dikalikan 2?
Peter Mortensen
1
Ini berfungsi di Excel 2016 / Office 365. Saya memilih semua sel, memformatnya menjadi Teks dan kemudian menempelkan data saya yang disalin dan tidak muncul dengan notasi ilmiah yang mengganggu. Terima kasih!
frezq
Ini yang juga berfungsi untuk saya di Google Sheets ... "Format> Nomor> 0" sebelum menempelkan vals dan tidak dikonversi ke notasi ilmiah sementara juga TIDAK kehilangan nilai akhir (pembulatan vals), yang terlalu sering terjadi .
twknab
12

Coba ini ... ini berfungsi untuk saya, Excel 2013.

=""&a1

di mana a1 memegang nilai numerik. Setelah itu, salin kolom dan tempel ke kolom asli.

Rok
sumber
Ini berfungsi di Excel 2010 juga.
Paul G
2
Sebagai simpul samping: ="1240800388917"melakukan hal yang sama
nixda
5

Anda dapat memformat sel sebagai Kustom> #

Ini dapat diterapkan setelah Anda menempelkan data ke dalam kolom, tetapi Anda harus melakukannya sebelum Anda menyimpan spreadsheet.

Saya banyak bekerja dengan barcode (UPC) dan excel akan memformatnya sebagai notasi ilmiah secara default. Membuatku gila! Mengapa ini bukan pilihan yang saya tidak akan pernah tahu.

Graham
sumber
Itu tidak mengubah angka menjadi teks, yang dapat menyebabkan masalah di kemudian hari. Tapi yah ...
Joris Meys
5

Saya mengetahui usia pertanyaan, tetapi ini adalah yang saya gunakan setelah pencarian google dan yang tidak menjawab pertanyaan saya (mengapa memformat sebagai teks tidak berfungsi dan mengapa angka dipangkas menjadi 15 digit setelah format) untuk mengirim pesan).

Jawaban singkatnya adalah: Anda tidak dapat bekerja pada nomor Anda seperti yang Anda suka SETELAH Anda memasukkan nilai numerik dan mengetuk Enter. Saat Anda melakukan itu, angka tersebut akan terpotong menjadi 15 digit dan disajikan sebagai eksponensial.

Ini bukan bug, ini fitur.

Apa pun yang Anda lakukan setelah itu akan menggunakan nilai terpotong, jadi tidak ada trik pemformatan yang akan membantu. Namun, Anda dapat menggunakan Text to columnsopsi untuk mengkonversi notasi eksponensial ke teks (Klik pada header kolom, klik Text to data, kemudian Delimited, Next, untick semua kotak pembatas, Pilih Textdi Column data formatkemudian Finish) untuk memiliki nilai-nilai dikonversi ke teks dan segera ditampilkan sebagai nomor 15 digit. Tapi, itu akan menjadi hanya 15 digit, jadi jika Anda memiliki nomor yang lebih lama, sisanya akan hilang.

Untuk memiliki nomor dalam spreadsheet persis seperti yang Anda ketik, Anda harus menyimpannya sebagai teks. Jadi, Anda harus mengawalinya dengan apostrof atau memformat sel sebagai teks sebelum mengetik / menyalin nilai ke dalamnya. Jika "kadang-kadang tidak berhasil", maka, maaf, Anda melakukan sesuatu yang salah atau Anda memiliki semacam koreksi otomatis (jika Anda menggunakan tanda kutip dan angka besar> 15 digit, Excel memperlakukannya sebagai nilai yang salah dan menandai sel dengan peringatan pesan, jadi komentar ini bukan pribadi atau kritik).

Cara lain untuk melakukannya dalam jumlah massal adalah dengan mengimpor nilai dari file teks. Saya berani mengatakan itu satu-satunya cara untuk sebagian besar situasi. Dan pastikan untuk mengimpor file, bukan hanya membukanya, karena Excel memperlakukan csvjenis seperti format asli dan memangkas jumlah besar menjadi 15 digit sebagai hal biasa.

Sekarang, ke edisi terakhir. Jika Anda memasukkan nilai numerik besar di sel Excel yang diformat sebagai teks, ia akan tetap ditampilkan dalam notasi ilmiah selama sel tidak cukup lebar. Ini menjengkelkan, tetapi efek samping dari beberapa algoritma internal Excel. Jadikan sel lebih luas dan Anda akan melihat nilai penuh setiap saat.

AcePL
sumber
3

Excel 2010: Ini berfungsi satu kolom pada satu waktu dan tidak sama sekali untuk satu baris. Pilih kolom atau subset kolom, dari tab Data pilih "Teks ke Kolom", dan langsung ke "Selesai." Tidak ada lagi notasi ilmiah.

Saya setuju dengan banyak pengguna Excel, itu kriminal karena tidak ada opsi untuk mencegah notasi ilmiah!

gsoClarke
sumber
1
Dalam pengujian saya di Excel 2007, saya harus mengklik Next >dua kali, lalu pilih "Teks" dan klik Finish. Anda bisa menerapkan ini pada baris dengan mentransposkan, mengonversi, dan mentranspos kembali.
Scott
1

Di Excel 2013, hal yang sama terjadi pada saya dan saya hanya pergi ke Format Cells -> Number kemudian memastikan tempat desimal diatur ke "0".

Christopher Chipps
sumber
1
mirip dengan jawaban Anonim di atas tetapi memilih "Nomor" entah bagaimana lebih masuk akal daripada memilih "kustom" .. ditambah itu lebih tinggi pada daftar.
Lagi
0

Pilih semua sel - atau, untuk mempermudah - pilih seluruh spreadsheet dan klik Format Sel , lalu Teks .

Secara otomatis, seluruh spreadsheet Anda akan menggunakan teks. Anda tidak harus melakukannya sel demi sel.

Dima
sumber
Sayangnya, ini tidak berhasil. Teksnya hanya dalam notasi ilmiah, itulah masalahnya ...
Joris Meys
0
  1. Salin / rekatkan bidang masalah ke lembar baru di kolom A

  2. Salin / tempel Kolom A ke file teks

  3. Format Kolom B untuk teks dan rekatkan file teks ke dalam Kolom B

  4. Di Kolom C:

    =IF(ISNUMBER(SEARCH("+",B1)),A1,"")
    
  5. Ubah Kolom C menjadi format angka tanpa desimal

  6. Salin / rekatkan Kolom C ke file teks

  7. Format Kolom D menjadi teks dan rekatkan file teks ke Kolom D

  8. Di Kolom 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. Salin / rekatkan Kolom E ke notepad

  10. Hapus data dalam bidang masalah dan format kolom ke teks

  11. Salin / tempel data dari file teks ke bidang masalah

Panduan Data
sumber
0

Ini berfungsi untuk saya di Excel 2013, termasuk menyalin sel menempel ke program lain. Memfilter data membantu, terutama untuk langkah-langkah edit.

  1. Pilih sel yang Anda inginkan.
  2. Terapkan Format Angka "Teks". (Coba Alt, H, N, lalu "Teks".)

Kemudian, untuk setiap sel yang Anda inginkan:

  1. Masuk ke mode edit. (Coba F2.)
  2. Konfirmasikan hasil edit Anda dengan Enter (baik untuk kolom) atau Tab (baik untuk baris). Jangan ubah isinya.

Nomor Anda akan muncul secara normal, bahkan pada 100 digit. =)

skia.heliou
sumber
Tidak berfungsi untuk banyak sel (Excel 365)
Albin
0

Excel membuat frustasi untuk CSV / pekerjaan data massal seperti ini. Bekerja dengan LibreOffice jika memungkinkan, itu tidak melakukan ini, yaitu, jika Anda membuka lembar yang sama (.xlsx) di Libreoffice, 'angka' besar yang sebenarnya adalah string tidak ditampilkan dalam notasi ilmiah (yang merupakan keputusan yang absurd) oleh Excel). Kesetiaan file LibreOffice luar biasa: buka lagi .xlsx yang sama di Excel, dan notasi ilmiah langsung "berfungsi" seperti biasanya.

Tim Richardson
sumber