XMATCH
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด บางช่องใช้ผลจาก LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ
XMATCH คืออะไร
หาลำดับของค่าในช่วงแบบใหม่ ค่าเริ่มต้นตรงทุกตัว ค้นจากล่างขึ้นบน หาค่าใกล้เคียง หรือใช้ wildcard ได้
ใช้เมื่อไหร่
- หาลำดับของรหัสหรือชื่อ โดยไม่ต้องกังวลว่าจะลืมใส่ 0
- หารายการล่าสุดของลูกค้าหรือพนักงาน ร่วมกับ INDEX
- เลือกขนาดหรือรถที่เล็กที่สุดที่พอ จากรายการที่ไม่ได้เรียง
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| lookup_value | จำเป็น | ค่าที่ต้องการหาลำดับ |
| lookup_array | จำเป็น | ช่วงหรือ array ที่ค้นหา เป็นแถวเดียวหรือคอลัมน์เดียว |
| [match_mode] | ไม่บังคับ | 0 ตรงทุกตัว (ค่าเริ่มต้น) · -1 ตรงหรือค่าที่น้อยกว่าถัดไป · 1 ตรงหรือค่าที่มากกว่าถัดไป · 2 wildcard |
| [search_mode] | ไม่บังคับ | 1 บนลงล่าง (ค่าเริ่มต้น) · -1 ล่างขึ้นบน · 2 / -2 binary search กับข้อมูลที่เรียงน้อยไปมาก / มากไปน้อย |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
ค่าเริ่มต้นของ XMATCH คือค้นแบบตรงทุกตัว ต่างจาก MATCH ที่ค่าเริ่มต้นเป็นแบบใกล้เคียง
| แถว | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 4 | รหัสสินค้า | ชื่อสินค้า | หมวดสินค้า | ราคาขาย (บาท) | ผู้ผลิต | ||
| 5 | P001 | น้ำส้มคั้น 100% 350 มล. (แพ็ค 12) | เครื่องดื่ม | 420 | โรงงานสยามเฟรช นครปฐม | ||
| 6 | P003 | น้ำดื่มสยามเฟรช 600 มล. (แพ็ค 12) | เครื่องดื่ม | 60 | โรงงานสยามเฟรช นครปฐม | ||
| 7 | P006 | กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24) | เครื่องดื่ม | 560 | โรงงานสยามเฟรช นครปฐม | ||
| 8 | P009 | มันฝรั่งทอดกรอบ รสดั้งเดิม 75 ก. (กล่อง 24) | ขนมขบเคี้ยว | 720 | หจก. เกษตรไทยพรีเมียม | ||
| 9 | P011 | ข้าวเกรียบกุ้ง 60 ก. (กล่อง 36) | ขนมขบเคี้ยว | 650 | บจก. ซีฟู้ด โปรเซสซิ่ง | ||
| 10 | P017 | บะหมี่กึ่งสำเร็จรูป รสต้มยำกุ้ง (ลัง 30) | อาหารสำเร็จรูป | 250 | โรงงานสยามเฟรช นครปฐม | ||
| 11 | P024 | นม UHT รสจืด 180 มล. (ลัง 48) | ผลิตภัณฑ์นม | 520 | บจก. แดรี่พลัส อุตสาหกรรม | ||
| 12 | P030 | น้ำปลาแท้ 700 มล. (ลัง 12) | เครื่องปรุงรส | 420 | โรงงานสยามเฟรช นครปฐม | ||
| 13 | P036 | น้ำยาล้างจาน กลิ่นมะนาว 500 มล. (ลัง 24) | ของใช้ในครัวเรือน | 540 | บจก. คลีนโฮม ซัพพลาย | ||
| 14 | P039 | กระดาษทิชชูม้วนใหญ่ (แพ็ค 24) | ของใช้ในครัวเรือน | 420 | บจก. คลีนโฮม ซัพพลาย | ||
| 15 | |||||||
| 16 | |||||||
| 17 | |||||||
| 18 | |||||||
| 19 |
ขั้นตอนการคำนวณ (3)
- อ่านสูตร: หา I4 ใน A5:A14 ได้ลำดับที่ 7 แล้ว INDEX ใช้ลำดับนั้นดึงราคาจาก D5:D14
- ลองพิมพ์ P025 ใน I4: XMATCH ได้ #N/A ส่วน MATCH ที่ไม่ใส่ match_type ได้ 7 ซึ่งผิด
- XMATCH ใส่แค่ 2 argument ก็ค้นแบบตรงทุกตัวแล้ว ส่วน MATCH ต้องใส่ 0 เอง
ตัวอย่างทั้งหมด 4 แบบ
- 1หาลำดับรหัสสินค้า ไม่ต้องใส่ 0 · ค่าเริ่มต้นของ XMATCH คือค้นแบบตรงทุกตัว ต่างจาก MATCH ที่ค่าเริ่มต้นเป็นแบบใกล้เคียง
- 2หารถที่เล็กที่สุดที่รับน้ำหนักได้ (match_mode 1) · 1 = ตรงพอดี หรือค่าที่มากกว่าถัดไป ข้อมูลไม่ต้องเรียง XMATCH ดูครบทุกคันแล้วเลือกคันที่พอดีที่สุด
- 3หาคำสั่งซื้อล่าสุดของพนักงาน (search_mode -1) · -1 = ค้นจากล่างขึ้นบน ข้อมูลเรียงตามวันที่ จึงเจอคำสั่งซื้อล่าสุดก่อน
- 4ค้นสินค้าจากคำบางส่วนด้วย wildcard (match_mode 2) · 2 = ให้ * แทนตัวอักษรกี่ตัวก็ได้ "*"&I4&"*" จึงหมายถึงชื่อที่มีคำใน I4 อยู่ตรงไหนก็ได้
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| XMATCH |
ใช้ Excel 2016 หรือ 2019 ให้ใช้สูตรเหล่านี้แทน ได้ผลเท่ากับตัวอย่างบนหน้านี้ และมีในชีต “Excel 2016-2019” ของไฟล์ฝึก
| แทนตัวอย่าง | สูตรทางเลือก |
|---|---|
| ตัวอย่าง 1 ตรงทุกตัว | =MATCH(I4,A5:A14,0) |
| ตัวอย่าง 2 รถที่เล็กที่สุดที่รับได้ | =MATCH(AGGREGATE(15,6,C5:C10/(C5:C10>=I4),1),C5:C10,0) |
| ตัวอย่าง 2 รหัสรถ (INDEX + MATCH) | =INDEX(A5:A10,MATCH(AGGREGATE(15,6,C5:C10/(C5:C10>=I4),1),C5:C10,0)) |
| ตัวอย่าง 3 ลำดับครั้งล่าสุด | =LOOKUP(2,1/(C5:C14=I4),ROW(C5:C14)-ROW(C4)) |
| ตัวอย่าง 4 ค้นจากคำบางส่วน | =MATCH("*"&I4&"*",B5:B14,0) |
Office 2016 และ 2019 หมดระยะสนับสนุนตั้งแต่ 14 ต.ค. 2568 ไฟล์ยังเปิดได้ แต่ไม่มีอัปเดตความปลอดภัย
XMATCH กับ MATCH ต่างกันอย่างไร
| ประเด็น | XMATCH | MATCH |
|---|---|---|
| ค่าเริ่มต้น | ตรงทุกตัว | ใกล้เคียง (ต้องใส่ 0 เอง) |
| ค่าใกล้เคียง | ไม่ต้องเรียงข้อมูล | ต้องเรียงตาม match_type |
| ค้นจากล่างขึ้นบน | search_mode -1 | ทำไม่ได้ |
| wildcard | ต้องใส่ match_mode 2 | ใช้ได้เมื่อ match_type = 0 |
| เวอร์ชัน | 2021 ขึ้นไป | ทุกเวอร์ชัน |
ใน Power BI ใช้อะไร
DAX ไม่มี MATCH แต่มี INDEX, OFFSET และ WINDOW ที่เลือกแถวตามตำแหน่งในตารางที่เรียงแล้ว งานจัดอันดับใช้ RANKX งานเลือกตามค่าใช้ SWITCH
ไฟล์ฝึก XMATCH
9Expert-XMATCH-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1ลำดับแรกที่พนักงานในช่อง C7 มีคำสั่งซื้อ
- ข้อ 2ลำดับล่าสุดของพนักงานในช่อง C8
- ข้อ 3ยอดสุทธิของคำสั่งซื้อล่าสุดของพนักงานในช่อง C9
- ข้อ 4ลำดับของวันที่ในช่อง C10 ถ้าไม่มีให้ใช้วันก่อนหน้าที่ใกล้ที่สุด
- ข้อ 5ลำดับแรกของเลขที่คำสั่งซื้อที่ตรงกับรูปแบบในช่อง C11
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =XMATCH("P025",A5:A14) เมื่อไม่มี P025 ในช่วง จะได้อะไร
ค่าเริ่มต้นของ XMATCH คือตรงทุกตัว หาไม่พบจึงได้ #N/A
2. อยากได้ลำดับของคำสั่งซื้อล่าสุด (ข้อมูลเรียงตามวันที่) ต้องเขียนแบบใด
search_mode เป็น argument ที่ 4 ต้องใส่ match_mode 0 ไว้ก่อน แล้ว -1 คือค้นจากล่างขึ้นบน
3. =XMATCH(4200,C5:C10,1) หาอะไร
match_mode 1 คือตรงพอดี หรือค่าที่มากกว่าถัดไป ได้ค่าที่เล็กที่สุดที่ไม่ต่ำกว่า 4,200 ไม่ว่าจะอยู่แถวไหน
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)