หลังจากที่เราได้เรียนรู้การใช้งาน VLOOKUP ในบทความก่อนหน้านี้ไปแล้ว จะพบว่า เราจะต้องนั่งมองเอาเองว่าจะต้องใส่เลขอะไรใน col_index_num

= VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])

ซึ่งมันมีข้อเสียที่สำคัญ นอกเหนือจากการที่จะต้องมานั่งนับจำนวนคอลัมน์เอง ก็คือ หากมีใครไปแทรกคอลัมน์ในบริเวณ table_array ของเราล่ะก็ ผลลัพธ์ที่ได้ก็จะผิดทันที!!

ดังนั้นจะดีกว่าหรือไม่? หากเราจะปล่อยให้ Excel เป็นคนนับจำนวนคอลัมน์เอง ซึ่งฟังก์ชัน MATCH จะมาช่วยเราเรื่องนี้นั่นเองครับ

การใช้ MATCH เพื่อหาลำดับตำแหน่งของค่าที่เราต้องการ

หากเราเข้าใจการทำงานของฟังก์ชั่น VLOOKUP มาก่อนแล้ว จะพบว่าฟังก์ชั่น MATCH นั้นทำงานคล้ายคลึงกันมากครับ เพราะเจ้า MATCH นี้เอาไว้หาคำที่ต้องการเหมือนกัน แต่เจ้า MATCH นี้จะส่งลำดับของผลลัพธ์คำค้นหามาให้ ว่าอยู่ลำดับที่เท่าไหร่ในแถวหรือคอลัมน์ที่กำหนด = ได้ค่ากลับมาเป็นตัวเลข

ซึ่งกำหนดทิศทางการ MATCH ได้ 2 ทิศ คือ แนวตั้งและแนวนอน (ได้แค่แนวตั้งแบบคอลัมน์เดียว ไม่ก็แถวนอนแถวเดียว)

match

วิธีการใช้งาน

=MATCH(lookup_value, lookup_array, [match_type])

=MATCH(หาคำนี้,ว่าอยู่ลำดับที่เท่าไหร่ในแถวหรือคอลัมน์นี้,เลือกประเภทการ Match)
สังเกตว่า Lookup_Array จะมีได้แค่มิติเดียว คือเป็นแถวเดียว หรือ คอลัมน์เดียวเท่านั้น ไม่สามารถใส่เป็นตาราง 2 มิติได้

ประเภท MATCH แนวดิ่ง MATCH แนวนอน
วิธีการสั่งงาน กำหนด Lookup_Array เป็นคอลัมน์เดียว กำหนด Lookup_Array เป็นแถวเดียว
Concept การทำงาน วิ่งจากบนลงล่างdownเมื่อเจอคำที่ต้องการจะแสดงลำดับตำแหน่งกลับมา วิ่งจากซ้ายไปขวาright

เมื่อเจอคำที่ต้องการจะแสดงลำดับตำแหน่งกลับมา

ประเภทการ MATCH (Match Type)

แบ่งเป็น 3 ประเภท (มีประเภทมากกว่า VLOOKUP อีกนะ) ซึ่งปกติเราก็มักจะใช้แบบ 0 ครับ

Match Type การทำงาน หากเจอค่าที่ค้นหาหลายตัว
0 หาค่าที่เท่ากับตัวที่กำหนดเป๊ะๆ ว่าอยู่ลำดับที่เท่าไหร่ คล้าย VLOOKUP แบบ Exact Match ในคอลัมน์หรือแถวเดียวกัน มันจะยึดที่เจออันแรกสุด
1
(หรือ ไม่ใส่ค่า)
Lookup_Array ต้องเรียงน้อยไปมาก 
มันจะหาค่าที่มากกว่า Lookup_ Value แล้วเด้งกลับ 1 ช่อง (แบบเดียวกับ VLOOKUP แบบ Approximate Match)
มันจะยึดที่เจออันหลังสุดครับ 
Tips : มันจะวิ่งไล่จากบนลงล่าง /  ซ้ายไปขวา จนเจอตัวที่มากกว่าค่าที่กำหนดแล้วจะเด้งกลับ 1 ช่อง
-1 Lookup_Array ต้องเรียงมากไปน้อย
มันจะหาค่าที่น้อยกว่า Lookup_ Value แล้วเด้งกลับ 1 ช่อง
มันจะยึดที่เจออันหลังสุดครับ
Tips : มันจะวิ่งไล่จากบนลงล่าง /  ซ้ายไปขวา จนเจอตัวที่มากกว่าค่าที่กำหนดแล้วจะเด้งกลับ 1 ช่อง

แนวทางการใช้งาน

มักใช้ร่วมกับฟังก์ชั่นอื่นเช่น ใช้กับ VLOOKUP ในส่วน Col_Index_Num ตามที่ได้อธิบายไปข้างต้น

vlookup-match

นอกจากนี้ยังช่วย เวลามีการแทรกคอลัมน์แล้วสูตร Col_Index_Num  ใน  VLOOKUP จะสามารถเลื่อนตามโดยอัตโนมัติ ทำให้ผลลัพธ์ไม่เพี้ยน


Comments

  1. […] Date & Time Level 16 : VLOOKUP และ MATCH คู่ซี้ค้นหาข้อมูล Level 17. การใช้ Advanced Filter Level 18. การใช้ […]

  2. […] Level 14. จัดการข้อความให้อยู่หมัด ด้วยฟังก์ชั่นกลุ่ม TEXT Level 15 : เดินทางข้ามเวลาด้วยฟังก์ชั่นกลุ่ม Date & Time Level 16 : VLOOKUP และ MATCH คู่ซี้ค้นหาข้อมูล […]

  3. […] เมื่อต้องการ “Map ข้อมูล” เช่น หาชื่อสินค้าจากรหัสสินค้า ให้ใช้ฟังก์ชั่น VLOOKUP […]