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

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

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

VLOOKUP ค้นหาได้ทีละ 1 เงื่อนไข แต่งานจริงมักต้องจับคู่หลายอย่างพร้อมกัน เช่น “ราคาของสินค้า A สำหรับลูกค้าระดับ Gold” หรือ “สต็อกของ SKU นี้ ที่คลัง B” บทความนี้รวม 4 วิธีค้นหาแบบหลายเงื่อนไข ตั้งแต่วิธีที่เข้าใจง่ายสุดจนถึงวิธีสั้นแบบ Microsoft 365

วิธีที่ 1: คอลัมน์ช่วยรวมเงื่อนไข แล้ว VLOOKUP

สร้างคอลัมน์ช่วยที่ต่อเงื่อนไขเข้าด้วยกันด้วยตัวคั่นที่ไม่ปนกับข้อมูล (เช่น |) ทั้งในตารางอ้างอิงและในสูตรค้นหา

H2fx=VLOOKUP(F2&"|"&G2, A2:D9, 4, FALSE)
A B C D F G H
1 คีย์รวม สินค้า ระดับลูกค้า ราคา สินค้า ระดับ ราคา
2 A|Gold A Gold 90 A Silver 100
3 A|Silver A Silver 100
4 B|Gold B Gold 170

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

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

H2fx=XLOOKUP(F2&"|"&G2, B2:B9&"|"&C2:C9, D2:D9)
B C D F G H
1 สินค้า ระดับ ราคา สินค้า ระดับ ราคา
2 B Gold 170 B Gold 170

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

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

H2fx=FILTER(D2:D9, (B2:B9=F2)*(C2:C9=G2))
B C D F G H
1 คลัง SKU คงเหลือ คลัง SKU คงเหลือ
2 B X1 44 B X1 44

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

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

H2fx=INDEX(D2:D9, MATCH(1, (B2:B9=F2)*(C2:C9=G2), 0))
B C D F G H
1 สินค้า เดือน ยอด สินค้า เดือน ยอด
2 A ก.พ. 1,200 A ก.พ. 1,200

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

ข้อควรรู้

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

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