Ada dua hal yang berbeda. Angka panjang yang tampil sebagai 4.02177E+19 bisa saja hanya soal format tampilan, yang berubah jika kolom dilebarkan atau diberi format Number. Namun saat membuka CSV, Excel juga mengubah nilainya sendiri: sel angka hanya menyimpan 15 digit signifikan, dan angka 0 di depan bukan bagian dari sebuah angka. Format apa pun tidak bisa mengembalikan digit yang sudah terganti. Agar nilainya aman, kolom tersebut harus menjadi sel teks sebelum Excel mengonversinya: impor kolom itu sebagai Text, atau buka file XLSX yang selnya sudah berupa teks, seperti yang secara default dibuat oleh konverter CSV ke Excel.
Apa yang dilakukan Excel pada file berisi ID dan kode
File CSV hanyalah teks biasa tanpa tipe sel, jadi saat Anda mengklik dua kali, Excel menebak setiap nilai: angka, tanggal, atau teks. File fiktif di bawah ini berisi jenis nilai yang sering salah ditebak.
| Nilai | Di dalam CSV | Excel membuka CSV | Sel di XLSX dari ViewCSV |
|---|---|---|---|
| Angka 0 di depan | 00412 | 412 | 00412 |
| Nomor pesanan 20 digit | 40217730091152400016 | 4.02177E+19 | 40217730091152400016 |
| Nomor pesanan berikutnya | 40217730091152400017 | 4.02177E+19 | 40217730091152400017 |
| Nomor telepon dengan tanda plus | +15550100234 | 15550100234 | +15550100234 |
| Kode part yang mirip tanggal | 3-12 | 12-Mar | 3-12 |
| Kode lot dengan huruf E | 12E3 | 1.20E+04 | 12E3 |
| Catatan yang mirip rumus | =SUM(F2:F3) | 17 | =SUM(F2:F3) |
1,20E+04, 3-12 bisa dibaca sebagai 3 Desember, dan file berpemisah koma bisa saja masuk ke satu kolom saja. Versi Excel lain juga bisa memberi hasil yang sedikit berbeda.Kedua nomor pesanan tampil sebagai 4.02177E+19, tetapi itu hanya tampilannya. Di baliknya, Excel hanya menyimpan 15 digit pertama, sehingga kedua sel kini berisi nilai yang sama, yaitu 40217730091152400000. Jika kolom dilebarkan, yang muncul adalah angka-angka nol itu, bukan digit aslinya, dan pencarian data maupun pengecekan duplikat menganggap kedua pesanan sebagai satu pesanan.
Baris-baris ini adalah contoh dari konverter. Unduh CSV-nya, buka di Excel Anda sendiri, lalu bandingkan hasilnya.
Notasi ilmiah hanya tampilan, tetapi digit yang hilang benar-benar hilang
4.02177E+19 hanyalah cara kolom berformat General yang terlalu sempit menampilkan angka besar; kolom yang lebih lebar atau format Number akan menampilkan lebih banyak digit. Kerugian sebenarnya terjadi lebih awal: Excel menyimpan angka dengan presisi 15 digit signifikan, sehingga setiap digit mulai dari digit ke-16 berubah menjadi nol saat konversi. NIK yang panjangnya 16 digit, atau nomor kartu 16 digit, sudah kehilangan digit terakhirnya.
- Angka 0 di depan hilang karena
00412dan412adalah angka yang sama. Format kustom seperti00000memang bisa menampilkan lima digit lagi, tetapi isi selnya tetap 412, dan kode dengan panjang berbeda-beda tidak bisa dipulihkan dengan cara itu. - ID yang panjang kehilangan semua digit setelah digit ke-15. Tidak ada format, rumus, atau alat yang bisa mengembalikannya dari file yang sudah disimpan setelah perubahan itu.
- Kode seperti
3-12atau12E3berubah menjadi tanggal atau angka dalam notasi ilmiah, dan teks aslinya tidak lagi ada di dalam sel. - Nilai yang diawali
=dianggap sebagai rumus dan diganti dengan hasil perhitungannya.
Buat XLSX dengan sel teks sebagai gantinya
Berbeda dengan CSV, workbook .xlsx menyimpan tipe untuk setiap sel, dan Excel menampilkan sel teks persis seperti yang tertulis. Konverter CSV ke Excel secara default menulis setiap nilai sebagai sel teks. Konverter ini berjalan di browser Anda dan tidak mengunggah file.
- Buka CSV Anda di konverter CSV ke Excel, atau pilih Coba contoh untuk memuat baris-baris di atas.
- Periksa tabel di bagian Masukan: ID, angka 0, dan kode tampil persis seperti di file.
- Biarkan Tipe nilai tetap pada Simpan semua nilai sebagai teks.
- Pilih Unduh XLSX lalu buka workbook-nya di Excel.
Di dalam workbook, 00412, ke-20 digit kedua nomor pesanan, +15550100234, 3-12, 12E3, dan =SUM(F2:F3) semuanya berupa sel teks. Nilai yang mirip rumus disimpan sebagai teks biasa, jadi tidak ada yang dihitung saat file dibuka. Excel mungkin menandai teks yang mirip angka dengan segitiga hijau kecil (Number Stored as Text); nilainya sendiri tidak berubah.
quantity atau unit_price, baca bagian berikutnya alih-alih mengonversi seluruh kolom di Excel, karena kolom ID yang tidak sengaja ikut terpilih juga akan ikut terkonversi.Jika Anda juga membutuhkan angka sungguhan
Deteksi angka dan true/false menjadikan sebuah kolom bertipe angka hanya jika setiap nilainya adalah angka biasa yang bisa disimpan Excel tanpa perubahan. Pada contoh, quantity dan unit_price menjadi angka, sedangkan customer_id (ada angka 0 di depan), order_ref (lebih dari 15 digit), part_code, dan note tetap berupa teks.
Deteksi ini menilai bentuk penulisan nilai, bukan maknanya, dan berlaku untuk satu kolom utuh. Kolom yang hanya berisi nilai seperti +15550100234 terbaca sebagai bilangan bulat bertanda, dan kolom yang hanya berisi nilai seperti 12E3 terbaca sebagai notasi ilmiah, sehingga pada contoh, phone dan lot_code juga akan menjadi angka. Untuk file seperti itu, pertahankan pengaturan default dan konversi hanya sel jumlah barang di Excel: pilih sel-selnya lalu klik Convert to Number dari ikon peringatan.
Jika Anda harus mulai dari CSV di Excel
Jika workbook hasil konversi tidak bisa dipakai, jangan klik dua kali file CSV-nya; impor file tersebut dan atur kolom yang berisiko menjadi Text sebelum data dimuat. Di Excel untuk Microsoft 365 versi terbaru, caranya adalah Data > From Text/CSV > Transform Data, menghapus langkah otomatis Changed Type, mengatur kolom ID menjadi Text, lalu memuat datanya. Nama menu di sini mengikuti Excel berbahasa Inggris; di Excel berbahasa Indonesia namanya bisa berbeda. Panduan cara mengimpor file CSV ke Excel membahas cara ini beserta Text Import Wizard versi lama.
Build terbaru Excel untuk Microsoft 365 dan Excel 2024 juga memiliki pengaturan konversi data otomatis di opsi data, yang bisa mencegah Excel menghapus angka 0 di depan, memotong angka panjang, memakai notasi E, dan mengubah teks mirip tanggal. Pengaturan apa yang tersedia dan apa namanya tergantung versi dan platform, dan pengaturan ini hanya mengubah Excel Anda sendiri, bukan Excel rekan kerja Anda.
Cara yang tidak melindungi nilai
- Tanda kutip di sekitar nilai (
"00412") hanya memberi tahu pembaca CSV di mana sebuah nilai dimulai dan berakhir. Excel tetap mengonversi angka yang diberi tanda kutip. - Byte order mark (BOM) UTF-8 membantu Excel membaca huruf beraksen dan aksara lain dengan benar. BOM tidak mengatur tipe sel sama sekali.
- Memformat kolom sebagai Text setelah file dibuka sudah terlambat, karena konversinya sudah terjadi.
- Pembungkus rumus seperti
="00412"hanya berfungsi di aplikasi spreadsheet yang menghitung rumus. Pembaca CSV lain, database, dan skrip melihat teks harfiah="00412", jadi data di dalam file tidak lagi berupa ID. - Tanda apostrof di depan (
'00412) bukan rumus: jika diketik di Excel, tanda ini menandai isian sebagai teks dan tidak ditampilkan. Namun di dalam file CSV, apostrof hanyalah karakter biasa, dan program lain menerima'00412sebagai nilainya. - Sel teks sungguhan di XLSX menyimpan nilai polos
00412tanpa karakter tambahan. Itulah yang ditulis oleh konverter, jadi ViewCSV tidak menambahkan pembungkus rumus maupun apostrof.
Batasan
Konverter ini menangani file hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel, dengan satu sheet per workbook. File yang sudah tersimpan dengan ID yang terbulatkan atau angka 0 yang hilang tidak bisa diperbaiki dengan konversi; ekspor ulang file itu dari sumbernya. Pengujian ViewCSV memeriksa tipe sel di XLSX yang dihasilkan menggunakan pembaca independen; cara versi Excel tertentu memformatnya di layar bisa berbeda-beda.
Sumber
Dokumentasi Microsoft, dirangkum dengan kata-kata kami sendiri. Nama menu di versi Excel Anda bisa berbeda.