🧐 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) มาให้แทน
==============================
ตัวอย่างในภาพนี้อยู่ในหลักสูตรเรียนออนไลน์ เรื่องรีบรู้เพื่อพร้อมใช้ Excel ทำงานแบบ Fast and Easy ซึ่งกำลังเปิดให้สมัครเรียน ฟรี 1 ปีครับ ได้เรียน 10+1 หลักสูตรทีเดียว
*** FREE ***
เชิญสมัครเรียน Excel ออนไลน์ 10+1 หลักสูตร ฟรี 1 ปี
คลิกที่ลิงก์นี้เพื่อดูรายละเอียดและสมัคร
https://xlsiam.com/membership/free1year/
เข้าเรียนได้ทุกที่ทุกเวลาที่สะดวกโดยไปที่เมนู Dashboard ที่เว็บ XLSiam.com
แชร์ต่อได้ตามสบายครับ