MATCH
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด บางช่องใช้ผลจาก LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ
MATCH คืออะไร
บอกว่าค่าที่ค้นหาอยู่ลำดับที่เท่าไรของช่วง แล้วนำเลขลำดับไปใช้กับ INDEX หรือสูตรอื่น
ใช้เมื่อไหร่
- หาว่ารหัสหรือชื่ออยู่ลำดับที่เท่าไรของรายการ แล้วส่งเลขนั้นให้ INDEX
- หาเลขคอลัมน์จากชื่อหัวตาราง ให้ VLOOKUP หรือ INDEX
- หาขั้นในตารางเกณฑ์ เช่น ขั้นส่วนลดตามยอดสั่งซื้อ
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| lookup_value | จำเป็น | ค่าที่ต้องการหาลำดับ |
| lookup_array | จำเป็น | ช่วงที่ค้นหา เป็นแถวเดียวหรือคอลัมน์เดียว |
| [match_type] | ไม่บังคับ | 0 ตรงทุกตัว · 1 หรือไม่ใส่ = ค่าที่มากที่สุดที่ไม่เกินค่าที่หา (เรียงน้อยไปมาก) · -1 ค่าที่น้อยที่สุดที่ไม่ต่ำกว่าค่าที่หา (เรียงมากไปน้อย) |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
MATCH บอกว่ารหัสใน I4 อยู่ลำดับที่เท่าไรของ A5:A14 แล้ว INDEX ใช้ลำดับนั้นดึงชื่อสินค้า
| แถว | 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 แบบตรงทุกตัว (0) ได้ลำดับที่ 7 ซึ่งอยู่แถว 11 ของชีต
- ลองเลือกรหัสอื่นจาก Dropdown แล้วดูลำดับและชื่อสินค้าเปลี่ยนตาม
- MATCH คืนลำดับ ไม่ใช่ค่า และไม่แยกตัวพิมพ์เล็กใหญ่ พิมพ์ p024 ก็ได้ลำดับเดียวกับ P024
ตัวอย่างทั้งหมด 4 แบบ
- 1หาลำดับของรหัสสินค้า · MATCH บอกว่ารหัสใน I4 อยู่ลำดับที่เท่าไรของ A5:A14 แล้ว INDEX ใช้ลำดับนั้นดึงชื่อสินค้า
- 2หาขั้นส่วนลดจากยอดสั่งซื้อ (match_type 1) · 1 = หาค่าที่มากที่สุดที่ไม่เกินยอดใน I4 คอลัมน์ A จึงต้องเรียงจากน้อยไปมาก
- 3เลือกรถที่เล็กที่สุดที่รับน้ำหนักได้ (match_type -1) · -1 = หาค่าที่น้อยที่สุดที่ไม่ต่ำกว่าน้ำหนักใน I4 ตารางจึงต้องเรียงจากมากไปน้อย
- 4ลืมใส่ 0 ได้ลำดับผิดแบบไม่มีคำเตือน · รหัส P025 ไม่มีในตาราง แต่ MATCH ที่ไม่ใส่ match_type ยังคืนลำดับมาให้
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| MATCH |
MATCH ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกฟังก์ชันให้ถูกงาน
| ฟังก์ชัน | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| MATCH | หาลำดับของค่าในช่วง ทุกเวอร์ชัน | =MATCH(I4,A5:A14,0) |
| XMATCH | หาลำดับ ค่าเริ่มต้นตรงทุกตัว ค้นจากล่างขึ้นบนได้ (2021 ขึ้นไป) | =XMATCH(I4,A5:A14) |
| INDEX + MATCH | ใช้ลำดับที่ได้ดึงค่าจากอีกคอลัมน์ | =INDEX(B5:B14,MATCH(I4,A5:A14,0)) |
| COUNTIF | แค่อยากรู้ว่ามีค่านี้หรือไม่ และมีกี่ครั้ง | =COUNTIF(A5:A14,I4) |
ใน Power BI ใช้อะไร
DAX ไม่มี MATCH แต่มี INDEX, OFFSET และ WINDOW ที่เลือกแถวตามตำแหน่งในตารางที่เรียงแล้ว งานจัดอันดับใช้ RANKX งานเลือกตามค่าใช้ SWITCH
ไฟล์ฝึก MATCH
9Expert-MATCH-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1ลำดับที่ของรหัสในช่อง C7
- ข้อ 2ลำดับที่ของสินค้าชื่อในช่อง C8
- ข้อ 3หัวคอลัมน์ในช่อง C9 อยู่คอลัมน์ที่เท่าไรของหัวตาราง G5:K5
- ข้อ 4ราคาขายของรหัสในช่อง C10 ใช้ INDEX คู่กับ MATCH
- ข้อ 5ยอดสั่งซื้อในช่อง C11 อยู่ขั้นที่เท่าไรของตารางส่วนลด (G19:G23)
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =MATCH("P024",A5:A14,0) ได้ 7 หมายความว่าอย่างไร
MATCH คืนลำดับในช่วง ช่วงนี้เริ่มที่แถว 5 ลำดับที่ 7 จึงอยู่แถว 11 ของชีต
2. ถ้าไม่ใส่ match_type MATCH จะค้นแบบใด
ค่าเริ่มต้นคือ 1 จึงเป็นต้นเหตุของลำดับผิดเมื่อค้นรหัสแล้วลืมใส่ 0
3. match_type = -1 ต้องเรียงข้อมูลอย่างไร
Microsoft ระบุว่า -1 ใช้กับข้อมูลที่เรียงจากมากไปน้อย ถ้าไม่เรียงอาจได้ #N/A
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)