หน้าแรก › บทความ › Microsoft
Microsoft

VLOOKUP หลายเงื่อนไขใน Excel ค้นหาด้วย 2 คีย์ขึ้นไป

เผยแพร่ 29 ส.ค. 69

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

VLOOKUP หลายเงื่อนไขใน Excel ด้วยคอลัมน์ช่วยต่อสินค้ากับระดับ ได้ราคา 170

คอลัมน์ A คือ =B2&"|"&C2 ส่วนสูตรค้นหาต่อ F2&"|"&G2 ให้เป็นคีย์เดียวกัน แล้ว VLOOKUP ตามปกติ วิธีนี้เข้าใจง่ายและเร็ว เหมาะกับตารางที่แก้โครงสร้างได้

วิธีที่ 2: XLOOKUP ต่อคีย์ในตัว (Microsoft 365)

ตัวอย่างบน Excel จริง =XLOOKUP(F2&"|"&G2,B2:B9&"|"&C2:C9,D2:D9) ได้ 170 โดยไม่ต้องมีคอลัมน์ช่วย

XLOOKUP หลายเงื่อนไขใน Excel ต่อคีย์ในสูตร ไม่ต้องมีคอลัมน์ช่วย ได้ราคา 170

ไม่ต้องมีคอลัมน์ช่วย เพราะ XLOOKUP ต่อคีย์ให้ตรงในสูตรได้เลย ทั้งฝั่งที่ค้นและฝั่งตารางอ้างอิง

วิธีที่ 3: FILTER (Microsoft 365)

ตัวอย่างบน Excel จริง =FILTER(D2:D9,(B2:B9=F2)*(C2:C9=G2),"ไม่พบ") ได้ 170

FILTER หลายเงื่อนไขใน Excel ได้ราคา 170

FILTER คืนทุกแถวที่เข้าเงื่อนไขทั้งสอง (คูณกันเหมือน AND) ถ้าไม่พบจะได้ #CALC! ใส่อาร์กิวเมนต์ที่ 3 กันไว้ เช่น FILTER(..., ..., "ไม่พบ")

วิธีที่ 4: INDEX + MATCH แบบ array (เวอร์ชันเก่า)

ตัวอย่างบน Excel จริง =INDEX(D2:D9,MATCH(1,(B2:B9=F2)*(C2:C9=G2),0)) ได้ 170

INDEX + MATCH แบบ Array หลายเงื่อนไขใน Excel ได้ราคา 170

MATCH หาตำแหน่งแรกที่ทั้งสองเงื่อนไขเป็นจริงพร้อมกัน (ผลคูณ = 1) ใน Excel รุ่นก่อน 2021 ต้องกด Ctrl + Shift + Enter ยืนยันสูตร

ข้อควรรู้

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line