Thêm các số 0 đứng đầu / 0 vào các giá trị Excel hiện tại với độ dài nhất định


299

Có rất nhiều câu hỏi và câu trả lời chất lượng về SO liên quan đến cách ngăn chặn các số 0 hàng đầu bị tước khi nhập vào hoặc xuất từ ​​Excel. Tuy nhiên, tôi đã có một bảng tính có các giá trị trong đó được cắt ngắn thành số khi trên thực tế, chúng đáng lẽ phải được xử lý dưới dạng chuỗi. Tôi cần dọn sạch dữ liệu và thêm các số 0 đứng đầu trở lại.

Có một trường nên có bốn ký tự với số không chì dẫn ra chuỗi thành bốn ký tự. Tuy nhiên:

"23" should be "0023", 
"245" should be "0245", and
"3829" should remain "3829"

Câu hỏi: Có công thức Excel nào để đưa các giá trị 0 này trở lại các giá trị này sao cho tất cả chúng đều có bốn ký tự không?

Lưu ý: điều này tương tự như vấn đề về Mã Zip cũ, trong đó các mã zip ở khu vực New England bị giảm số 0 hàng đầu và bạn phải thêm lại chúng.


Là thời gian được cho là có "3829."?
Josh Lee

Không, nhưng đó là vị trí thích hợp cho dấu "." nhân vật trong câu theo bản sao đáng tin cậy của tôi về Strunk & White. Loại bỏ nó cho rõ ràng.
Đánh dấu

7
Tôi chấp nhận điều đó ngoại trừ việc nó nằm trong một khối mã, trong đó tôi có xu hướng lấy mọi thứ theo nghĩa đen hơn. (Ngoài ra, Excel lưu trữ mọi số dưới dạng số float, do đó có thể là số thập phân.)
Josh Lee

4
@josh upvote cho chính tả "chấp nhận điều đó ngoại trừ điều đó".
Michiel van der Blonk

Câu trả lời:


506
=TEXT(A1,"0000")

Tuy nhiên, hàm TEXT có thể thực hiện các công cụ ưa thích khác như định dạng ngày tháng.


4
CHÚA ƠI! Hoàn hảo! Bạn học được điều gì đó mới mỗi ngày. Tôi thậm chí có nhiều sách Excel tai chó và không bao giờ gặp phải điều này - sẽ sử dụng bất cứ lúc nào tôi đã thu thập dữ liệu mã zip dựa trên Excel trong tương lai.
Đánh dấu

1
Điều này hoạt động tốt với số thập phân ... nhưng còn thập lục phân thì sao? Tôi không thể tìm ra cách để làm cho số 0 hàng đầu hoạt động với nó ...
Shadow

10
@shadow Số thập lục phân cho Excel là một chuỗi, không phải là một số. Vì vậy, xử lý nó như là một chuỗi : =RIGHT("0000" + A1, 4).
GSerg

8
@shadow, DEC2HEX có một đối số địa điểm. Vì vậy, =DEC2HEX(HEX2DEC(A1),4)hoạt động tốt để pad số hex.
Raz Wilson

9
@mcs Họ không thay đổi cú pháp. Phiên bản Excel của bạn tình cờ sử dụng; làm dấu tách tham số, được lấy từ cài đặt ngôn ngữ Windows của bạn.
GSerg

78

Cách hiệu quả hơn (ít gây khó chịu hơn) là thông qua định dạng tùy chỉnh.

  1. Đánh dấu cột / mảng bạn muốn tạo kiểu.
  2. Nhấp vào ctrl+ 1hoặc Định dạng -> Định dạng ô.
  3. Trong tab Số, chọn Tùy chỉnh.
  4. Đặt định dạng tùy chỉnh thành 000 #. (không, không, không #)

Lưu ý rằng điều này không thực sự thay đổi giá trị của ô. Nó chỉ hiển thị các số 0 đứng đầu trong bảng tính.


8
Điều này hoạt động rất tốt nếu không cần giữ lại các số 0 đứng đầu qua ô ban đầu nhưng sẽ không hoạt động nếu các chuỗi cần được sử dụng ở bất kỳ nơi nào khác. Nó sẽ làm cho các ô hiển thị là 0004, 01032, 0284 nhưng nếu bạn cố gắng kết hợp các chuỗi trong một ô riêng biệt, ví dụ, 4-1032-284 thay vì 0004-01032-0284
Ashton Sheets

@AshtonSheets có, như tôi đã lưu ý trong câu trả lời, nó chỉ hiển thị các số 0 đứng đầu, nó không làm gì với giá trị thực. Tuy nhiên, đã có những tình huống tôi sử dụng nó thay =text()vì sự tiện lợi và thiếu công thức liên quan.
Moses

7
Để tham khảo, điều này thực sự nên 0000, không 000#. Nếu không, nó không hoạt động cho 0.
PearsonArtPhoto 17/03/2016

2
Đối với những người có vấn đề của tôi ở trên, câu trả lời là hoán đổi # (băm) thành 0 (không). Số # không cho bạn ký tự khi không có giá trị nhưng số 0 cho bạn số 0 khi không có giá trị! Làm cho ý nghĩa và hoạt động tuyệt vời: $ 0,0 ,, "M"
Andrew

1
Cũng không hoạt động với tôi khi sử dụng 000 # nhưng hoạt động khi tôi chỉ định định dạng tùy chỉnh là 0000 cho số có bốn chữ số, 00000 cho năm, 000000 cho sáu, v.v ... Rõ ràng điều này chỉ hữu ích cho các số định dạng ngắn hơn
Hilary

16

Tôi nhấn trang này để cố gắng đệm các giá trị thập lục phân khi tôi nhận ra rằng nó DEC2HEX()cung cấp tính năng đó miễn phí .

Bạn chỉ cần thêm một tham số thứ hai. Ví dụ: buộc để biến 12thành 0C
DEC2HEX(12,2)=> 0C
DEC2HEX(12,4)=> 000C
... và cứ thế


9

Tôi không chắc đây có phải là tính năng mới trong Excel 2013 không, nhưng nếu bạn nhấp chuột phải vào cột và nói "Đặc biệt" thì thực sự có một tùy chọn được xác định trước cho Mã ZIP và Mã ZIP + 4. Magic.

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


6
Đề xuất và cập nhật tuyệt vời. Cần cho Microsoft -1 để khuyến khích bất cứ ai lưu trữ SSN trong bảng tính.
Đánh dấu

8

Tôi biết điều này đã được trả lời cách đây một thời gian nhưng chỉ cần làm quen với một giải pháp đơn giản ở đây là tôi ngạc nhiên không được đề cập.

=RIGHT("0000" & A1, 4)

Bất cứ khi nào tôi cần pad tôi sử dụng một cái gì đó như ở trên. Cá nhân tôi thấy đó là giải pháp đơn giản và dễ đọc hơn.


1

Nếu bạn sử dụng định dạng tùy chỉnh và cần ghép các giá trị đó ở nơi khác, bạn có thể sao chép chúng và Dán Đặc biệt -> Giá trị ở nơi khác trong trang tính (hoặc trên một trang tính khác), sau đó nối các giá trị đó.


1

Thậm chí điều này sẽ làm việc tốt

REPT(0,2-LEN(F2)&F2

Trong đó 2 là tổng số chữ số, với 0 ~ 9 -> nó sẽ hiển thị 00 đến 09 phần còn lại sẽ không có gì được thêm vào.

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.