tại sao một cột Excel được định dạng là số mất số 0 đứng đầu khi cột được định dạng dưới dạng văn bản?


8

Tôi phải xuất bảng tính sang CSV. Một trong những cột là một mã zip với mã zip bờ biển phía đông có số 0 đứng đầu. Khi tôi định dạng lại cột đó dưới dạng Văn bản với hy vọng duy trì số 0 đứng đầu khi xuất, ngay lập tức cột sẽ chuyển từ bên phải sang bên trái và số 0 đứng đầu sẽ biến mất! Tôi chỉ mong điều ngược lại, rằng nó có thể mất số 0 nếu được định dạng lại từ văn bản thành số.

Làm thế nào để tôi bảo tồn số 0 hàng đầu đó?

Câu trả lời:


6

Học thuyết

Excel có hai khái niệm khác nhau, không liên quan khi nói đến dữ liệu trong các ô: giá trị thô / được lưu trữgiá trị hiển thị .

Giá trị "thô" hoặc được lưu trữ là dữ liệu thực tế trong một biểu diễn không được định dạng. Các loại của các dữ liệu thô có thể là số, văn bản, ngày tháng, vv

Giá trị "hiển thị" là cách dữ liệu được định dạng. Khi sử dụng GUI Excel, bạn sẽ thấy giá trị hiển thị, không phải giá trị thô.

Vấn đề là, khi bạn xuất sang CSV, nó đang lấy giá trị thô và xuất nó, chứ không phải giá trị hiển thị! Vì vậy, ngay cả khi bạn định dạng dữ liệu để chứa các số 0 đứng đầu bằng hộp thoại Định dạng ô, nếu giá trị cơ bản không chứa số 0 đứng đầu, thì xuất của bạn sẽ không.

Bạn cần định dạng tất cả dữ liệu dưới dạng văn bản (trong bảng tính Excel), sau đó thêm số 0 đứng đầu khi thích hợp. Điều này sẽ loại bỏ giá trị hiển thị khiến bạn nghĩ rằng bạn có số 0 đứng đầu trong giá trị thô (bạn không).

Giải pháp

Số 0 không tồn tại như một phần của nội dung ô, chỉ là định dạng, vì vậy khi bạn định dạng dưới dạng văn bản, bạn không nhận được nó. Bạn có thể thử sử dụng một công thức trong cột tiếp theo, ví dụ: nếu bạn có mã zip gồm 5 chữ số (?) Với các mục nhập trong A2, hãy đặt công thức này vào B2

=TEXT(A2,"00000")

sao chép công thức xuống cột

Kết quả của điều đó là một giá trị văn bản (có thể có số 0 thực tế hàng đầu). Khi bạn có giá trị này trong một cột khác, bạn có thể sao chép và thực hiện "Dán giá trị" trên cột ban đầu để thay thế tất cả dữ liệu cơ bản bằng dữ liệu không đệm. Sau đó xóa cột thêm.


Xin chào Barry, câu trả lời tuyệt vời, tôi đã thêm một chút "lý thuyết" nền tảng thay vì đăng một câu trả lời khác ... cứ thoải mái chỉnh sửa theo ý muốn, đây là một câu trả lời hợp tác :-)
allquixotic 20/12/12

@allquixotic, không có vấn đề, bổ sung tốt đẹp
barry houdini

2

Bạn có số trong các ô, không phải văn bản. Giá trị số là 02010 giống như số 2010. Định dạng như văn bản đưa ra biểu diễn văn bản thông thường của năm 2010, không phải là 02010.

Để bảo toàn các số 0 đứng đầu, hãy nhập dữ liệu dưới dạng chuỗi chứ không phải số. Ví dụ: nhập = "02010" làm giá trị.

Để chỉ hiển thị các số 0 đứng đầu, giả sử tất cả các số có cùng độ dài (giả sử năm chữ số), hãy sử dụng định dạng Tùy chỉnh. Chọn 0 từ FOrlist tùy chỉnh, sau đó thay đổi thành 00000. Tất cả các số sẽ hiển thị dưới dạng năm chữ số, với các số 0 đứng đầu. Tuy nhiên, nếu bạn lưu dữ liệu này vào tệp CSV, các số 0 đứng đầu sẽ không ở đó. Cách duy nhất để giữ chúng là nhập dữ liệu dưới dạng chuỗi.


Chúng tôi đang nhận được dữ liệu này từ nhiều bên thứ ba. Có vẻ như chúng ta đã hết may mắn, vì chúng ta đang thương xót những người nhập dữ liệu và không thể buộc họ làm điều đó một cách thông minh. Tôi đã ngạc nhiên khi chuyển đổi nó thành văn bản tước số không. IMO đó là hiệu ứng phụ, không phải là biểu diễn chuỗi đơn thuần của giá trị được hiển thị, trong khi tôi sẽ mong đợi một ô được định dạng dưới dạng số để loại bỏ số 0 đứng đầu.
mrblint

0

Đã lâu lắm rồi tôi mới sử dụng Excel, nhưng tôi luôn sử dụng tiền tố số 0 đứng đầu bằng 'và Excel sẽ coi nó là một chuỗi thay vì cố gắng diễn giải nó thành một số.

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.