ติดตามธุรกิจด้วยสูตร · VLOOKUP/XLOOKUP เชื่อมข้อมูล
XLOOKUP ทำอะไรได้มากกว่า
เมื่อ VLOOKUP พังเพราะแค่แทรกคอลัมน์เดียว
บทก่อนหน้าสอนให้ใช้ VLOOKUP ดึงข้อมูลข้ามตาราง แต่ VLOOKUP มีจุดเปราะบางหนึ่งอย่าง: มันอ้างอิงคอลัมน์ ผลลัพธ์ด้วย ลำดับตัวเลข เช่น "เอาคอลัมน์ที่ 3" — พอมีคนแทรกคอลัมน์ใหม่คั่นกลางตาราง ลำดับที่เคยถูก จะเลื่อนไปเป็นคอลัมน์อื่นทันที โดยสูตรไม่รู้ตัวและไม่มีข้อความเตือนใดๆ ทั้งสิ้น
XLOOKUP: อ้างอิงคอลัมน์ตรงๆ ไม่นับลำดับ
รูปแบบสูตร:
=XLOOKUP(ค่าที่ค้นหา, คอลัมน์ที่ใช้ค้นหา, คอลัมน์ที่ต้องการผลลัพธ์)
เทียบกับ VLOOKUP เดิม =VLOOKUP(A2, รายการสินค้า!A:D, 3, FALSE) (ต้องนับว่าคอลัมน์ราคาคือลำดับที่ 3)
XLOOKUP เขียนได้ตรงกว่า:
=XLOOKUP(A2, รายการสินค้า!A:A, รายการสินค้า!C:C)
สูตรนี้บอกตรงๆ ว่า "ค้นหา A2 ในคอลัมน์ A แล้วดึงค่าจากคอลัมน์ C มาแสดง" — ไม่ว่าจะมีคนแทรกคอลัมน์ "หมวดหมู่สินค้า" ไว้ตรงไหนของตาราง สูตรนี้ก็ยังชี้ไปที่คอลัมน์ C ถูกต้องเสมอ เพราะไม่ได้อ้างอิงด้วย ลำดับตัวเลข
สามข้อที่ XLOOKUP ทำได้มากกว่า VLOOKUP
| ความสามารถ | VLOOKUP | XLOOKUP |
|---|---|---|
| ทนต่อการแทรก/สลับคอลัมน์ | ไม่ทน — พังทันที | ทน — อ้างอิงคอลัมน์ตรงๆ |
| ค้นหาคอลัมน์ที่อยู่ซ้ายของคอลัมน์ค้นหา | ทำไม่ได้ | ทำได้ |
| กำหนดข้อความเมื่อหาไม่เจอ | ไม่มี ขึ้น error แทน | มีช่องกำหนดเอง เช่น "ไม่พบสินค้า" |
เอาไปใช้กับธุรกิจคุณยังไง
- ใช้ XLOOKUP แทน VLOOKUP สำหรับตารางหลักที่มีการแก้ไขโครงสร้างบ่อย เช่น เพิ่มคอลัมน์ใหม่เรื่อยๆ
- ระบุคอลัมน์ค้นหาและคอลัมน์ผลลัพธ์แยกกันชัดเจน แทนการนับลำดับคอลัมน์เอง
- ใส่ข้อความเมื่อหาไม่เจอเสมอ เช่น "ไม่พบสินค้า" เพื่อให้พนักงานรู้ทันทีว่าต้องเช็กรหัสสินค้าอีกครั้ง
- ทดสอบสูตรหลังแทรกคอลัมน์ใหม่ทุกครั้ง แม้ใช้ XLOOKUP แล้วก็ควรตรวจสอบผลลัพธ์อย่างน้อยหนึ่งแถว
ลองคิดดูก่อน: เจอเคสนี้จะทำยังไง?
ร้านเบเกอรี่ใช้ VLOOKUP ดึงราคาสินค้าจากตารางหลักมาใช้ในใบสั่งซื้อมาสักพักแล้ว วันหนึ่งพนักงานบัญชี แทรกคอลัมน์ "หมวดหมู่สินค้า" ไว้กลางตารางหลัก (ระหว่างชื่อสินค้ากับราคา) เพื่อจัดกลุ่มขนมปัง/เค้ก/ คุกกี้ ผลคือสูตร VLOOKUP ทุกจุดในไฟล์ดึงค่าผิดคอลัมน์ทันที ราคาที่เคยแสดงถูกต้องกลายเป็นตัวเลขผิด
ถ้าเป็นคุณ จะแก้ปัญหานี้ยังไงไม่ให้สูตรพังทุกครั้งที่มีการแทรก/สลับคอลัมน์ในตารางหลัก?
ควิซท้ายบท
ตอบให้ครบทุกข้อ แล้วกดตรวจคำตอบ