Bagaimana cara menghentikan Excel dari mengubah nilai 0503E000 menjadi 5.03E + 02 secara otomatis?

20

Excel mengonversi nilai 0503E000 menjadi 5.03E + 02 di sel mana pun secara otomatis di CSV. Saya mencoba mengonversinya menjadi nomor teks dan umum tetapi setelah saya simpan dan buka kembali lagi kembali ke 5.03E + 02

Bagaimana saya menghentikan ini terjadi?

CrashOverride
sumber
hanya mengubah ukuran lebar kolom dan itu harus ditampilkan secara normal
Scorpion99
Sudahkah Anda mencoba memformat sel sebagai teks sebelum memasukkan teks?
CharlieRB
mencoba mengubah ukuran dan memformat sebagai teks sudah no go ....
CrashOverride
Jika Anda perlu menggunakan nilai sebagai angka hex (yaitu Anda tidak bisa memilikinya sebagai string teks), Anda bisa membuat sarang DEC2HEXdan HEX2DECstring untuk nomor asli (misalnya =DEC2HEX(HEX2DEC("0503E000"))untuk contoh Anda). Mungkin tidak membantu jika Anda perlu memanipulasi file csv tanpa mengandung formula, tapi itu pilihan lain selain memformat sebagai teks.
Myles

Jawaban:

13

Saya pikir masalah utama di sini adalah bahwa Anda menggunakan CSV, yang tidak memiliki tipe sel yang tertanam di dalamnya. Excel secara otomatis mencoba menafsirkan sel sebagai memiliki nomor ilmiah yang mengapa Anda melihat 5.03E + 02 bukannya 0503E000 .

Coba buat buku kerja Excel dan format semua sel sebagai teks, lalu tempelkan dalam data. Saya mencobanya di Excel 2013 dan berhasil.

Jason Hutchinson
sumber
Ya itu berfungsi di Workbook, Tapi sayangnya kita harus menggunakan CSV untuk tujuan ini ..... kasihan
CrashOverride
Jadi jangan gunakan Excel untuk melihat konten, atau menjalankan makro pada sel, untuk mengubahnya kembali atau menggunakan sintaks yang sedikit berbeda jika Anda menggunakan 0x sebelum nilai yang saya tidak
percaya
Saya pikir kita mungkin harus memberhentikan ini ... karena jika kita membukanya di editor lain seperti notepad atau notepad ++ itu memiliki nilai yang benar .... jadi saya pikir sel memiliki nilai yang benar hanya menampilkannya dengan aneh dalam notasi ilmiah ....
CrashOverride
23

Jika Anda bisa mengonversi atau mengontrol format CSV , Anda bisa memaksa kolom untuk mem-parsing sebagai teks dalam Excel dengan membungkusnya dalam tanda kutip ganda dan menambahkan tanda sama dengan.

Excel akan secara sembarangan membuang presisi dalam format ini:

Value,0503E000,1234123412341234

Atau bahkan format ini:

Value,"0503E000","1234123412341234"

Mengubahnya menjadi:

Value  |  5.03E+02  |  1234123412341230

Namun , menambahkan tanda sama dengan memaksa Excel untuk menjaga data Anda secara hati-hati:

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

... yang terbuka sebagai:

Value  |  0503E000  |  1234123412341234
brianary
sumber
1
Solusi hebat ketika menempelkan dari SQL
SeaSprite
1
Juga merupakan solusi hebat ketika mengimpor data melalui "Dapatkan data eksternal" di menu "Data" di Excel.
Mohsen Abasi
1
Solusi bagus Satu-satunya kelemahan (kecil) adalah Anda akan berakhir dengan rumus bukan nilai. Jadi cukup salin semuanya dan kemudian tempelkan nilai , yang akan mengarah ke file Excel yang agak lebih kecil.
Stef
8

Alih-alih membuka "file CSV di Excel, pilih untuk Mengimpor file (di Excel 2007-2010 Anda akan menavigasi ke Ribbon Data / Dapatkan Data Eksternal / Dari Teks). Tidak yakin tentang 2013 tetapi harus ada sesuatu yang serupa. Ketika Anda melakukannya, panduan Impor Teks akan terbuka dan memberi Anda kesempatan untuk memformat kolom yang berisi Nilai itu sebagai Teks, sebelum Excel (tidak begitu membantu) mengubahnya menjadi nilai numerik.

Ron Rosenfeld
sumber
1
Ini. Saya hampir tidak pernah membuka file CSV secara langsung.
pepoluan
@pepoluan Saya tidak mengerti apa yang Anda tulis.
Ron Rosenfeld
Bagian mana tepatnya yang Anda tidak mengerti?
pepoluan
@pepoluan. Relevansi dari apa yang Anda tulis untuk jawaban saya.
Ron Rosenfeld
4
@pepoluan Terima kasih. Seandainya saya mengerti this, sisanya akan menjadi jelas. Kira saya mulai tua :-(
Ron Rosenfeld
2

Mulai sel dengan tanda kutip untuk memaksa interpretasi teks:

'0502E000

Pada dasarnya, ini memberitahu Excel untuk tidak mem-parsing bidang sebagai angka. Karena ada 'E' di bidang, sepertinya angka ke Excel. Apostrof tidak akan benar-benar dimasukkan ke dalam sel:

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

Sel 'b1' akan menampilkan 84074496.

HardScale
sumber
1
Ini berfungsi saat memasukkan langsung di Excel, tetapi tidak dengan file CSV.
SBF
Saat membuka file csv, tanda kutip akan benar-benar dimasukkan ke dalam sel
Stef
0

Cobalah untuk memuat file (data diambil dari tabel DB) melalui opsi DATA di MS excel kemudian cukup saat memuat cukup pilih "Jangan mendeteksi tipe data" di bawah "Deteksi Tipe Data" kemudian memuat, ini akan tetap seperti format data dan memuat excel, tidak perlu untuk konversi kolom apa pun.

Swapna nune
sumber
0

Rekatkan data ke dalam spreadsheet google. Pilih kolom ==> Format ==> Number => Format khusus => ketikkan jumlah digit yang Anda inginkan formatnya terjadi (mis: 10 digit = 0000000000)

Kiran
sumber
Saya ingin menyarankan yang lebih baik Edit posting Anda ,, karena perlu menambahkan beberapa contoh !!
Rajesh S
-1

Dengan pemformatan sel default, angka dengan angka nol di depan dan panjang akan secara otomatis dimodifikasi oleh Excel. Misalnya, jika Anda mengetik 012, itu akan berubah menjadi 12.

Jika Anda memformat sel sebagai Teks , maka angka apa pun yang Anda ketikkan dalam sel akan tetap apa adanya, dan tidak akan dimodifikasi oleh Excel.

Namun, jika Anda menempelkan nomor dari sumber lain ke dalam sel yang diformat sebagai Teks , dan di sumber itu ada semacam pemformatan, pemformatan sel akan berubah dari Teks ke Umum , dan manipulasi angka akan kembali.

Solusi yang saya temukan adalah melakukan paste khusus, dan menempelkan nomor sebagai Teks . Kemudian sel tetap dengan nya Text format, dan jumlah ini tidak diubah sama sekali.

Shmuel Wolfson
sumber