=VLookup( ค่าที่ใช้หา, ตารางที่เก็บข้อมูล, เลขที่ column ของคำตอบ, ตัวเลือกว่าเรียงหรือไม่)
เงื่อนไขสำคัญที่สุดที่จะทำให้ใช้สูตร VLookup ค้นหาข้อมูลได้ถูกต้อง คือ
- ค่าที่ใช้หาอยู่ใน column ซ้ายสุด
- ต้องมั่นใจว่าค่าที่ใช้หานั้นมีเพียงค่าเดียว ไม่มีค่าซ้ำ
- กำหนดเลขที่ column ของคำตอบ
- ถ้าใช้หาแบบ Approximate Match (Approaching Match) ต้องหาจากข้อมูลที่เรียงจากน้อยไปมาก
ข้อแรกนั้นไม่ค่อยพลาดกัน เพราะเวลาเลือกพื้นที่ตารางที่เก็บข้อมูลมาใช้กับสูตรนี้ก็จะใช้ column ซ้ายสุดอยู่แล้ว ส่วนข้อ 3 เลขที่ column นั้นผมอธิบายไปเยอะแล้วว่าใช้สูตร Match หาให้ก็ได้
ข้อ 2 ถ้ามีค่าซ้ำ สูตร VLookup จะหาค่าแรกมาให้เท่านั้น
ข้อ 4 ถ้าเรียงบ้างไม่เรียงบ้างแค่บางส่วน VLookup จะหาถูกบ้างผิดบ้าง
จะมั่นใจได้ยังไงครับว่า ไม่มีค่าซ้ำ และตารางเรียงค่าจากน้อยไปมาก
Download แฟ้มตัวอย่างการตรวจสอบได้จาก
https://drive.google.com/file/d/1DFGMTzx01G5Z84ec7fi51KRPiNC_8jym/view?usp=sharing
สูตรตรวจสอบว่ามีรายการซ้ำหรือไม่
นับจำนวนรายการที่ไม่ซ้ำ =SUMPRODUCT(1/COUNTIF(B3:B12,B3:B12))
นับจำนวนรายการทั้งหมด =COUNTA(B3:B12)
ถ้าเท่ากัน แสดงว่าไม่มีรายการซ้ำ
สูตรใช้ตรวจสอบว่าข้อมูลเรียงจากน้อยไปมากหรือไม่
=AND(B3:B11<B4:B12)
ไม่ใช่ว่าคิดจะใช้ VLookup ก็ใช้กันไปเลย ก่อนที่จะใช้ VLookup ต้องตรวจสอบฐานข้อมูลเสมอว่าเป็นไปตามที่ควรหรือไม่
การตรวจว่ามีค่าซ้ำหรือไม่ ให้ใช้สูตร CountA เพื่อนับจำนวนรายการว่าเท่ากับจำนวน Unique ไหม จะได้ทราบตั้งแต่แรกว่าผิดที่ตารางฐานข้อมูลแล้ว (ไม่ใช่มาทราบตอนใช้สูตรค้นหาค่า)
สูตรนับจำนวน Unique
=SumProduct(1/CountIF(DataRange,DataRange))
การเรียงค่าจากน้อยไปมาก ควบคุมได้ด้วย Data Validation หรือใช้ Conditional Format เปลี่ยนสีเตือนรายการที่ไม่เรียง
ดูคลิปวิธีป้องกันที่ต้นเหตุครับ ก่อนจะใช้ VLookup
https://xlsiam.com/course/excel-expert-data-management/