Back to: Excel Expert Fast and Easy
สูตร VLookup เป็นสูตรยอดนิยมในการใช้ค้นหาค่าที่ต้องการจากตารางข้อมูลที่บันทึกไว้เป็นเซลล์ติดต่อกัน ตัวอักษร V นำหน้าย่อมาจากคำว่า Vertical ซึ่งแปลว่า แนวตั้ง สูตรนี้จึงมีลักษณะการทำงานตามชื่อสูตร นั่นคือ ใช้ค้นหาค่าจากตารางที่เก็บข้อมูลแต่ละเรื่องไว้ตามแนวตั้งหรือตามแนว column โดยมีข้อแม้ว่าต้องใช้ข้อมูลแนวตั้งหรือ column ด้านซ้ายสุดเท่านั้นเป็นค่าที่ใช้ค้นหา
🧐 VLookup แบบไม่ จะปลอดภัย ส่วน VLookup แบบใช่ จะไม่ปลอดภัย
จากภาพนี้ที่เซลล์ G5 สร้างสูตรหาว่ารหัส a002 ที่กรอกไว้ในเซลล์ F5 หาพบว่ามีชื่อ Name เป็น a ทั้งๆที่ในตารางฐานข้อมูลด้านซ้ายในพื้นที่ B5:D9 นั้น ไม่มีรหัส a002 สักหน่อย มีแต่รหัส a002x เก็บไว้ต่างหาก
☝️ ทำไมจึงหาค่าเจอทั้งๆที่ไม่มีรหัส a002
เพราะสูตร VLookup ที่สร้างไว้เป็นสูตร VLookup แบบใช่ ครับ
=VLookup($F5, $B$5:$D$9, 2)
สูตรที่เห็นนี้เป็นสูตรที่ย่อมาจาก =VLookup($F5, $B$5:$D$9, 2, TRUE)
TRUE ที่อยู่ตรงท้ายสุดนั้น แปลตรงตัวว่า ใช่ ซึ่งไม่จำเป็นต้องใส่ก็ได้ ละไว้ในฐานที่ตกลงกันไว้ตั้งแต่แรกว่าไม่ต้องใส่ก็ได้ โดย ใช่ ที่ว่านี้ใช้กำกับว่า ให้ใช้กับตารางฐานข้อมูลที่ column ซ้ายสุดเรียงจากน้อยไปมาก
ที่พิเศษหน่อยของสูตรแบบใช่ก็คือ ถ้าสูตรหาค่า a002 ไม่พบ ก็จะ Approach/Approximate ไปหาค่าอื่นที่มากที่สุด แต่ยังน้อยกว่าหรือเท่ากับ a002 มาให้แทน ดังนั้นจึงใช้ a001 มาหาค่าแทน
(เมื่อมองลงมาจาก column ซ้ายสุดที่เป็นรหัส จะพบว่า a001 เป็นค่าที่มากที่สุดที่ยังน้อยกว่า a002 ส่วน a002x มากกว่า a002 ไปแล้วจึงกระโดดกลับไปใช้ a001 ที่น้อยกว่าแทน)
การที่สูตรแบบใช่ หาค่าอื่นมาให้แทนนี่แหละน่ากลัวมาก ทางที่ปลอดภัยกว่าคือให้ใช้สูตรแบบไม่ แทน โดยเปลี่ยน TRUE เป็น FALSE หรือเลข 0 ก็ได้
=VLookup($F5, $B$5:$D$9, 2, FALSE)
หรือ
=VLookup($F5, $B$5:$D$9, 2, 0)
คำว่า False แปลว่าไม่นี้ หมายถึงให้ใช้ค้นหากับตารางซ้ายสุดที่ไม่ต้องเรียงลำดับครับ และที่สำคัญมาก ถ้าหาค่าไม่พบก็จะคืนค่าเป็น error #N/A (Not Available) มาให้แทน
หลักใช้จำ
สูตร VLookup ส่วนใหญ่ที่ใช้จะเป็นแบบไม่ เกือบทั้งนั้น (Exact Match) ซึ่งต่องใส่ False หรือ 0 เสมอ โดยใช้หาค่าที่เมื่อพบก็ต้องพบ ถ้าไม่พบก็จะ error แทน เช่น ใช้หาจากรหัส ชื่อคน ชื่อสินค้า โดยไม่สนใจว่าค่าที่เก็บไว้ใน column ซ้ายสุดจะเรียงหรือไม่เรียง
ส่วนสูตรแบบใช่ มีการใช้งานน้อยกว่ามาก (Approaching/Approximate Match) เหมาะกับการหาค่าที่เป็นตัวเลขเรียงลำดับ เช่น คะแนนสอบ ปริมาณสินค้า โดย column ซ้ายสุดต้องเรียงลำดับจากน้อยไปมากเท่านั้น