วิธีใช้สูตร INDEX MATCH ใน Excel (9 ตัวอย่าง)

  • แบ่งปันสิ่งนี้
Hugh West

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

เพื่อแสดงให้เห็น เราจะใช้ชุดข้อมูลตัวอย่างเป็นตัวอย่าง ตัวอย่างเช่น ชุดข้อมูลต่อไปนี้แสดงถึง พนักงานขาย , ผลิตภัณฑ์ และ ยอดขายสุทธิ ของบริษัท

ดาวน์โหลดแบบฝึกหัด

ดาวน์โหลดแบบฝึกหัดต่อไปนี้เพื่อฝึกฝนด้วยตนเอง

การใช้ INDEX-MATCH.xlsx

บทนำเกี่ยวกับ ฟังก์ชัน INDEX

  • ไวยากรณ์

INDEX(อาร์เรย์, row_num,[column_num])

  • อาร์กิวเมนต์

อาร์เรย์: ช่วงที่จะดึงข้อมูล

row_num: หมายเลขแถวของข้อมูลที่จะส่งคืน

[column_num]: หมายเลขคอลัมน์ของข้อมูลที่จะส่งคืน

  • วัตถุประสงค์<2

ฟังก์ชัน INDEX ดึงค่าเซลล์หรือการอ้างอิงของเซลล์ที่อยู่ตรงจุดตัดของแถวและคอลัมน์เฉพาะในช่วงที่กำหนด

ใน ชุดข้อมูลต่อไปนี้ Nate Sales 17000 อยู่ในแถว ที่ 4 และ คอลัมน์ที่ 3 ในช่วง B5:D10 .

อ่านเพิ่มเติม: ดัชนีจับคู่ผลรวมหลายแถวใน Excel (3 วิธี)

9. ค้นหาการจับคู่โดยประมาณโดยใช้ INDEX MATCH

สูตร INDEX MATCH มีประโยชน์มากเมื่อค้นหาการจับคู่โดยประมาณ ในตัวอย่างนี้ เราจะค้นหาผลิตภัณฑ์สำหรับ ยอดขายสุทธิ โดยประมาณของ 6000 ดังนั้น ให้ทำตามขั้นตอน

ขั้นตอน:

  • ขั้นแรก คลิกเซลล์ F5 .
  • จากนั้นพิมพ์ สูตร:
=INDEX(C5:C10,MATCH(F4,D5:D10,1),1)

  • สุดท้าย กด Enter .
  • <12

    หมายเหตุ: ข้อมูลควรอยู่ในลำดับ จากน้อยไปมาก หรือ จากมากไปน้อย เพื่อให้สูตรนี้ทำงานได้

    🔎 สูตรทำงานอย่างไร

    • MATCH(F4,D5:D10,1)

    สูตร MATCH ใช้ 1 เป็นอาร์กิวเมนต์ประเภทการจับคู่ ซึ่งจะส่งคืนค่าที่มากที่สุดซึ่งน้อยกว่าหรือเท่ากับค่าการค้นหา 6000 ที่นี่ มันจะคืนค่า 2 .

    • INDEX(C5:C10,MATCH(F4,D5:D10,1),1)

    ฟังก์ชัน INDEX ส่งคืน เราเตอร์ ที่อยู่ในแถว ที่ 2 ในช่วง C5:C10

    อ่านเพิ่มเติม: วิธีใช้ INDEX และการจับคู่สำหรับการจับคู่บางส่วน (2 วิธี)

    เหตุใด INDEX MATCH จึงมีประโยชน์มากกว่า VLOOKUP

    1. สูตร INDEX MATCH ดูทั้งด้านซ้าย-ขวาของค่าการค้นหา

    ฟังก์ชัน VLOOKUP ไม่สามารถดึงข้อมูลจากด้านซ้ายได้ ด้านข้างของค่าการค้นหา แต่ INDEX MATCH สูตรก็ทำได้

    2. INDEX MATCH ใช้ได้กับแนวตั้งและแนวนอน

    VLOOKUP สามารถดึงข้อมูลจากแนวตั้งเท่านั้น อาร์เรย์ ในขณะที่ INDEX MATCH สามารถผ่านข้อมูลแนวตั้งและแนวนอน

    3. VLOOKUP ล้มเหลวด้วยข้อมูลจากมากไปหาน้อย

    ฟังก์ชัน VLOOKUP ไม่สามารถจัดการข้อมูลจากมากไปหาน้อยได้เมื่อต้องตรงกับค่าประมาณ

    4. สูตรที่มี INDEX MATCH เร็วกว่าเล็กน้อย

    VLOOKUP เป็นฟังก์ชันที่ช้าลงเล็กน้อยเมื่อทำงานกับแถวและคอลัมน์มากเกินไป

    5. ไม่ขึ้นกับตำแหน่งคอลัมน์จริง

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

    6. VLOOKUP ใช้งานได้ไม่ยาก

    ฟังก์ชัน VLOOKUP ใช้งานง่ายกว่าเมื่อเทียบกับฟังก์ชัน INDEX MATCH และการค้นหาส่วนใหญ่ของเราสามารถทำได้ด้วย VLOOKUP อย่างง่ายดาย

    อ่านเพิ่มเติม: INDEX MATCH เทียบกับฟังก์ชัน VLOOKUP (9 ตัวอย่าง)

    สรุป

    นับจากนี้ คุณจะสามารถ ใช้ สูตร INDEX MATCH ใน Excel ด้วยวิธีการที่อธิบายไว้ข้างต้น . ใช้ต่อไปและแจ้งให้เราทราบหากคุณมีวิธีเพิ่มเติมในการทำงาน อย่าลืมที่จะแสดงความคิดเห็น คำแนะนำ หรือคำถามหากคุณมีในส่วนความคิดเห็นด้านล่าง

B5:D10.

รู้เบื้องต้นเกี่ยวกับฟังก์ชัน MATCH

  • ไวยากรณ์
<0 MATCH(lookup_value,lookup_array,[match_type])
  • อาร์กิวเมนต์

lookup_value: ค่าที่จะค้นหาในช่วงข้อมูล

lookup_array : ช่วงข้อมูลจากตำแหน่งที่จะค้นหา lookup_value .

[match_type]: 1/0/1 . -1 หมายถึงค่าที่มากกว่าการจับคู่แบบตรงทั้งหมด 0 สำหรับการจับคู่แบบตรงทั้งหมด และ 1 สำหรับค่าที่น้อยกว่าการจับคู่แบบตรงทั้งหมด

  • วัตถุประสงค์

ฟังก์ชัน MATCH ส่งกลับตำแหน่งสัมพัทธ์ของ lookup_value ในอาร์เรย์

ในชุดข้อมูลด้านล่าง ค่าเซลล์ F4 คือ แฟรงก์ ( lookup_value ) และ แฟรงก์ มีอยู่ใน ตำแหน่งที่ 3 ในส่วน พนักงานขาย ( B5:B10 ) 3 .

9 ตัวอย่างการใช้สูตร INDEX MATCH ใน Excel

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

ในชุดข้อมูลต่อไปนี้ ฟังก์ชัน INDEX จะดึงข้อมูลจาก B5:D10 . ฟังก์ชัน MATCH ส่งคืนหมายเลขแถว 3 และเราได้ระบุหมายเลขคอลัมน์แล้ว ดังนั้นสูตรจะนำข้อมูลที่อยู่ใน 3 แถว และ 3 คอลัมน์ ในช่วง

1. สองทาง การค้นหาด้วย INDEX MATCH ใน Excel

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

ขั้นตอน:

  • ก่อนอื่น เลือกเซลล์ F6 .
  • จากนั้นพิมพ์สูตร:
=INDEX(B5:D10,MATCH(F5,B5:B10,0),MATCH(F4,B4:D4,0))

  • สุดท้าย กด Enter และ มันจะคืนค่า

🔎 How Do the Formula Work?

  • MATCH(F5,B5:B10,0)

สูตร MATCH คืนค่า 3 เป็น INDEX เหมือนแถว number.

  • MATCH(F4,B4:D4,0))

สูตรนี้ MATCH ส่งคืน 3 ถึง INDEX เป็นหมายเลขคอลัมน์

  • INDEX(B5:D10,MATCH(F5,B5:B10,0),MATCH(F4, B4:D4,0))

สุดท้าย ฟังก์ชัน INDEX ส่งคืน 13500 ซึ่งอยู่ในแถว ที่ 3 และ คอลัมน์ที่ 3 ในช่วง B5:D10 .

อ่านเพิ่มเติม: SUMPRODUCT with INDEX and MATCH Functions in Excel

2. สูตร INDEX MATCH เพื่อค้นหาด้านซ้าย

ข้อได้เปรียบที่สำคัญของสูตร INDEX MATCH คือสามารถดึงข้อมูลจากด้านซ้ายของค่าการค้นหาได้ ดังนั้น เรียนรู้ขั้นตอนในการดำเนินการ

ขั้นตอน:

  • ประการแรก เลือกเซลล์ F5 .
  • ถัดไป พิมพ์สูตร:
=INDEX(B5:B10,MATCH(F4,C5:C10,0))

  • สุดท้าย กด Enter และจะส่งคืนค่า

ที่นี่ สูตรจะส่งกลับค่า Salesman's ชื่อซึ่งอยู่ทางด้านซ้ายของค่าการค้นหา Cable .

🔎 How Do the Formula Work?

  • MATCH(F4,C5:C10,0)

สูตร MATCH คืนค่า 1 เป็น INDEX เป็น หมายเลขแถว

  • INDEX(B5:B10,MATCH(F4,C5:C10,0))

สุดท้าย INDEX ฟังก์ชันส่งคืน Wilham ซึ่งอยู่ใน แถวแรก ในช่วง B5:B10 .

อ่านเพิ่มเติม: วิธีใช้สูตร INDEX MATCH ใน Excel (9 ตัวอย่าง)

3. การค้นหาแบบพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยใช้สูตร INDEX MATCH

การ MATCH ฟังก์ชันไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่โดยค่าเริ่มต้น อย่างไรก็ตาม เราสามารถใช้ ฟังก์ชัน EXACT เพื่อค้นหาที่คำนึงถึงตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ดังนั้น ให้ทำตามขั้นตอนเพื่อ ใช้สูตรการจับคู่ INDEX เพื่อดำเนินการ กรณีและปัญหา การค้นหาที่ละเอียดอ่อน ใน Excel

ขั้นตอน:

  • ในจุดเริ่มต้น เลือกเซลล์ F5 .
  • หลังจากนั้น พิมพ์สูตร:
=INDEX(D5:D10,MATCH(TRUE,EXACT(F4,B5:B10),0))

  • ในตอนท้าย กด Enter เพื่อคืนค่า

🔎 สูตรทำงานอย่างไร

  • EXACT(F4,B5:B10)

ฟังก์ชัน แน่นอน ส่งคืน จริง สำหรับข้อมูลแรกเท่านั้น ( B5 ) ในช่วง B5:B10 และ FALSE สำหรับผู้อื่น

  • MATCH(TRUE,EXACT(F4,B5:B10),0)

สูตร MATCH นี้คืนค่า 1 เป็น INDEX เป็นหมายเลขแถว

  • INDEX(D5:D10,MATCH(TRUE,EXACT(F4,B5:B10),0))

สุดท้าย ฟังก์ชัน INDEX จะคืนค่า 2600 ซึ่งอยู่ในแถว ที่ 1 ในช่วง D5:D10 .

อ่านเพิ่มเติม: ตัวอย่างที่มี INDEX -MATCH Formula ใน Excel (8 วิธี)

4. ใช้ INDEX MATCH สำหรับ Closest Match

บางครั้ง เราอาจไม่ได้รับค่าการค้นหาที่ตรงกันทุกประการในอาร์เรย์การค้นหา ในกรณีนั้น เราต้องการค้นหาคู่ที่ใกล้เคียงที่สุด โดยเฉพาะอย่างยิ่งเกิดขึ้นกับค่าการค้นหาที่เป็นตัวเลข ตอนนี้ เรียนรู้กระบวนการค้นหา การจับคู่ที่ใกล้เคียงที่สุด โดยใช้สูตร การจับคู่ดัชนี

ขั้นตอน:

  • เลือกเซลล์ F5 ในตอนแรก
  • จากนั้น พิมพ์สูตร:
=INDEX(C5:C10,MATCH(MIN(ABS(D5:D10-F4)),ABS(D5:D10-F4),0))

  • สุดท้าย กด Enter .

🔎 สูตรทำงานอย่างไร

  • ABS(D5:D10-F4)

ประการแรก สูตรจะลบค่าของเซลล์ F4 ออกจากช่วง D5:D10 เพื่อสร้างความแตกต่าง และเราใช้ ฟังก์ชัน ABS เพื่อแปลงผลลัพธ์เชิงลบให้เป็นผลลัพธ์เชิงบวก

  • MIN(ABS(D5: D10-F4))

จากนั้น ฟังก์ชัน MIN จะส่งกลับค่าความแตกต่างที่น้อยที่สุดซึ่งก็คือ 500 .

  • ตรง(ขั้นต่ำ(ABS(D5:D10-F4)),ABS(D5:D10-F4),0)
  • <12 เอาต์พุตสูตร

    MIN(ABS(D5:D10-F4)) คือค่าการค้นหา ( 500 ) สำหรับฟังก์ชัน MATCH และอาร์เรย์การค้นหา คือ ABS(D5:D10-F4) ผลลัพธ์ของสูตร

    • INDEX(C5:C10,MATCH(MIN(ABS(D5:D10-F4)), ABS(D5:D10-F4),0))

    ในที่สุด ฟังก์ชัน INDEX จะส่งคืน เราเตอร์ เนื่องจากมีค่า <1 ที่ใกล้เคียงที่สุด>ยอดขายสุทธิ จำนวน 5000 .

    5. การค้นหาหลายเกณฑ์ด้วยสูตร INDEX MATCH

    หนึ่งในการดำเนินการที่มีประโยชน์มากที่สุดด้วย INDEX MATCH สูตรคือสามารถทำการค้นหาตามเงื่อนไขหลายข้อ ทำตามขั้นตอนด้านล่างเพื่อดูว่าเราจะได้รับ ยอดขายสุทธิ ตาม ชื่อพนักงานขาย และ ผลิตภัณฑ์ ได้อย่างไร

    ขั้นตอน:

    • ก่อนอื่น เลือกเซลล์ F6 เพื่อพิมพ์สูตร:
    =INDEX(D5:D10,MATCH(1,(F4=B5:B10)*(F5=C5:C10),0))

  • จากนั้น กด Enter และคุณจะได้รับผลลัพธ์

🔎 สูตรทำงานอย่างไร

  • MATCH(1,(F4=B5:B10)*(F5=C5:C10),0)

สูตร MATCH ส่งคืน 2 เป็น INDEX เป็นหมายเลขแถว ที่นี่ เราเปรียบเทียบหลายเกณฑ์โดยใช้ตรรกะบูลีน

  • INDEX(D5:D10,MATCH(1,(F4=B5:B10)*(F5=C5:C10), 0))

สุดท้าย ฟังก์ชัน INDEX ส่งคืน 11500 ซึ่งอยู่ในแถว 2 ในช่วง D5:D10 .

อ่านเพิ่มเติม: วิธีการใช้สูตร INDEX-MATCH ใน Excel เพื่อสร้างผลลัพธ์หลายรายการ

การอ่านที่คล้ายกัน

  • หลายเกณฑ์ใน Excel โดยใช้ INDEX, MATCH และ ฟังก์ชัน COUNTIF
  • วิธีใช้ INDEX & จับคู่ฟังก์ชันเวิร์กชีตใน Excel VBA
  • ดัชนี Excel จับคู่เกณฑ์เดี่ยว/หลายรายการพร้อมผลลัพธ์เดี่ยว/หลายรายการ
  • INDEX MATCH ข้ามหลายชีตใน Excel ( ด้วยทางเลือก)
  • SUMIF with INDEX and MATCH Functions in Excel

6. Excel INDEX MATCH Formula with Wildcard Characters

เราสามารถใช้เครื่องหมายดอกจัน ( * ) ซึ่งเป็น อักขระตัวแทน เพื่อค้นหาการจับคู่บางส่วนสำหรับค่าการค้นหา ดูตัวอย่างด้านล่างเพื่อดำเนินการ เรามี แนท ในเซลล์ F4 ไม่มี พนักงานขาย ชื่อนั้น แต่เรามี นาธาน ซึ่งเป็นการจับคู่บางส่วน

ขั้นตอน:

  • อย่างแรก เลือกเซลล์ F5 .
  • หลังจากนั้น พิมพ์สูตร:
=INDEX(D5:D10,MATCH(F4&"*",B5:B10,0))

  • สุดท้าย กด Enter และจะส่งคืน ยอดขายสุทธิ ของ Nathan

🔎 สูตรทำงานอย่างไร

  • MATCH(F4&”*”,B5:B10,0)

F4&”*” คือค่าการค้นหาของเราโดยที่เครื่องหมายดอกจันเป็นอักขระตัวแทนที่แสดงถึงอักขระจำนวนเท่าใดก็ได้ที่ขึ้นต้นด้วย Nat สูตรส่งกลับ 4 .

  • INDEX(D5:D10,MATCH(F4&”*”,B5:B10,0))

สุดท้าย ฟังก์ชัน INDEX ส่งคืน 17000 ซึ่งอยู่ในแถว 4 ในช่วง D5:D10 .

อ่านเพิ่มเติม: INDEX MATCH หลายเกณฑ์พร้อมไวด์การ์ดใน Excel (คู่มือฉบับสมบูรณ์)

7. ใช้ INDEX MATCH สำหรับการค้นหาแบบสามทางใน Excel

การใช้ขั้นสูงของสูตร INDEX MATCH เป็นการค้นหา สามทาง ไวยากรณ์อื่นของฟังก์ชัน INDEX คือ:

INDEX (อาร์เรย์, row_num, [col_num], [area_num])

ที่ไหน, [area_num] ( ไม่บังคับ ) หมายถึง หากอาร์กิวเมนต์อาร์เรย์มีหลายช่วง ตัวเลขนี้จะเลือกการอ้างอิงเฉพาะจากช่วงทั้งหมด

ในตัวอย่างนี้ เรา จะใช้อาร์กิวเมนต์ที่ไม่บังคับนี้เพื่อส่งคืนข้อมูลที่ต้องการจากเดือนใดเดือนหนึ่งของ มกราคม กุมภาพันธ์ และ มีนาคม ดังนั้น ให้ทำตามขั้นตอนด้านล่างเพื่อ ใช้ สูตร INDEX MATCH ใน Excel สำหรับ สามทาง การค้นหา

ขั้นตอน:

  • ก่อนอื่น เลือกเซลล์ F7 เพื่อพิมพ์สูตร:
=INDEX((B6:D7,B11:D12,B16:D17),MATCH(F5,B6:B7,0),MATCH(F6,B5:D5,0),(IF(F4="January",1,IF(F4="February",2,3))))

  • ถัดไป กด Enter ดังนั้น คุณจะเห็นผลลัพธ์

🔎 สูตรทำงานอย่างไร

  • IF(F4=”มกราคม”,1,IF(F4=”กุมภาพันธ์”,2,3))

ฟังก์ชัน IF จะส่งกลับ 2 เนื่องจากเดือนที่เรากำหนดคือ กุมภาพันธ์ ฟังก์ชัน INDEX จะดึงค่าจากอาร์เรย์ ที่สอง เช่น กุมภาพันธ์ .

  • MATCH(F6,B5:D5,0)

ฟังก์ชัน MATCH ส่งคืน 3 .

  • MATCH(F5,B6:B7,0)

ฟังก์ชัน MATCH นี้คืนค่า 2 .

  • INDEX((B6:D7,B11:D12, B16:D17),ตรงกัน(F5,B6:B7,0),ตรงกัน(F6,B5:D5,0),(IF(F4=”มกราคม”,1,IF(F4=”กุมภาพันธ์”,2,3) )))

สุดท้าย ฟังก์ชัน INDEX ส่งคืน 12500 ซึ่งอยู่ในจุดตัดของคอลัมน์ ที่ 3 และ แถวที่สอง ของแถว ที่สอง อาร์เรย์

อ่านเพิ่มเติม: วิธีใช้ INDEX MATCH แทน VLOOKUP ใน Excel (3 วิธี )

8. ดึงค่าของแถว/คอลัมน์ทั้งหมดด้วยสูตร INDEX MATCH

แอปพลิเคชันอื่นของสูตร INDEX MATCH กำลังดึงข้อมูลจากทั้งแถวหรือ คอลัมน์. ดังนั้น เรียนรู้ขั้นตอนการดำเนินการ

ขั้นตอน:

  • ในการเริ่มต้น ให้เลือกเซลล์ F5 ที่นี่ พิมพ์สูตร:
=INDEX(B5:D10,MATCH(F4,B5:B10,0),0)

  • หลังจากนั้น กด Enter และ จะกระจายข้อมูลของ แถวที่ 3 ทั้งหมดในช่วง B5:D10 .

🔎 สูตรทำงานอย่างไร

  • MATCH(F4,B5:B10,0)

The MATCH สูตรส่งคืน 3 เป็น INDEX เป็นหมายเลขแถว

  • INDEX(B5:D10,MATCH(F4,B5:B10, 0),0)

ฟังก์ชัน INDEX ส่งคืนค่าทั้งหมดในแถว ที่ 3 ในช่วง

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง