Tại sao Excel loại bỏ các số 0 đứng đầu khi hiển thị dữ liệu CSV?


9

Tôi có tệp văn bản CSV có nội dung sau:

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

Khi tôi mở nó lên bằng Excel, nó sẽ hiển thị như được hiển thị ở đây:

Lưu ý rằng Cell A2cố gắng hiển thị "01" dưới dạng số mà không có "0" hàng đầu.

Khi tôi định dạng hàng 2 đến 4 là "Văn bản", nó sẽ thay đổi hiển thị thành

... nhưng vẫn là "0" hàng đầu đã biến mất.

Có cách nào để mở tệp CSV trong Excel và có thể thấy tất cả các số 0 đứng đầu trong tệp bằng cách lật một số tùy chọn không? Tôi không muốn phải gõ lại '01 trong mỗi ô nên có số 0 đứng đầu. Hơn nữa, sử dụng dấu nháy đơn hàng đầu đòi hỏi các thay đổi phải được lưu thành định dạng XLS khi muốn CSV. Mục tiêu của tôi chỉ đơn giản là sử dụng Excel để xem nội dung thực tế của tệp dưới dạng văn bản mà không cần Excel cố gắng thực hiện bất kỳ ưu tiên định dạng nào.


Cách duy nhất tôi nghĩ ra điều này là khó khăn, nhưng dường như có hiệu quả. Sao chép và dán vào một tờ mới. Đặt toàn bộ khu vực được dán thành định dạng "văn bản", sau đó xóa nó và dán lại các giá trị. Bob là dì của bạn.

3
(Đối với người dùng không Anh của chúng tôi, "Bob dì của bạn" là một thành ngữ mà lỏng lẻo dịch để "và bạn đã cài đặt xong".)
iglvzx

Robert không phải là dì của tôi. :-) Tôi nghĩ rằng tôi đã thành công khi làm điều đó trước đây, nhưng nó đã không hoạt động. Thử nó. Điều làm tôi bối rối là tại sao việc tạo ô như văn bản không dẫn đến giá trị "02" bị phân tán với số 0 đứng đầu bên trái.
Chad

1
nếu csv là cho excel chỉ, bạn có thể sử dụng các số rõ ràng dưới dạng văn bản - ví dụ nếu bạn viết '01trong excel, nó sẽ hiển thị 01mà không có dấu nháy đơn ..
Aprillion

Câu trả lời:


6

Khi bạn mở csv, bạn sẽ có tùy chọn chỉ định dấu phân cách và loại dữ liệu cho mỗi cột. Trình hướng dẫn nhập văn bản có 3 bước. Lưu ý rằng ảnh chụp màn hình của tôi là từ Excel 2010, nhưng điều này sẽ hoạt động chính xác theo cách tương tự trong Excel 2003.

Bước 1: chọn giới hạn (thay vì chiều rộng cố định)

Bước 2: chọn dấu phẩy làm dấu phân cách của bạn

Bước 3: chọn từng cột và thay đổi định dạng dữ liệu thành "văn bản". (Bạn sẽ thấy từ Văn bản được hiển thị phía trên mỗi cột như trong ảnh chụp màn hình bên dưới.)

nhập mô tả hình ảnh ở đây

Các số 0 đứng đầu sẽ không còn bị xóa:

nhập mô tả hình ảnh ở đây

CẬP NHẬT : Nếu bạn không muốn điều hướng trong quá trình để hợp tác với Excel, bạn có thể sử dụng CSVEd , trình chỉnh sửa được thiết kế riêng để chỉnh sửa các tệp văn bản được phân tách. Một trình soạn thảo văn bản tốt như Notepad ++ cũng có thể hoạt động, nhưng bạn sẽ không thể thấy dữ liệu của mình được sắp xếp theo các cột.



1
Vấn đề của tôi là tệp của tôi có phần mở rộng csv và hộp thoại Nhập không bao giờ xuất hiện. Khi tôi đổi tên tập tin thành phần mở rộng văn bản, tôi đã sẵn sàng và biết phải đi đâu. ty.
Chad

Đây là một sự phức tạp: Sau khi nhập nó như bạn mô tả, sau đó tôi muốn có khả năng sửa đổi tệp và lưu lại dưới dạng CSV. Nó giới thiệu cho tôi một hộp thoại xấu xí phức tạp (c'mon microsoft thiết kế một dạng hộp thoại tùy chỉnh cho việc này thay vì sử dụng tính năng MessageBox Windows!). Tôi chọn tùy chọn "giữ nó ở cùng định dạng". Khi tôi làm như vậy, nó mặc định thành một định dạng tab tách biệt. Để đảm bảo rằng tệp txt được lưu bằng dấu tách dấu phẩy, bạn phải thay đổi phần mở rộng tên tệp thành "csv." Đây có phải là xấu xí của những gì? Sau 10 phiên bản Excel chúng ta có cái này?
Chad

Xin chào Velika, xem bản cập nhật ở cuối câu trả lời của tôi. Bạn có thể tốt hơn hết là không sử dụng Excel.
Jon Crowell

Vâng, tôi đã tìm kiếm một trình soạn thảo CSV. Tôi đã thấy CSVEd. Ấn tượng ban đầu của tôi là nó trông giống như một giao diện ametuerish khó hiểu. Tôi nghĩ rằng "Trình soạn thảo văn bản dạng bảng" có vẻ tốt hơn. Cảm ơn bạn đã giúp đỡ.
Chad

13

Chỉ cần chạy vào vấn đề này. Nếu bạn kiểm soát việc tạo tệp CSV, bạn có thể làm cho dữ liệu trông như sau:

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

Khi mở dưới dạng Excel, nó sẽ giữ nguyên 01.


Excel 2010 của tôi không bảo toàn 01 ngay cả với ví dụ của bạn
OneWorld

1

định dạng cột để nó hiển thị cách bạn muốn (ví dụ 00 cho 2 chữ số)
Điều này có lợi thế là nó sẽ được lưu với các chữ số đó (nhưng bạn sẽ phải thay đổi định dạng mỗi khi bạn chỉnh sửa CSV)


0

Trước tiên, sao chép tất cả dữ liệu / cột và hàng từ bảng excel thực tế sang một bảng excel khác chỉ để ở bên an toàn để bạn có dữ liệu thực tế để so sánh. Bước,

  1. Sao chép tất cả các giá trị trong cột và dán chúng vào một notepad.
  2. Bây giờ thay đổi loại cột thành văn bản trong trang tính Excel (nó sẽ cắt bớt các số 0 trước / sau), đừng lo lắng về điều đó.
  3. Chuyển đến Notepad và sao chép tất cả các giá trị mà bạn vừa dán.
  4. Chuyển đến bảng excel của bạn và dán các giá trị trong cùng một cột.

Nếu bạn có nhiều hơn một cột có 0 giá trị thì chỉ cần lặp lại tương tự.

Những ngày hạnh phúc.


0

1) Dán số của tôi vào cột excel (nó sẽ xóa các số 0 đứng đầu)

2) Sau đó nhấp chuột phải vào "định dạng ô" tùy chỉnh thành 0000 cho 4 chữ số #, 00000 cho 5 chữ số #. v.v ... (mang lại những con số không)

3) Sao chép cột và dán vào tệp .txt. (nên có tất cả các số 0 đứng đầu).

4) Sao chép danh sách .txt của bạn.

5) Nhấp chuột phải vào bất kỳ cột nào trong excel và định dạng nó thành văn bản.

6) Dán dữ liệu được sao chép từ .txt vào cột excel. (Tất cả các số 0 đứng đầu vẫn còn)

Phân định trái tim của bạn mong muốn.


0

Nếu thiệt hại đã được thực hiện và bạn có dữ liệu trong Excel, bạn có thể thay đổi định dạng tệp bằng cách sử dụng tùy chọn Định dạng số tùy chỉnh. Chỉ cần đặt số không vào số lượng địa điểm bạn muốn (hình ảnh bên dưới sẽ thực hiện sáu chữ số)

nhập mô tả hình ảnh ở đây

Đây là Macro cũng sẽ làm điều đó trên toàn bộ trang tính của bạn. Chỉ cần xác định số lượng chữ số.

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.