สารบัญ
บางครั้งเราต้องค้นหาข้อมูลเฉพาะในแผ่นงาน 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)
- INDEX(C5:C10,MATCH(F4,D5:D10,1),1)
หมายเหตุ: ข้อมูลควรอยู่ในลำดับ จากน้อยไปมาก หรือ จากมากไปน้อย เพื่อให้สูตรนี้ทำงานได้
🔎 สูตรทำงานอย่างไร
สูตร MATCH ใช้ 1 เป็นอาร์กิวเมนต์ประเภทการจับคู่ ซึ่งจะส่งคืนค่าที่มากที่สุดซึ่งน้อยกว่าหรือเท่ากับค่าการค้นหา 6000 ที่นี่ มันจะคืนค่า 2 .
ฟังก์ชัน 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 ด้วยวิธีการที่อธิบายไว้ข้างต้น . ใช้ต่อไปและแจ้งให้เราทราบหากคุณมีวิธีเพิ่มเติมในการทำงาน อย่าลืมที่จะแสดงความคิดเห็น คำแนะนำ หรือคำถามหากคุณมีในส่วนความคิดเห็นด้านล่าง
รู้เบื้องต้นเกี่ยวกับฟังก์ชัน MATCH
- ไวยากรณ์
- อาร์กิวเมนต์
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 เอาต์พุตสูตร
- INDEX(C5:C10,MATCH(MIN(ABS(D5:D10-F4)), ABS(D5:D10-F4),0))
- ก่อนอื่น เลือกเซลล์ F6 เพื่อพิมพ์สูตร:
MIN(ABS(D5:D10-F4)) คือค่าการค้นหา ( 500 ) สำหรับฟังก์ชัน MATCH และอาร์เรย์การค้นหา คือ ABS(D5:D10-F4) ผลลัพธ์ของสูตร
ในที่สุด ฟังก์ชัน INDEX จะส่งคืน เราเตอร์ เนื่องจากมีค่า <1 ที่ใกล้เคียงที่สุด>ยอดขายสุทธิ จำนวน 5000 .
5. การค้นหาหลายเกณฑ์ด้วยสูตร INDEX MATCH
หนึ่งในการดำเนินการที่มีประโยชน์มากที่สุดด้วย INDEX MATCH สูตรคือสามารถทำการค้นหาตามเงื่อนไขหลายข้อ ทำตามขั้นตอนด้านล่างเพื่อดูว่าเราจะได้รับ ยอดขายสุทธิ ตาม ชื่อพนักงานขาย และ ผลิตภัณฑ์ ได้อย่างไร
ขั้นตอน:
=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 ในช่วง