Mengapa Excel menghapus nol terkemuka saat menampilkan data CSV?


9

Saya memiliki file teks CSV dengan konten berikut:

"Col1","Col2"
"01",A
"2",B
"10", C

Ketika saya membukanya dengan Excel, itu ditampilkan seperti yang ditunjukkan di sini:

Perhatikan bahwa Cell A2mencoba menampilkan "01" sebagai angka tanpa "0" di depan.

Ketika saya memformat baris 2 hingga 4 sebagai "Teks", itu mengubah tampilan menjadi

... tapi tetap saja "0" yang utama hilang.

Apakah ada cara untuk membuka file CSV di Excel dan dapat melihat semua nol terkemuka dalam file dengan membalik beberapa opsi? Saya tidak ingin harus mengetik ulang '01 di setiap sel yang seharusnya memiliki nol di depan. Lebih jauh lagi, menggunakan tanda kutip terkemuka mengharuskan perubahan disimpan ke format XLS saat CSV diinginkan. Tujuan saya hanyalah menggunakan Excel untuk melihat konten file yang sebenarnya sebagai teks tanpa Excel yang berusaha membantu saya dalam format apa pun.


Satu-satunya cara saya menemukan ini adalah sulit, tetapi tampaknya berhasil. Salin dan tempel ke lembar baru. Setel seluruh area yang disisipkan ke format "teks", lalu hapus, dan tempelkan kembali nilainya. Bob adalah bibimu.

3
(Untuk pengguna non-Inggris kami, "Bob's your aunty" adalah ungkapan yang diterjemahkan dengan longgar "dan Anda siap".)
iglvzx

Robert bukan bibiku. :-) Saya pikir saya telah berhasil melakukan itu sebelumnya, tetapi tidak berhasil. Cobalah. Yang membingungkan saya adalah mengapa memformat sel sebagai teks tidak menghasilkan nilai "02" yang dihapus dengan 0 yang tersisa dibenarkan.
Chad

1
jika csv hanya untuk excel, Anda dapat menggunakan angka eksplisit sebagai teks - mis. jika Anda menulis '01dalam excel, itu akan ditampilkan 01tanpa kutipan tunggal ..
Aprillion

Jawaban:


6

Saat Anda membuka csv, Anda akan memiliki opsi untuk menentukan pembatas dan tipe data untuk setiap kolom. Panduan impor teks memiliki 3 langkah. Perhatikan bahwa tangkapan layar saya berasal dari Excel 2010, tetapi ini akan bekerja dengan cara yang persis sama di Excel 2003.

Langkah 1: pilih dibatasi (bukan lebar tetap)

Langkah 2: pilih koma sebagai pembatas Anda

Langkah 3: pilih setiap kolom dan ubah format data menjadi "teks". (Anda akan melihat kata Teks ditampilkan di atas setiap kolom seperti pada tangkapan layar di bawah ini.)

masukkan deskripsi gambar di sini

Nol terkemuka tidak akan lagi dihapus:

masukkan deskripsi gambar di sini

UPDATE : Jika Anda tidak ingin menavigasi melalui proses untuk membuat Excel bekerja sama, Anda dapat menggunakan CSVEd , editor yang dirancang khusus untuk mengedit file teks yang dibatasi. Editor teks yang bagus seperti Notepad ++ mungkin juga berfungsi, tetapi Anda tidak akan dapat melihat data Anda tersusun dalam kolom.



1
Masalah saya adalah file saya memiliki ekstensi csv dan dialog Impor tidak pernah muncul. ketika saya mengganti nama file untuk memiliki ekstensi teks, saya siap dan tahu ke mana harus pergi. ty.
Chad

Berikut ini kerumitannya: Setelah mengimpor seperti yang Anda jelaskan, saya kemudian ingin kemampuan untuk memodifikasi file dan menyimpannya kembali sebagai CSV. Ini menyajikan saya dengan kotak dialog jelek berbelit-belit (ayolah desain microsoft bentuk dialog khusus untuk ini daripada menggunakan fitur MessageBox Windows!). Saya memilih opsi untuk "menyimpannya dalam format yang sama". Ketika saya melakukannya, standarnya adalah format yang dipisahkan tab. Untuk memastikan bahwa file txt disimpan dengan pemisah koma, Anda harus mengubah ekstensi nama file kembali ke "csv." Apakah ini jelek dari apa? Setelah 10 versi Excel kita punya ini?
Chad

Hai Velika, lihat pembaruan di bagian bawah jawaban saya. Anda mungkin lebih baik tidak menggunakan Excel sama sekali.
Jon Crowell

Ya, saya sudah mencari editor CSV. Saya melihat CSVEd. Kesan awal saya adalah tampilannya seperti antarmuka yang membingungkan dan membingungkan. Saya pikir "Editor Teks Tabular" terlihat lebih baik. Terima kasih atas bantuan Anda.
Chad

13

Baru saja mengalami masalah ini. Jika Anda mengontrol pembuatan file CSV Anda dapat membuat data terlihat seperti berikut:

"Col1","Col2"
="01",A
="2",B
="10", C

Ketika dibuka sebagai Excel itu akan mempertahankan 01.


Excel 2010 saya tidak mempertahankan 01 bahkan dengan contoh Anda
OneWorld

1

format kolom sehingga menampilkan bagaimana Anda menginginkannya (mis. 00 untuk 2 digit)
Ini memiliki keuntungan ia akan disimpan dengan angka-angka itu (tetapi Anda harus mengubah format setiap kali Anda mengedit CSV)


0

Pertama-tama salin semua data / kolom dan baris dari lembar excel yang sebenarnya ke lembar excel lain hanya untuk menjadi sisi aman sehingga Anda memiliki data aktual untuk dibandingkan. Langkah,

  1. Salin semua nilai di kolom dan tempel ke dalam notepad.
  2. Sekarang ubah jenis kolom menjadi teks dalam lembar Excel (itu akan memangkas angka nol sebelumnya), jangan khawatir tentang itu.
  3. Buka Notepad dan salin semua nilai yang telah Anda tempel sekarang.
  4. Buka lembar excel Anda dan rekatkan nilai dalam kolom yang sama.

Jika Anda memiliki lebih dari satu kolom dengan nilai 0 maka ulangi saja.

Hari-hari bahagia.


0

1) Tempel nomor saya ke dalam kolom excel (itu akan menghapus angka nol di depan)

2) Kemudian klik kanan untuk "memformat sel" kustom ke 0000 untuk 4 digit #, 00000 untuk 5digits #. dll ... (bawa kembali angka nol itu)

3) Salin kolom dan rekatkan ke file .txt. (harus memiliki semua nol terkemuka).

4) Salin daftar .txt Anda.

5) Klik kanan kolom mana saja di excel dan format menjadi teks.

6) Rekatkan data yang disalin dari .txt ke dalam kolom excel. (Semua nol di depan tetap ada)

Batasi keinginan hati Anda.


0

Jika kerusakan sudah terjadi dan Anda memiliki data di Excel, Anda bisa mengubah format file dengan menggunakan opsi Format Angka kustom. Masukkan nol untuk jumlah tempat yang Anda inginkan (gambar di bawah ini akan menghasilkan enam digit)

masukkan deskripsi gambar di sini

Inilah Macro yang juga akan melakukannya di seluruh lembar Anda. Cukup tentukan jumlah digit.

Sub whyNot()
Dim WS As Worksheet, fMat As String, p As Long

    '''''Custom Options
    Const NumberOfPlaces As Long = 3 '' change this to number of places you want
    Set WS = ActiveSheet 'or specify the sheet name with Sheets("Sheet1")


        For p = 1 To NumberOfPlaces
        fMat = fMat & "0"
        Next p

        WS.UsedRange.Cells.NumberFormat = fMat

End Sub
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.