หมายเลขแผ่นตามความยาวเฉพาะใน Google Spreadsheet [ปิด]


33

ฉันมีคอลัมน์ที่มีตัวเลขจำนวนเต็มเช่นนี้และฉันต้องการที่จะสร้างคอลัมน์อื่นที่มีค่าเหล่านี้เบาะกับความยาวของสามเช่นนี้1, 2, 3, 4, 5001, 002, 003, 004, 005

เป็นไปได้ไหมที่จะวางสตริงให้ยาวใน Google Spreadsheet

ฉันไม่สามารถค้นหาฟังก์ชันมาตรฐานสำหรับสิ่งนี้


2
นี่ไม่ใช่สิ่งที่คุณขออย่างชัดเจน แต่ได้ผลที่ใกล้เคียงกันและอาจเป็นคำตอบสำหรับงานทั่วไปที่ผู้คนค้นหา: (1) เลือกคอลัมน์ที่มีตัวเลขที่คุณต้องการเสริม (2) เลือกรูปแบบ> หมายเลข> รูปแบบเพิ่มเติม> รูปแบบตัวเลขแบบกำหนดเอง ... (3) ในกล่องโต้ตอบให้ป้อน 0 เป็นตัวเลขให้มากที่สุดเท่าที่สตริงควรมีเช่น 000 ในตัวอย่างของคุณ
tophcito

2
ไม่ควรปิดเพียง แต่ควรย้ายไปที่webapps.stackexchange.com
Lennart Rolland

คำตอบ:


53

วิธีที่แนะนำคือการใช้ฟังก์ชัน TEXT ()

สรุปย่อเกี่ยวกับวิธีใช้ในกรณีของคุณ:

=TEXT(5,"000")

จะส่งออก:

005

แน่นอนคุณจะแทนที่ 5 ตัวอักษรด้วยการอ้างอิงไปยังเซลล์อื่นที่มีหมายเลขแหล่งที่มา


จะมีวิธีการเสริมด้วยช่องว่างหรือไม่?
Álex

ฉันคิดว่า substitude "000" กับ "" ด้านบน
Lennart Rolland

12

หากคุณต้องการเปลี่ยนแปลงการแสดงผลคุณสามารถใช้รูปแบบตัวเลขแบบกำหนดเอง "000" กับเซลล์ป้อนคำอธิบายรูปภาพที่นี่

เลือกเซลล์คลิกที่รูปแบบ> จำนวน> รูปแบบอื่น ๆ > รูปแบบตัวเลขที่กำหนดเอง ...

จากเครื่องมือแก้ไขเอกสาร :

ตัวเลขในตัวเลข 0 ที่ไม่มีนัยสำคัญจะปรากฏในผลลัพธ์


2
คุณสามารถแก้ไขคำตอบของคุณเพื่อขยายว่า OP จะทำเช่นนี้ได้อย่างไร?
Burgi

3

ทางออกชั่วคราว

นี่เป็นวิธีแก้ปัญหาชั่วคราวที่ฉันคิดขึ้นมา

สูตรการทำงาน

เพียงใช้สูตรนี้:

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

แทนที่3ด้วยความยาวของช่องว่างภายในและ0ด้วยอักขระเสริม A2เป็นแหล่งที่มา

คำอธิบาย

พิจารณาสเปรดชีตต่อไปนี้:

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

เรามีคอลัมน์เริ่มต้น (A) ที่มีจำนวนเต็มที่เราต้องการแพด คอลัมน์ (B) จะมีสูตรพิเศษเพื่อประมวลผลข้อมูล

Concatenate!

ก่อนอื่นเราต้องมีวิธีการเรียงค่าจากAคอลัมน์ด้วยการเติมสตริง เราสามารถทำได้ด้วยCONCATENATEฟังก์ชั่น:

=CONCATENATE("00", A2)

ทำซ้ำ!

ตอนนี้ตัวละครซ้อนภายใน0ซ้ำแล้วซ้ำอีกในสูตรของเรา มันไม่ดี เราสามารถใช้REPTฟังก์ชั่นเพื่อทำซ้ำตัวละครของเราได้หลายครั้งดังนี้:

=REPT("0", 2)

สูตรนี้จะทำซ้ำ0สองครั้ง มารวมกัน:

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

คำนวณความยาว!

นั่นดีกว่า. แต่ความยาวการเติมมีค่าคงที่ในสูตรของเราและนั่นจะไม่ทำงานกับตัวเลขที่มากกว่า 9 เราสามารถแก้ไขได้โดยการคำนวณความยาวของสตริง padded (โดยใช้LENฟังก์ชั่น) และลบออกจากความยาวเป้าหมายของเรา:

=3-LEN(A2)

มาเพิ่มลงในสูตรของเรา:

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

อย่างไรก็ตามเราจะได้รับผลลัพธ์เชิงลบสำหรับค่าที่มากกว่า 999 และจะทำลายREPTฟังก์ชัน (จำนวนการทำซ้ำไม่สามารถเป็นค่าลบ)

เราสามารถแก้ไขได้อย่างง่ายดายโดยการเพิ่มเงื่อนไข:

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

ลองใส่ peaces สุดท้ายเข้าด้วยกัน:

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

ที่สมบูรณ์แบบ! นี่เป็นคำตอบที่ดีที่สุดและใช้งานได้กับค่าที่ไม่ใช่ตัวเลข ;-D
t3chb0t
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.