หาตำแหน่งของ "Apple"
– สูตรค้นหา "Apple" ใน FruitList
– คืนค่าลำดับที่ 3 หาก "Apple" อยู่ลำดับที่ 3 ใน FruitList (0 = Exact Match)
=MATCH("Apple", FruitList, 0)
3
หาตำแหน่งของค่าในช่วงแถวหรือคอลัมน์
MATCH คืนหมายเลขลำดับของค่าที่ค้นหาในช่วงที่เป็นแถวเดียวหรือคอลัมน์เดียว เลือกได้ทั้งการจับคู่ตรงทั้งหมด การจับคู่ประมาณค่า หรือ wildcard ใช้ควบคู่กับ INDEX เพื่อสร้างสูตรค้นหาที่ยืดหยุ่นกว่า VLOOKUP
=MATCH(lookup_value, lookup_array, [match_type])
=MATCH(lookup_value, lookup_array, [match_type])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| lookup_value | any | Yes | ค่าที่ต้องการค้นหา | |
| lookup_array | range | Yes | ช่วงที่ค้นหา ต้องเป็นแถวเดียวหรือคอลัมน์เดียว | |
| match_type | number | Optional | 1 | 1=ประมาณค่าน้อยที่สุดที่ใกล้ (ต้องเรียงน้อย→มาก), 0=ตรงทั้งหมด, -1=ประมาณค่ามากที่สุดที่ใกล้ (ต้องเรียงมาก→น้อย) |
ใช้ MATCH หาตำแหน่ง แล้ว INDEX ดึงค่าจากคอลัมน์อื่น
หาตำแหน่งของสินค้าในรายการเรียง เพื่อใช้ตรวจสอบว่ามีอยู่หรือไม่
ใช้ wildcard เพื่อหาข้อความที่ขึ้นต้น/ลงท้ายตามรูปแบบ
=MATCH("Apple", FruitList, 0)
3
=MATCH(75, {60, 70, 80, 90}, 1)
2
=INDEX(Price, MATCH("Banana", Product, 0))
ราคา Banana
เฉพาะ match_type=1 หรือ -1 ต้องเรียงข้อมูลตามเงื่อนไขเพื่อให้ผลลัพธ์ถูกต้อง ส่วน match_type=0 ไม่ต้องเรียงเพราะเป็นการจับคู่ตรงทั้งหมด
XMATCH มีค่าเริ่มต้นเป็นการจับคู่ตรงทั้งหมด รองรับค้นหาย้อนกลับและ Binary Search ได้เร็วกว่า ส่วน MATCH เป็นเวอร์ชันเก่าที่ไม่รองรับฟีเจอร์เหล่านี้
MATCH ใช้ค้นหาตำแหน่งของค่าในช่วงหนึ่งแถวหรือหนึ่งคอลัมน์ แล้วคืนลำดับที่พบ ใช้ร่วมกับ INDEX เพื่อดึงค่าจากตำแหน่งนั้น