ฟังก์ชัน MATCH
เคล็ดลับ: ลองใช้ฟังก์ชัน 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 |