Two-way lookup คือการค้นหาค่าจากตารางโดยใช้ทั้งหัวแถวและหัวคอลัมน์พร้อมกัน เช่น ตารางราคาที่แถวเป็นชื่อสินค้า คอลัมน์เป็นไซซ์ แล้วเราอยากได้ราคาของ “เสื้อ” ไซซ์ “L” VLOOKUP ธรรมดาทำไม่ได้เพราะมันล็อกคอลัมน์ผลลัพธ์ตายตัว บทความนี้รวม 3 วิธีทำ two-way lookup ตั้งแต่แบบที่ใช้ได้ทุกเวอร์ชันจนถึงแบบสั้นที่สุดใน Microsoft 365
🎬 ดูวิดีโอสอน (1 นาที 4 วินาที) บน Excel จริง หรืออ่านขั้นตอนละเอียดด้านล่าง
วิธีที่ 1: INDEX + MATCH + MATCH (ใช้ได้ทุกเวอร์ชัน)
ตัวอย่างบน Excel จริง ค้นหาราคาของ เสื้อโปโล ไซซ์ M ด้วย =INDEX(B2:D4,MATCH(F2,A2:A4,0),MATCH(G2,B1:D1,0)) ได้ 280

MATCH ตัวแรกหาว่า “เสื้อโปโล” อยู่แถวที่เท่าไร (ได้ 2) MATCH ตัวที่สองหาว่า “M” อยู่คอลัมน์ที่เท่าไร (ได้ 2) แล้ว INDEX ดึงค่าที่จุดตัดของแถว 2 คอลัมน์ 2 ในช่วง B2:D4 ออกมา = 280 นี่คือวิธีมาตรฐานที่ยืดหยุ่นที่สุด
วิธีที่ 2: XLOOKUP ซ้อน XLOOKUP (Microsoft 365)
ตัวอย่างบน Excel จริง =XLOOKUP(F2,A2:A4,XLOOKUP(G2,B1:D1,B2:D4)) ได้ 280 เท่ากับวิธีแรก

XLOOKUP ตัวในเลือก “คอลัมน์” ที่ตรงกับไซซ์ M ออกมาเป็นทั้งคอลัมน์ก่อน แล้ว XLOOKUP ตัวนอกเลือก “แถว” ที่ตรงกับเสื้อโปโลจากคอลัมน์นั้น อ่านง่ายและไม่ต้องนับตำแหน่ง ดู XLOOKUP
วิธีที่ 3: SUMPRODUCT (เวอร์ชันเก่า ไม่ต้องกด Ctrl+Shift+Enter)
ตัวอย่างบน Excel จริง =SUMPRODUCT((A2:A4=F2)*(B1:D1=G2)*B2:D4) ได้ 280 เท่ากับสองวิธีแรก

SUMPRODUCT สร้างตาราง TRUE/FALSE สองชุด (แถวที่ตรง กับ คอลัมน์ที่ตรง) คูณกับตารางค่า เหลือแค่ช่องเดียวที่ตรงทั้งคู่ แล้วรวมยอด ใช้ได้เฉพาะเมื่อค่าในตารางเป็นตัวเลข
ข้อควรรู้
- หัวแถวและหัวคอลัมน์ต้องไม่ซ้ำ — ถ้ามีชื่อซ้ำ MATCH จะเจอตัวแรกเสมอ
- ใส่ 0 ใน MATCH เพื่อหาแบบตรงเป๊ะ — ถ้าลืมใส่ จะกลายเป็นการค้นแบบใกล้เคียงและได้ผลผิด
- กันพิมพ์คีย์ผิด — ทำหัวค้นหา (G2, H1) เป็น Dropdown จะเลือกได้เฉพาะค่าที่มีจริง
- อยากดึงทั้งแถวหรือทั้งคอลัมน์ — ใส่ 0 แทนตำแหน่ง เช่น
INDEX(B2:D4, MATCH(G2,A2:A4,0), 0)ได้ราคาทุกไซซ์ของสินค้านั้น