เคล็ดลับ
ลองใช้ฟังก์ชัน XMATCH ใหม่ ซึ่งเป็นเวอร์ชันที่ได้รับการปรับปรุงของ MATCH ที่ทํางานในทุกทิศทางและส่งกลับรายการที่ตรงกันตามค่าเริ่มต้น ทําให้ใช้งานง่ายและสะดวกมากกว่ารุ่นก่อน
ฟังก์ชัน MATCH จะค้นหารายการที่ระบุในช่วงของเซลล์ แล้วส่งกลับตําแหน่งสัมพัทธ์ของรายการนั้นในช่วง ตัวอย่างเช่น ถ้าช่วง A1:A3 มีค่า 5, 25 และ 38 แล้วสูตร =MATCH(25,A1:A3,0) จะส่งกลับตัวเลข 2 เนื่องจาก 25 เป็นรายการที่สองในช่วง
เคล็ดลับ
ใช้ MATCH แทนฟังก์ชัน LOOKUP เมื่อคุณต้องการตําแหน่งของรายการในช่วงแทนรายการ ตัวอย่างเช่น คุณอาจใช้ฟังก์ชัน MATCH เพื่อให้ค่าสําหรับอาร์กิวเมนต์ row_num ของฟังก์ชัน INDEX
ไวยากรณ์
MATCH(lookup_value, lookup_array, [match_type])
ไวยากรณ์ของฟังก์ชัน MATCH มีอาร์กิวเมนต์ดังนี้
lookup_value จําเป็น ค่าที่คุณต้องการจับคู่ใน lookup_array ตัวอย่างเช่น เมื่อคุณค้นหาหมายเลขโทรศัพท์ของใครบางคนในสมุดโทรศัพท์ คุณกําลังใช้ชื่อของบุคคลนั้นเป็นค่าการค้นหา แต่หมายเลขโทรศัพท์เป็นค่าที่คุณต้องการ
อาร์กิวเมนต์ lookup_value อาจเป็นค่า (ตัวเลข ข้อความ หรือค่าตรรกะ) หรือการอ้างอิงเซลล์ไปยังตัวเลข ข้อความ หรือค่าตรรกะ
lookup_array จําเป็น ช่วงของเซลล์ที่กําลังค้นหา
match_type ไม่บังคับ ตัวเลข -1, 0 หรือ 1 อาร์กิวเมนต์ match_type จะระบุว่า Excel จับคู่ lookup_value กับค่าใน lookup_array อย่างไร ค่าเริ่มต้นสําหรับอาร์กิวเมนต์นี้คือ 1
ตารางต่อไปนี้อธิบายวิธีที่ฟังก์ชันค้นหาค่าโดยยึดตามการตั้งค่าของอาร์กิวเมนต์ match_type
| Match_type | ลักษณะการทำงาน |
|---|---|
| 1 หรือละไว้ | MATCH จะค้นหาค่าที่มากที่สุดซึ่งน้อยกว่าหรือเท่ากับ lookup_value ค่าในอาร์กิวเมนต์ lookup_array ต้องเรียงจากน้อยไปหามาก ตัวอย่างเช่น ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE |
| 0 | MATCH จะค้นหาค่าแรกที่เท่ากับ lookup_value ค่าในอาร์กิวเมนต์ lookup_array อาจเป็นลําดับใดก็ได้ |
| -1 | MATCH ค้นหาค่าที่น้อยที่สุดซึ่งมากกว่าหรือเท่ากับlookup_value ค่าในอาร์กิวเมนต์ lookup_array ต้องเรียงจากมากไปหาน้อย ตัวอย่างเช่น: TRUE, FALSE, Z-A, ... 2, 1, 0, -1, -2, ... และอื่นๆ |
- MATCH ส่งกลับตําแหน่งของค่าที่ตรงกันภายใน lookup_array ไม่ใช่ค่าที่ตรงกัน ตัวอย่างเช่น MATCH("b",{"a","b","c"},0) จะส่งกลับ 2 ซึ่งเป็นตําแหน่งสัมพัทธ์ของ "b" ภายในอาร์เรย์ {"a","b","c"}
- ฟังก์ชัน MATCH ไม่แยกความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเมื่อมีการเปรียบเทียบค่าข้อความ
- ถ้า MATCH ไม่ประสบความสำเร็จในการค้นหาค่าที่ตรงกัน จะส่งกลับ #N/A เป็นค่าความผิดพลาด
- ถ้า match_type เป็น 0 และ lookup_value เป็นสตริงข้อความ คุณสามารถใช้อักขระตัวแทน คือ เครื่องหมายคําถาม (?) และเครื่องหมายดอกจัน (*) ในอาร์กิวเมนต์ lookup_value ได้ เครื่องหมายคําถามตรงกับอักขระตัวเดียว เครื่องหมายดอกจันใช้แทนอักขระหลายตัวติดกัน ถ้าคุณต้องการค้นหาเครื่องหมายคําถามหรือดอกจันจริงๆ ให้พิมพ์ เครื่องหมายตัวหนอน (~) ไว้หน้าอักขระ
ตัวอย่าง
คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้
| ผลิตภัณฑ์ | นับจำนวน | |
|---|---|---|
| กล้วย | 25 | |
| ส้ม | 38 | |
| แอปเปิล | 40 | |
| แพร์ | 41 | |
| สูตร | คำอธิบาย | ผลลัพธ์ |
| =MATCH(39,B2:B5,1) | เนื่องจากไม่มีค่าที่ตรงกันพอดี จึงส่งกลับค่าตำแหน่งของค่าน้อยสุดถัดไป (38) ในช่วงเซลล์ B2:B5 | 2 |
| =MATCH(41,B2:B5,0) | ตำแหน่งของค่า 41 จากในช่วง B2:B5 | 4 |
| =MATCH(40,B2:B5,-1) | ส่งกลับค่าข้อผิดพลาด เนื่องจากค่าในช่วงเซลล์ B2:B5 ไม่ได้เรียงตามลำดับจากมากไปหาน้อย | #N/A |