มีโจทย์ว่ามีข้อมูลหมายเลขโทรศัพท์โหลดเข้ามาใส่ไว้ใน Excel ทั้งเบอร์มือถือและโทรศัพท์บ้านรวมๆ กันมาแต่เลข 0 ที่นำหน้าอยู่หายไปหมดเลย จะใช้วิธีไหนได้บ้างเพื่อทำให้มีเลข 0 นำหน้าตลอดโจทย์นี้มีปัญหาที่ว่ามีทั้งหมายเลขโทรศัพท์มือถือและโทรศัพท์บ้านซึ่งจำนวนหลักไม่เท่ากัน ไม่สามารถใช้ Custom Formatting แล้วใส่ 0 ตามจำนวนหลักของเบอร์โทรศัพท์ที่ต้องการได้ เลยต้องเปลี่ยนไปใช้วิธีอื่นๆ แทน วิธีการเติม 0 เข้าไปหน้าหมายเลขโทรศัพท์มีหลายวิธี วันนี้มาทดลองกันไม่กี่วิธี พอให้แก้ปัญหาเบื้องต้นไปได้ก่อนนะสำหรับตัวอย่างข้อมูลมีดังภาพเลย มีทั้งโทรศัพท์มือถือและโทรศัพท์บ้านปะปนรวมกันอยู่ส่วนวิธีการเติมเลข 0 นั้นถ้าว่าด้วยการเขียนสูตรก็เขียนได้หลายแบบสมมติว่าเราจะเติม 0 ที่ข้อมูลที่เซลล์ A2 ให้ลองเขียนสูตรที่เซลล์ C2 ดังนี้ ="0" & A2ตัว & นั้นหมายถึงการเชื่อมข้อความเข้าด้วยกัน ซึ่งจากคำสั่งข้างต้นจะหมายถึงการเชื่อมตัวอักษร 0 เข้ากับข้อมูลในเซลล์ A2 หรือจะใช้คำสั่ง CONCATENATE(text1, [text2], ...) ในการเชื่อมข้อความก็ได้ เมื่อใช้คำสั่ง CONCATENATE ก็จะเขียนได้เป็น=CONCATENATE("0", A2)โดยคำสั่ง CONCATENATE ข้างต้นก็จะทำการเชื่อมต่อข้อความสองข้อความหรือมากกว่าให้เป็นข้อความเดียวกัน จะใช้คำสั่งแบบใดก็ได้ตามที่สะดวกเลยครับผลลัพธ์ของการใช้คำสั่งทั้งสองคำสั่งจะอยู่ที่คอลัมน์ C และ D ส่วนในคอลัมน์ E นั้นได้ทดลองใช้ Custom Formatting โดยใส่รูปแบบเป็น 0000000000 โดยจะเห็นตัวที่ทำเป็นตัวอักษรสีแดงไว้ ซึ่งก็คือมีปัญหาที่ตัวเลขโทรศัพท์บ้านซึ่งจำนวนหลักสั้นกว่าโทรศัพท์มือถือ ทำให้เลข 0 ด้านหน้าเกินมาหนึ่งตัว แล้วถ้าข้อมูลบางส่วนมี 0 นำหน้าแล้วไม่อยากใส่ 0 เข้าไปอีกต้องทำอย่างไร?แน่นอนเราสามารถตรวจสอบข้อมูลบน Excel ได้ โดยการเขียนคำสั่งหรือ Formula เข้าไปเพิ่มเติม สำหรับการตรวจสอบนี่จะใช้คำสั่ง IF ร่วมกับคำสั่ง LEFT (หรือจะใช้คำสั่ง MID แทนก็ได้)โดยที่คำสั่ง IF(logical_test, [value_if_true], [value_if_false])logical_test คือเงื่อนไขที่ใช้ในการตรวจสอบvalue_if_true คือส่วนที่จะทำงานเมื่อส่วนของ logical_test เป็นจริงvalue_if_false คือส่วนที่จะทำงานเมื่อส่วนของ logical_test ไม่เป็นจริงLEFT(text, [num_chars])คำสั่ง LEFT คือคำสั่งที่ตัดตัวอักษร (text) ตามจำนวนที่เรากำหนด (num_chars) ลองเขียนตรวจสอบก็จะได้เป็น=IF(LEFT(A2, 1) = "0", A2, "0" & A2)โดยที่ LEFT(A2, 1) คือการตัดตัวอักษรทางด้านซ้ายของเซลล์ A2 มา 1 ตัวส่วน LEFT(A2, 1) = "0" คือการตรวจสอบว่าตัวแรกของเซลล์ A2 คือ 0 หรือไม่ถ้าตัวแรกของเซลล์ A2 เป็นจริงก็จะคัดลอก A2 มายังตำแหน่งที่เราเขียน Formulaและถ้าตัวเลขของเซลล์ A2 ไม่เป็นจริงก็จะนำ 0 ไปเชื่อมกับข้อความใน A2 และใส่ในเซลล์ที่เราเขียน Formulaถ้าดูจากรูปภาพอาจจะเข้าใจง่ายกว่าทดลองใช้กันดูตอนนี้ได้ทดลองใช้คำสั่ง =IF(LEFT(A2, 1) = "0", A2, "0" & A2) โดยไปวางไว้ที่เซลล์ F2 และได้ลองเปลี่ยนหมายเลขโทรศัพท์บางหมายเลขให้มีเลข 0 นำหน้าไว้ก่อน ผลลัพธ์ที่ได้ก็ตรงกับความต้องการ เมื่อได้ข้อมูลในคอลัมน์ที่เขียน Formula เรียบร้อยและตรงกับความต้องการแล้วจะต้องทำอย่างไรต่อ เราอาจจะใช้ข้อมูลในคอลัมน์ใหม่เลยก็ได้นะครับ หรือว่าถ้าไม่อยากให้ไฟล์ของเรามีคอลัมน์เพิ่มเติมขึ้นมาให้ทำการคัดลอกข้อมูลในคอลัมน์ใหม่ไปวางทับคอลัมน์เก่า แต่การวางนั้นจะต้องคลิกขวาและเลือกที่คำสั่ง Paste แบบ Values (V) นะครับ ถ้าคัดลอกไปวางดื้อๆ จะทำให้ข้อมูลของเราเพี้ยนได้หมายเหตุ.. ก่อนการคัดลอกหรือกระทำการใดๆ กับข้อมูลต้นฉบับ ทำการบันทึกไฟล์สำรองไว้อีกสักไฟล์สองไฟล์จะปลอดภัยมากๆ เลยนะครับหลังจากการวางข้อมูลที่ถูกต้องลงในคอลัมน์ A จะเห็นว่าหมายเลขโทรศัพท์ทุกหมายเลขจะมีเลข 0 นำหน้าทั้งหมด โดยที่โปรแกรม Excel จะแสดงสัญลักษณ์ที่มุมซ้ายบนของเซลล์ โดยถ้าเอาเมาส์ไปเลือกเซลล์นั้น Excel จะแจ้งว่า "Number Stored as Text" ซึ่งก็คือ Excel ไม่แน่ใจว่าข้อมูลชุดดังกล่าวต้องเป็นตัวเลขหรือเปล่าเลยแสดงข้อความผิดพลาดขึ้นมาให้เห็น (เราสามารถปล่อยผ่านได้นะครับ ไม่มีปัญหาแต่อย่างใด)คิดว่าน่าจะพอประยุกต์ใช้กันได้นะครับ ไปลองกันดูได้เลย 😄ภาพโดยนักเขียนหมีขั้วโลก ทอดกรอบ〔´(エ)`〕เปิดประสบการณ์ความบันเทิงที่หลากหลายสุดปัง บน App TrueID โหลดเลย ฟรี !