ฟังก์ชัน XMATCH ใน Excel เป็นฟังก์ชันใหม่ที่พัฒนาขึ้นเพื่อมาแทนที่ MATCH โดยให้ความสามารถที่ยืดหยุ่นและเข้าใจง่ายกว่า ช่วยให้เราสามารถค้นหาตำแหน่งของข้อมูลในแนวตั้งหรือแนวนอนได้ทั้งจากบนลงล่างและจากล่างขึ้นบน และยังรองรับการค้นหาแบบประมาณค่าและการใช้ wildcard อีกด้วย
ฟังก์ชันนี้เหมาะอย่างยิ่งในการใช้ร่วมกับฟังก์ชัน INDEX หรือ XLOOKUP เพื่อค้นหาข้อมูลอย่างรวดเร็ว และเมื่อทำงานกับตารางข้อมูลขนาดใหญ่ XMATCH จะช่วยเพิ่มประสิทธิภาพในการค้นหาและลดความซับซ้อนของสูตรให้ดูสะอาดตาขึ้น
XMATCH สามารถระบุค่าที่ต้องค้นหา ค่าในช่วงที่ค้นหา และวิธีการค้นหาทั้งแบบตรงตัว แบบประมาณ หรือแบบใช้สัญลักษณ์แทน ซึ่งเหมาะสำหรับผู้ใช้งานตั้งแต่ระดับพื้นฐานไปจนถึงระดับสูงที่ต้องการทำงานอย่างเป็นระบบกับข้อมูลที่เปลี่ยนแปลงบ่อย
ประโยชน์ของฟังก์ชัน XMATCH ใน Excel
- ค้นหาตำแหน่งของข้อมูลได้ทั้งแนวตั้งและแนวนอน
- ใช้งานง่ายกว่า MATCH ด้วยพารามิเตอร์ที่อ่านง่าย
- รองรับ wildcard เช่น * และ ?
- กำหนดลำดับการค้นหาได้ทั้งจากบนลงล่าง และจากล่างขึ้นบน
- ทำงานร่วมกับ INDEX หรือ XLOOKUP ได้ดีมาก
- ใช้ได้กับ Excel 365 และ Excel 2019 ขึ้นไป
รูปแบบการใช้งาน (Syntax)
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
อาร์กิวเมนต์ที่ใช้ในฟังก์ชัน XMATCH มีดังนี้
lookup_value– ค่าที่ต้องการค้นหาlookup_array– ช่วงข้อมูลที่ต้องการค้นหาตำแหน่งmatch_mode(ไม่จำเป็น)- 0: ค่าที่ตรงกันแบบตรงตัว (ค่าเริ่มต้น)
- -1: รายการที่ตรงกันพอดีหรือรายการถัดไปที่น้อยที่สุด
- 1: รายการที่ตรงกันพอดีหรือรายการถัดไปที่มากที่สุด
- 2: ค้นหาแบบใช้ wildcard
- ? (เครื่องหมายคำถาม) แทนอักขระตัวใดก็ได้ ตัวอย่างเช่น sm?th จะค้นหา “smith” และ “smyth”
- * (เครื่องหมายดอกจัน) แทนจํานวนอักขระใดๆ ตัวอย่างเช่น *east จะค้นหา “Northeast” และ “Southeast”
- ~ (เครื่องหมายตัวหนอน) ตามด้วย ?, * หรือ ~ หมายถึง เครื่องหมายคําถาม เครื่องหมายดอกจัน หรือเครื่องหมายตัวหนอน ตัวอย่างเช่น fy06~? จะค้นหา “fy06?”
search_mode(ไม่จำเป็น)- 1: ค้นหาจากบนลงล่าง (ค่าเริ่มต้น)
- -1: ค้นหาจากล่างขึ้นบน
- 2: ทําการค้นหาแบบไบนารีโดยอาศัย lookup_array เรียงลําดับจากน้อยไปหามาก ถ้าไม่ได้เรียงลําดับ ผลลัพธ์ที่ไม่ถูกต้องจะถูกส่งกลับ
- -2: ทําการค้นหาแบบไบนารีโดยอาศัย lookup_array เรียงลําดับจากมากไปหาน้อย ถ้าไม่ได้เรียงลําดับ ผลลัพธ์ที่ไม่ถูกต้องจะถูกส่งกลับ
ตัวอย่างการประยุกต์ใช้งานฟังก์ชัน XMATCH ใน Excel
ตัวอย่างที่ 1: ค้นหาตำแหน่งของชื่อในรายชื่อ
ข้อมูลรายชื่อพนักงาน
| ชื่อ |
|---|
| สมชาย |
| อารีย์ |
| ปกรณ์ |
ต้องการค้นหาว่าพนักงานชื่อ “อารีย์” อยู่แถวที่เท่าไหร่ของช่วงข้อมูล
สูตร
=XMATCH("อารีย์", A2:A4)

"อารีย์"คือค่าที่ต้องการค้นหาA2:A4คือช่วงข้อมูลที่ต้องการค้นหา- ไม่มีการกำหนด
match_modeหรือsearch_mode→ ใช้ค่าเริ่มต้น (0 และ 1) - สูตรจะค้นหาจาก A2 ลงไปจนพบ “อารีย์” ที่แถว 2 ของช่วง → คืนค่าเป็น 2
ผลลัพธ์
2

ตัวอย่างที่ 2: ค้นหาคะแนนสูงสุดโดยใช้ XMATCH ร่วมกับ MAX และ INDEX
ข้อมูลคะแนนสอบ
| ชื่อ | คะแนน |
|---|---|
| กิตติ | 75 |
| ดารา | 85 |
| วัฒนา | 80 |
ต้องการค้นหาคนที่ได้คะแนนสูงสุด
สูตร
=INDEX(A2:A4, XMATCH(MAX(B2:B4), B2:B4))

MAX(B2:B4)ให้ค่า 85 (คะแนนสูงสุด)XMATCH(85, B2:B4)ค้นหาตำแหน่งของค่า 85 ใน B2:B4 → ได้ตำแหน่ง 2INDEX(A2:A4, 2)คืนค่าจากแถวที่ 2 ใน A2:A4 → ได้ “ดารา”
ผลลัพธ์
ดารา

ตัวอย่างที่ 3: ใช้ฟังก์ชัน XMATCH ใน Excel ค้นหาข้อมูลจากล่างขึ้นบน
ข้อมูลบันทึกการขาย
| วันที่ | สินค้า |
|---|---|
| 01/05/2025 | ปากกา |
| 02/05/2025 | ดินสอ |
| 03/05/2025 | ปากกา |
ต้องการค้นหาสินค้าเพื่อดูว่าอยู่ตำแหน่งไหนของช่วงข้อมูล
สูตร
=XMATCH("ปากกา", B2:B4,, -1)

"ปากกา"คือค่าที่ต้องการค้นหาB2:B4คือช่วงที่ค้นหาmatch_modeไม่ระบุ → ใช้ค่าเริ่มต้นคือ 0 (ตรงตัว)search_modeเป็น -1 หมายถึง ค้นหาจากล่างขึ้นบน- สูตรเริ่มตรวจจาก B4 → เจอ “ปากกา” ทันที → ตำแหน่งในช่วงคือ 3
ผลลัพธ์

ตัวอย่างที่ 4: ค้นหาตำแหน่งแบบประมาณค่า
ข้อมูลตัวอย่าง
| จำนวน | ราคาต่อหน่วย |
|---|---|
| 1 | 100 |
| 5 | 90 |
| 10 | 80 |
สูตร
=XMATCH(6, A2:A4, 1)

- ต้องการหาราคาสำหรับจำนวน 6 ชิ้น
A2:A4คือช่วงของจำนวนที่สามารถสั่งซื้อได้match_mode= 1 หมายถึง หาค่าที่ตรงกันพอดีหรือค่าถัดไปที่มากที่สุด- ค่าที่น้อยที่สุดที่ยังมากกว่าหรือเท่ากับ 6 คือ 10 (แถวที่ 3) → คืนค่า 3
ผลลัพธ์

ตัวอย่างที่ 5: ใช้ฟังก์ชัน XMATCH ใน Excel ค้นหาค่าด้วย Wildcard
รายชื่อพนักงาน
| ชื่อ |
|---|
| วรรณา |
| วรพจน์ |
| วิทยา |
ต้องการหาชื่อที่ขึ้นต้นด้วย “วร” แล้วตามด้วยตัวอักษรใดก็ได้
สูตร
=XMATCH("วร*", A2:A4, 2)

"วร*"คือ pattern ที่ขึ้นต้นด้วย “วร”A2:A4คือช่วงที่ค้นหาmatch_mode= 2 → ใช้ wildcard ในการค้นหา- สูตรจะตรวจ A2: วรรณา → ชื่อแรกก็ตรงแล้ว
- คืนค่าตำแหน่งเป็น 1
ผลลัพธ์
1

หมายเหตุ
- ฟังก์ชัน XMATCH ใช้ได้ใน Excel 365 และ Excel 2019 ขึ้นไป
- ไม่ควรใช้ wildcard โดยไม่ระบุ
match_mode = 2 - เหมาะกับการใช้ควบคู่กับฟังก์ชัน INDEX หรือ XLOOKUP เพื่อให้ได้ค่าที่ต้องการแทนตำแหน่ง
- แนะนำใช้ร่วมกับฟังก์ชัน IFERROR เพื่อป้องกัน error
สรุป
ฟังก์ชัน XMATCH ใน Excel เป็นเครื่องมือที่มีประสิทธิภาพในการค้นหาตำแหน่งของข้อมูลในช่วงที่กำหนด โดยสามารถกำหนดรูปแบบการค้นหาได้หลากหลายทั้งแบบเป๊ะ แบบประมาณ และแบบใช้สัญลักษณ์แทน ช่วยให้การทำงานกับข้อมูลใน Excel มีความยืดหยุ่นและแม่นยำมากยิ่งขึ้น นอกจากนี้ยังเหมาะสำหรับใช้ควบคู่กับ INDEX, XLOOKUP หรือฟังก์ชันคำนวณอื่น ๆ ได้อย่างลงตัว
ข้อมูลอ้างอิง: XMATCH function
