เหตุใดคอลัมน์ Excel ที่จัดรูปแบบเป็นตัวเลขจะสูญเสียศูนย์นำของคอลัมน์เมื่อคอลัมน์ถูกจัดรูปแบบเป็นข้อความ


8

ฉันต้องส่งออกสเปรดชีตเป็น CSV หนึ่งในคอลัมน์คือรหัสไปรษณีย์ที่มีรหัสไปรษณีย์ชายฝั่งตะวันออกที่มีเลขศูนย์นำหน้า เมื่อฉันจัดรูปแบบคอลัมน์ใหม่ให้เป็นข้อความโดยหวังว่าจะรักษาศูนย์นำในการส่งออกทันทีคอลัมน์จะเปลี่ยนจากชิดขอบขวาไปซ้ายชิดขอบและนำหน้าศูนย์หายไป! ฉันคาดหวังว่าจะได้ผลลัพธ์ที่ตรงข้ามกันซึ่งอาจสูญเสียศูนย์หากทำการฟอร์แมตจากข้อความเป็นตัวเลข

ฉันจะรักษาศูนย์นำหน้านั้นได้อย่างไร

คำตอบ:


6

ทฤษฎี

Excel มีสองที่แตกต่างกันความคิดที่ไม่เกี่ยวข้องกันเมื่อมันมาถึงข้อมูลในเซลล์: ดิบค่า / เก็บไว้และคุ้มค่าการแสดงผล

ค่า "raw" หรือค่าที่เก็บไว้เป็นข้อมูลจริงในรูปแบบที่ไม่ได้จัดรูปแบบ ประเภทของข้อมูลดิบสามารถเป็นตัวเลข, ข้อความ, วันที่ ฯลฯ

ค่า "display" เป็นวิธีจัดรูปแบบข้อมูล เมื่อใช้ Excel GUI คุณจะเห็นค่าการแสดงผลไม่ใช่ค่าวัตถุดิบ

ปัญหาคือเมื่อคุณส่งออกเป็น CSV จะใช้ค่าดิบและส่งออกไม่ใช่มูลค่าที่แสดง! ดังนั้นแม้ว่าคุณจะจัดรูปแบบข้อมูลให้มีศูนย์นำหน้าโดยใช้กล่องโต้ตอบ Format Cells หากค่าที่อยู่ข้างต้นไม่มีศูนย์นำหน้าการส่งออกของคุณก็จะไม่เหมือนกัน

คุณต้องจัดรูปแบบข้อมูลทั้งหมดเป็นข้อความ (ในสเปรดชีต Excel) แล้วเพิ่มศูนย์นำหน้าตามความเหมาะสม สิ่งนี้จะกำจัดค่าการแสดงผลที่ทำให้คุณนึกไม่ออกว่าคุณมีศูนย์นำในมูลค่าดิบ (คุณไม่มี)

สารละลาย

ไม่มีศูนย์ที่เป็นส่วนหนึ่งของเนื้อหาเซลล์เพียงแค่การจัดรูปแบบดังนั้นเมื่อคุณจัดรูปแบบเป็นข้อความคุณจะไม่ได้รับ คุณสามารถลองใช้สูตรในคอลัมน์ถัดไปเช่นหากคุณมีรหัสไปรษณีย์ 5 หลัก (?) ที่มีรายการใน A2 ให้ใส่สูตรนี้ใน B2

=TEXT(A2,"00000")

คัดลอกสูตรลงในคอลัมน์

ผลลัพธ์ที่ได้คือค่าข้อความ (อาจเป็นศูนย์นำหน้าจริง) เมื่อคุณมีค่านี้ในคอลัมน์อื่นคุณสามารถคัดลอกและทำ "วางค่า" เหนือคอลัมน์เดิมเพื่อแทนที่ข้อมูลพื้นฐานทั้งหมดด้วยข้อมูล zero-padded จากนั้นลบคอลัมน์เพิ่มเติม


สวัสดี Barry คำตอบที่ยอดเยี่ยมฉันได้เพิ่มพื้นหลัง "ทฤษฎี" มากกว่าการโพสต์คำตอบอื่น ๆ ... รู้สึกอิสระที่จะแก้ไขตามที่ต้องการนี่คือคำตอบการทำงานร่วมกัน :-)
allquixotic

@ allquixotic, ไม่มีปัญหา, ส่วนเพิ่มเติมที่ดี
barry houdini

2

คุณมีตัวเลขในเซลล์ไม่ใช่ข้อความ ค่าตัวเลข 02010 จะเหมือนกับตัวเลข 2010 การจัดรูปแบบที่เป็นข้อความให้การแสดงข้อความปกติของปี 2010 ไม่ใช่ 02010

เพื่อรักษาค่าศูนย์นำหน้าให้ป้อนข้อมูลเป็นสตริงไม่ใช่ตัวเลข ตัวอย่างเช่นป้อน = "02010" เป็นค่า

หากต้องการแสดงเลขศูนย์นำหน้าสมมติว่าตัวเลขทั้งหมดมีความยาวเท่ากัน (พูดห้าหลัก) ให้ใช้รูปแบบกำหนดเอง เลือก 0 จากรายการกำหนดเองจากนั้นเปลี่ยนเป็น 00000 ตัวเลขทั้งหมดจะแสดงเป็นตัวเลขห้าหลักโดยมีศูนย์นำหน้า อย่างไรก็ตามหากคุณบันทึกข้อมูลนี้ลงในไฟล์ CSV ค่าศูนย์นำหน้าจะไม่อยู่ที่นั่น วิธีเดียวที่จะเก็บไว้คือการป้อนข้อมูลเป็นสตริง


เราได้รับข้อมูลนี้จากบุคคลที่สามที่หลากหลาย ดูเหมือนว่าเราจะโชคไม่ดีเพราะเราอยู่ในความเมตตาของผู้คนที่เข้ามาในข้อมูลและไม่สามารถบังคับให้พวกเขาทำอย่างชาญฉลาด ฉันประหลาดใจที่การแปลงเป็นข้อความทำให้ศูนย์เสีย IMO นั้นเป็นผลข้างเคียงไม่ใช่เพียงการแทนสตริงที่แสดงค่าในขณะที่ฉันคาดว่าเซลล์จะจัดรูปแบบเป็นตัวเลขเพื่อดึงศูนย์นำหน้า
mrblint

0

เป็นเวลานานแล้วที่ฉันใช้ Excel แต่ฉันมักใช้เพื่อนำหน้าศูนย์นำหน้าด้วย 'และ Excel จะถือว่าเป็นสตริงแทนที่จะพยายามตีความเป็นตัวเลข

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