Số pad đến độ dài cụ thể trong Bảng tính Google [đã đóng]


33

Tôi có một cột có số nguyên như thế này: 1, 2, 3, 4, 5và tôi muốn tạo một cột khác với các giá trị được đệm theo chiều dài của ba như thế này : 001, 002, 003, 004, 005.

Có thể đệm chuỗi theo chiều dài trong Bảng tính Google không?

Tôi đã không thể tìm thấy một chức năng tiêu chuẩn cho việc này.


2
Đây không phải là chính xác những gì bạn đã yêu cầu, nhưng đạt được hiệu quả tương đương và có thể là một giải pháp cho một nhiệm vụ phổ biến mà mọi người tìm kiếm: (1) chọn cột có số bạn muốn đệm. (2) Chọn Định dạng> Số> Định dạng khác> Định dạng số tùy chỉnh ... (3) Trong hộp thoại nhập có nhiều 0 chữ số mà chuỗi số phải có, ví dụ 000 trong ví dụ của bạn.
tophcito

2
Không nên đơn giản đóng cửa, nên chuyển sang webapps.stackexchange.com
Lennart Rolland

Câu trả lời:


53

Cách được đề xuất là sử dụng hàm TEXT () .

Tóm tắt nhanh về cách bạn sẽ sử dụng nó trong trường hợp của bạn:

=TEXT(5,"000")

Sẽ xuất:

005

Tất nhiên, bạn sẽ thay thế bằng 5 bằng một tham chiếu đến một ô khác có số nguồn.


Sẽ có một cách đệm với không gian?
Álex

Tôi nghĩ chỉ cần thay thế "000" với "" ở trên
Lennart Rolland

12

Nếu bạn chỉ muốn thay đổi hiển thị, bạn có thể áp dụng định dạng số tùy chỉnh "000" cho các ô.nhập mô tả hình ảnh ở đây

Chọn các ô, Click vào Format> Số> More Formats> Định dạng số tùy chỉnh ... .

Từ các biên tập viên tài liệu trợ giúp :

Một chữ số trong số. Một số 0 không đáng kể sẽ xuất hiện trong kết quả.


2
Bạn có thể chỉnh sửa câu trả lời của mình để mở rộng về cách OP sẽ làm điều này không?
Burgi

3

Giải pháp tạm thời

Đây là cách giải quyết tạm thời mà tôi nghĩ ra.

Công thức làm việc

Chỉ cần sử dụng công thức này:

`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`

Thay thế 3bằng chiều dài đệm và 0với ký tự đệm. A2là một nguồn đệm.

Giải trình

Hãy xem xét các bảng tính sau:

-------------
| A   |  B  |
-------------
| 1   | 001 |
-------------
| 2   | 002 |
-------------
| 31  | 031 |
-------------
| 45  | 045 |
-------------
| 500 | 500 |
-------------

Chúng tôi có cột ban đầu (A) với các số nguyên mà chúng tôi muốn đệm. Cột (B) sẽ chứa công thức đặc biệt để xử lý dữ liệu.

Liên kết!

Trước hết chúng ta cần một cách để nối giá trị từ Acột với chuỗi đệm. Chúng ta có thể làm điều này với CONCATENATEchức năng:

=CONCATENATE("00", A2)

Nói lại!

Ngay bây giờ, nhân vật đệm 0được lặp lại hai lần trong công thức của chúng tôi. Điều này không tốt. Chúng ta có thể sử dụng REPTchức năng để lặp lại ký tự đệm của mình nhiều lần như thế này:

=REPT("0", 2)

Công thức này sẽ lặp lại 0hai lần. Hãy kết hợp chúng:

=CONCATENATE(REPT("0", 2), A2)

Tính chiều dài!

Cái đó tốt hơn. Nhưng độ dài đệm có giá trị không đổi trong công thức của chúng tôi và điều đó sẽ không hoạt động với các số lớn hơn 9. Chúng tôi có thể khắc phục điều này bằng cách tính độ dài của chuỗi đệm (sử dụng LENhàm) và trừ nó khỏi độ dài mục tiêu của chúng tôi:

=3-LEN(A2)

Hãy thêm nó vào công thức của chúng tôi:

=CONCATENATE(REPT("0", 3-LEN(A2)), A2)

Tuy nhiên, chúng tôi sẽ nhận được kết quả âm cho các giá trị lớn hơn 999 và nó sẽ phá vỡ REPTchức năng (số lần lặp lại không thể âm).

Chúng ta có thể dễ dàng sửa nó bằng cách thêm một điều kiện:

=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")

Chúng ta hãy đặt những hạt đậu cuối cùng lại với nhau:

=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)

Hoàn hảo! Đây là câu trả lời tốt nhất và nó hoạt động với các giá trị không phải là số ;-D
t3chb0t
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.