ฟังก์ชัน MATCH

บทความนี้จะอธิบายถึงไวยากรณ์ของสูตรและการใช้ฟังก์ชัน (ฟังก์ชัน: สูตรที่เขียนไว้ล่วงหน้าที่จะใช้ค่าหนึ่งหรือหลายค่า ดำเนินการต่างๆ และส่งกลับค่าหนึ่งหรือหลายค่า ใช้ฟังก์ชันเพื่อทำให้สูตรบนแผ่นงานสั้นลงและไม่ซับซ้อน โดยเฉพาะอย่างยิ่งสูตรที่ใช้ในการคำนวณที่ยาวหรือซับซ้อน) MATCH ใน Microsoft Office Excel

คำอธิบาย

ฟังก์ชัน 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 ได้ เครื่องหมายคำถามจะจับคู่อักขระตัวเดียว ส่วนเครื่องหมายดอกจันจะจับคู่อักขระที่เรียงลำดับอย่างไรก็ได้ ถ้าคุณต้องการค้นหาเครื่องหมายคำถามหรือเครื่องหมายดอกจันจริงๆ ให้ใส่เครื่องหมายตัวหนอน (~) หน้าอักขระ

ตัวอย่าง

ถ้าคัดลอกตัวอย่างไปใส่ไว้ในแผ่นงานว่างเปล่าจะทำให้อ่านตัวอย่างได้เข้าใจง่ายยิ่งขึ้น

แสดงฉันจะคัดลอกตัวอย่างได้อย่างไร

  1. เลือกตัวอย่างในบทความนี้ ถ้าคุณกำลังคัดลอกตัวอย่างใน Excel Web App ให้คัดลอกและวางทีละเซลล์

 สิ่งสำคัญ   ไม่ต้องเลือกส่วนหัวแถวหรือคอลัมน์

การเลือกตัวอย่างจากวิธีใช้

การเลือกตัวอย่างจากวิธีใช้
  1. กดปุ่ม CTRL+C
  2. สร้างสมุดงานหรือแผ่นงานเปล่า
  3. ในแผ่นงาน ให้เลือกเซลล์ A1 แล้วกดปุ่ม CTRL+V ถ้าคุณกำลังทำงานใน Excel Web App ให้ทำซ้ำการคัดลอกและการวางสำหรับแต่ละเซลล์ในตัวอย่าง

 สิ่งสำคัญ   เพื่อให้ตัวอย่างทำงานอย่างถูกต้อง คุณต้องวางลงในเซลล์ A1 ของแผ่นงาน

  1. ในการสลับการแสดงผลระหว่างผลลัพธ์และสูตรการคำนวณ ให้กดปุ่ม CTRL+` (ตัวกำกับเสียงเกรฟ) หรือไปบนแท็บ สูตร ในกลุ่ม ตรวจสอบสูตร ให้คลิก ปุ่ม แสดงสูตร

หลังจากที่คุณคัดลอกตัวอย่างไปยังแผ่นงานเปล่าแล้ว คุณสามารถปรับให้เหมาะสมกับความต้องการของคุณได้


 
1
2
3
4
5
6


7

8

9
A B C
ผลิตภัณฑ์ จำนวน
กล้วย 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
 
 
นำไปใช้กับ:
Excel 2007