VLOOKUP ค้นหาได้ทีละ 1 เงื่อนไข แต่งานจริงมักต้องจับคู่หลายอย่างพร้อมกัน เช่น “ราคาของสินค้า A สำหรับลูกค้าระดับ Gold” หรือ “สต็อกของ SKU นี้ ที่คลัง B” บทความนี้รวม 4 วิธีค้นหาแบบหลายเงื่อนไข ตั้งแต่วิธีที่เข้าใจง่ายสุดจนถึงวิธีสั้นแบบ Microsoft 365
🎬 ดูวิดีโอสอน (1 นาที 13 วินาที) บน Excel จริง หรืออ่านขั้นตอนละเอียดด้านล่าง
วิธีที่ 1: คอลัมน์ช่วยรวมเงื่อนไข แล้ว VLOOKUP
สร้างคอลัมน์ช่วยที่ต่อเงื่อนไขเข้าด้วยกันด้วยตัวคั่นที่ไม่ปนกับข้อมูล (เช่น |) ทั้งในตารางอ้างอิงและในสูตรค้นหา
ตัวอย่างบน Excel จริง คอลัมน์ A คือ =B2&"|"&C2 ลากลงมาให้ครบ แล้วค้นหา สินค้า B ระดับ Gold ด้วย =VLOOKUP(F2&"|"&G2,A2:D9,4,FALSE) ได้ราคา 170

คอลัมน์ A คือ =B2&"|"&C2 ส่วนสูตรค้นหาต่อ F2&"|"&G2 ให้เป็นคีย์เดียวกัน แล้ว VLOOKUP ตามปกติ วิธีนี้เข้าใจง่ายและเร็ว เหมาะกับตารางที่แก้โครงสร้างได้
วิธีที่ 2: XLOOKUP ต่อคีย์ในตัว (Microsoft 365)
ตัวอย่างบน Excel จริง =XLOOKUP(F2&"|"&G2,B2:B9&"|"&C2:C9,D2:D9) ได้ 170 โดยไม่ต้องมีคอลัมน์ช่วย

ไม่ต้องมีคอลัมน์ช่วย เพราะ XLOOKUP ต่อคีย์ให้ตรงในสูตรได้เลย ทั้งฝั่งที่ค้นและฝั่งตารางอ้างอิง
วิธีที่ 3: FILTER (Microsoft 365)
ตัวอย่างบน Excel จริง =FILTER(D2:D9,(B2:B9=F2)*(C2:C9=G2),"ไม่พบ") ได้ 170

FILTER คืนทุกแถวที่เข้าเงื่อนไขทั้งสอง (คูณกันเหมือน AND) ถ้าไม่พบจะได้ #CALC! ใส่อาร์กิวเมนต์ที่ 3 กันไว้ เช่น FILTER(..., ..., "ไม่พบ")
วิธีที่ 4: INDEX + MATCH แบบ array (เวอร์ชันเก่า)
ตัวอย่างบน Excel จริง =INDEX(D2:D9,MATCH(1,(B2:B9=F2)*(C2:C9=G2),0)) ได้ 170

MATCH หาตำแหน่งแรกที่ทั้งสองเงื่อนไขเป็นจริงพร้อมกัน (ผลคูณ = 1) ใน Excel รุ่นก่อน 2021 ต้องกด Ctrl + Shift + Enter ยืนยันสูตร
ข้อควรรู้
- เลือกตัวคั่นให้ปลอดภัย — ใช้
|หรือ~ที่ไม่มีทางปนอยู่ในข้อมูลจริง กันคีย์ชนกัน เช่น"A"&"1"กับ"A1"&"" - ผลลัพธ์เป็นตัวเลขและไม่ซ้ำ — ใช้ SUMIFS ได้เลย ง่ายกว่าและเร็วกว่า
- ข้อมูลหลายหมื่นแถว — วิธีคอลัมน์ช่วย + VLOOKUP มักเร็วกว่าวิธี array เพราะ Excel คำนวณเบากว่า
- อยากค้นด้วยแถว+คอลัมน์ของตาราง matrix — ดูบทความ Two-way lookup ที่เป็นคนละโจทย์กัน