INDEX-MATCH พร้อมการจับคู่หลายรายการใน Excel (6 ตัวอย่าง)

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

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

ก่อนอื่น เรามาทำความรู้จักกับสมุดงานของวันนี้กัน

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

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

ดาวน์โหลดสมุดงานแบบฝึกหัด

คุณสามารถดาวน์โหลดสมุดงานที่ใช้สำหรับการสาธิตพร้อมสูตรทั้งหมด จากลิงค์ด้านล่าง

INDEX-MATCH with Multiple Matches.xlsx

Basics of INDEX-MATCH

พื้นฐานของฟังก์ชัน INDEX

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

INDEX(array/reference, row_number, column_number,area_number)

อาร์เรย์หรือการอ้างอิง: เซลล์หรือช่วงของเซลล์ เพื่อดู

row_number: แถวในอาร์เรย์ที่จะคืนค่าROW($B$6:$B$10)) ถ้าค่าเป็นจริง มิฉะนั้น จะส่งคืนสตริงว่าง ส่วน MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) เป็นชุดของตัวเลข โดยที่ ROW($B$6:$B$10 ) และ ROW($B$6:$B$10) ตรงกัน นี่เป็นเพียงเคล็ดลับที่มีประโยชน์ในการจำกัดจำนวนแถวทั้งหมดในส่วนที่เลือก

👉 หลังจากนั้น SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12 , 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1) ค้นหา ROWS($A$1:A1) -ค่าที่น้อยที่สุดจากเอาต์พุตของส่วน IF

👉 สุดท้าย INDEX($C$6:$C $10, ขนาดเล็ก(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) , “”), ROWS($A$1:A1))) รับเอาต์พุตของฟังก์ชันก่อนหน้าเป็นหมายเลขแถว และ ROWS($A$1:A1) เป็นหมายเลขคอลัมน์และส่งกลับ ค่าที่อยู่ในตำแหน่งนี้ในช่วง C6:C10 .

👉 ในทำนองเดียวกัน INDEX('Shop 2'!$C$6:$C$10, SMALL(IF (ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2' !$B$6:$B$10)), “”) ทำเช่นเดียวกันแต่มาจากแผ่นงานที่สอง เนื่องจากชื่อแผ่นงานคือ “Shop 2” เราได้เพิ่มไว้ก่อนเลือกช่วง/เซลล์ คุณไม่จำเป็นต้อง เพื่อเพิ่มลงในแผ่นงานที่คุณกำลังทำแคล การปรุงอาหารบน ดังนั้นเราจึงไม่ได้ทำแบบนั้นสำหรับ “Shop 1” ในส่วนก่อนหน้าของสูตร

👉 สุดท้าย เราได้เพิ่มฟังก์ชันทั้งหมดในฟังก์ชัน IFERROR เดอะเหตุผลคือการคืนค่าว่างในกรณีที่เกิดข้อผิดพลาดขณะเรียกใช้สูตร

  • สุดท้าย กด Enter

  • ตอนนี้ เลือกเซลล์อีกครั้ง จากนั้นคลิกและลากไอคอนที่จับเติมสำหรับบางเซลล์ลงมา (ควรมากกว่าจำนวนเซลล์เอาต์พุตโดยประมาณ)

ดังนั้น เราจะพบทั้งหมด การจับคู่โดยใช้ INDEX-MATCH จากหลายเวิร์กชีตใน Excel

6. INDEX-MATCH สำหรับหลายเกณฑ์โดยไม่มีอาร์เรย์

เรายังสามารถใช้ INDEX-MATCH สำหรับการจับคู่หรือเกณฑ์หลายรายการโดยไม่ต้องมี อาร์เรย์ ตัวอย่างเช่น ลองใช้ชุดข้อมูลต่อไปนี้

แต่เราต้องการคอลัมน์ตัวช่วยเพื่อให้บรรลุเป้าหมายนั้นก่อน เราจะใช้ ฟังก์ชัน CONCATENATE นอกเหนือจากฟังก์ชันที่เป็นปัญหา ทำตามขั้นตอนเหล่านี้เพื่อดูคำแนะนำฉบับสมบูรณ์

ขั้นตอน:

  • ขั้นแรก เลือกเซลล์ F5 และจดสูตรต่อไปนี้

=CONCATENATE(C5,",",D5,",",E5)

  • จากนั้นกด Enter

  • ตอนนี้เลือกเซลล์อีกครั้ง แล้วคลิกและลากไอคอนที่จับเติมไปที่ท้ายคอลัมน์เพื่อจำลองสูตรสำหรับเซลล์ที่เหลือ

  • ต่อไป เราจะค้นหาการจับคู่ดัชนีสำหรับ 100 ทั้งหมดในชุดข้อมูลดั้งเดิม สำหรับสิ่งนั้น ให้เลือกเซลล์เพื่อเก็บค่า ( H5 ในกรณีนี้)
  • จากนั้นใส่สูตรต่อไปนี้

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 รายละเอียดของสูตร

👉 MATCH(“100,100,100”,F5:F19,0) ค้นหาการจับคู่แบบตรงทั้งหมด 100,100,100 ในช่วง F5: F19 .

👉 จากนั้น INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) ส่งกลับค่าในตำแหน่งที่ค่าตรงกัน

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

ด้วยวิธีนี้ เราสามารถใช้ INDEX-MATCH สำหรับหลายเกณฑ์หรือ จับคู่ใน Excel โดยไม่มีอาร์เรย์

วิธีคืนค่าหลายค่าในแนวตั้งโดยใช้สูตร INDEX-MATCH ใน Excel

ในกรณีที่คุณต้องการคืนค่าหลายค่าในแนวตั้งโดยใช้ INDEX-MATCH ลองดูที่ ตัวอย่างต่อไปนี้

ทำตามขั้นตอนเหล่านี้เพื่อดูว่าเราจะบรรลุสิ่งนั้นได้อย่างไรสำหรับชุดข้อมูล

ขั้นตอน:

  • อย่างแรก เลือกเซลล์ F5 .
  • อย่างที่สอง จดสูตรต่อไปนี้

=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")

🔎 รายละเอียดของสูตร

👉 ROW($B$5:$B$14) ผลตอบแทน อาร์เรย์ที่มีหมายเลขแถวของช่วง B5:B14 .

👉 ROW($B$5:$B$14)-ROW($B$5) +1 ส่งกลับความแตกต่างระหว่างอาร์เรย์และหมายเลขแถวของเซลล์ B5 ซึ่งเป็นเพียงอาร์เรย์ 1 ถึง 10 ในกรณีนี้

👉 IF( $E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) ตรวจสอบว่าค่าของเซลล์ E5 เท่ากันที่ใด ในช่วง B5:B14 และส่งกลับตัวเลขในอาร์เรย์ที่เป็นจริงจากค่าก่อนหน้าอาร์เรย์

👉 SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW (1:1) ส่งคืนจำนวนที่น้อยที่สุดจากอาร์เรย์

👉 INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B $14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))) จากนั้นส่งกลับค่าในตำแหน่งนั้นในช่วง C5:C14 .

👉 สุดท้าย IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5: $B$14)-ROW($B$5)+1),ROW(1:1))),””) ตรวจสอบให้แน่ใจว่าหากค่าส่งผลให้เกิดข้อผิดพลาดในสูตร ค่านั้นจะส่งกลับสตริงว่าง

  • สาม กด Enter

  • จากนั้นเลือกเซลล์อีกครั้ง สุดท้าย คลิกและลากไอคอนที่จับเติมลงสำหรับบางเซลล์เพื่อรับค่าทั้งหมด

วิธีนี้ทำให้เราสามารถคืนค่าได้หลายค่า ในแนวตั้งโดยใช้ INDEX-MATCH ใน Excel

อ่านเพิ่มเติม: INDEX MATCH ที่มีหลายเกณฑ์ในแผ่นงานที่ต่างกัน (2 วิธี)

สรุป

นั่นคือทั้งหมดสำหรับวันนี้ เราได้ลองแสดงวิธี 2-3 วิธีในการจับคู่ดัชนีด้วยการคูณ การแข่งขัน le หวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ อย่าลังเลที่จะแสดงความคิดเห็นหากมีสิ่งใดที่ดูเหมือนเข้าใจยาก คุณสามารถแจ้งให้เราทราบเกี่ยวกับวิธีการอื่นๆ สำหรับงาน

สำหรับคำแนะนำเพิ่มเติมเช่นนี้ โปรดไปที่ Exceldemy.com .

ค่า

column_number: คอลัมน์ในอาร์เรย์ที่จะส่งคืนค่า

area_number: เลือกช่วงในการอ้างอิงที่จะส่งคืนค่า จุดตัดของ row_num และ column_num นี่เป็นช่องที่ไม่บังคับ

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

คุณสามารถตรวจสอบไซต์ Microsoft support เพื่อดูไวยากรณ์ที่ละเอียดยิ่งขึ้น รายละเอียด

พื้นฐานของฟังก์ชัน MATCH

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

ไวยากรณ์ของฟังก์ชัน MATCH คือ

MATCH(lookup_value, lookup_array, match_type)

lookup_value: ค่าที่จะค้นหาใน lookup_array

lookup_array: ช่วงของเซลล์ที่กำลังค้นหา

<0 match_type:นี่เป็นฟิลด์ที่ไม่บังคับ คุณสามารถใส่ค่าได้ 3 ค่า

1 = น้อยกว่าหรือเท่ากับ lookup_value

0 = lookup_value ที่แน่นอน

-1 = มากกว่าหรือเท่ากับ lookup_value

เพื่อความเข้าใจที่ลึกซึ้งยิ่งขึ้น คุณสามารถดูไซต์ การสนับสนุนของ Microsoft

6 ตัวอย่างที่เหมาะสมของการใช้ INDEX- สูตรจับคู่กับการจับคู่หลายรายการ

ตอนนี้เราจะนำสูตรและทฤษฎีเหล่านี้ไปใช้จริงในชุดข้อมูลของเรา เราได้แก้ไขสถานการณ์ต่างๆ โดยใช้ INDEX-MATCH ที่มีการจับคู่หลายรายการใน Excel และได้รวมไว้ในส่วนต่างๆ เพื่อความเข้าใจที่ดีขึ้น ปฏิบัติตามเพื่อดูว่าเราสามารถนำไปใช้ในสถานการณ์ต่างๆ ได้อย่างไร หรือหากคุณต้องการเฉพาะเจาะจง คุณสามารถดูได้ในตารางด้านบน

1. การจับคู่ดัชนีที่มีหลายเกณฑ์

สำหรับ ดึงค่าด้วย หลายเกณฑ์ ก่อนอื่นให้ตั้งเกณฑ์ ตัวอย่างเช่น หากคุณต้องการดึงราคาของเสื้อเชิ้ตไซส์เล็ก(ในสมุดงานของเรา) คุณต้องตั้งชื่อผลิตภัณฑ์ – เสื้อเชิ้ต และ ไซส์ – เล็ก

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

ขั้นตอน:

  • ก่อนอื่น เลือกเซลล์ G6 .
  • จากนั้นจดสูตรต่อไปนี้

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

<7

🔎 รายละเอียดของสูตร

INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5: C15),0))

👉 (G4=B5:B15) และ (G5=C5:C15) เป็นทั้งเงื่อนไขและผลตอบแทนอย่างใดอย่างหนึ่ง จริง หรือ เท็จ ขึ้นอยู่กับว่าเงื่อนไขเป็นจริงหรือไม่ ตัวเลขคือ 1 หรือ 0 ดังนั้นการคูณจะส่งกลับ 1 โดยที่ทั้งคู่เป็นจริง

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15), 0) ส่งกลับตำแหน่งที่ทั้งสองเงื่อนไขอยู่จริง. ในกรณีนี้ มันคือ 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) ส่งกลับค่าในตำแหน่งที่ส่วนก่อนหน้าของสูตรส่งกลับ

  • สุดท้าย กด Enter

นี่คือวิธีที่เราสามารถใช้ INDEX MATCH สำหรับหลายเกณฑ์หรือการจับคู่ใน Excel

อ่านเพิ่มเติม: วิธีจับคู่หลายเกณฑ์จากอาร์เรย์ต่างๆ ใน ​​Excel

2. INDEX-MATCH ที่มีหลายเกณฑ์เป็นของแถวและคอลัมน์

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

เรานำการเปลี่ยนแปลงเล็กน้อยในตัวอย่างของเรา ตอนนี้ตารางของเราถูกจัดเรียงในลักษณะที่ค่าขนาด (เล็ก ใหญ่ M และ XL) แสดงถึงแต่ละคอลัมน์

คล้ายกับส่วนก่อนหน้า ตั้งค่าผลิตภัณฑ์และขนาดที่ต้องการเป็นค่าเกณฑ์

ทำตามขั้นตอนเหล่านี้เพื่อดูว่าเราสามารถใช้สูตรสำหรับสิ่งนี้ได้อย่างไร ส่วน

ขั้นตอน:

  • ขั้นแรก เลือกเซลล์ I6 .
  • จากนั้นจดสูตรต่อไปนี้ใน ค่ะ

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 รายละเอียดของสูตร

👉 MATCH(I4,B5:B7,0) ส่งกลับค่าที่ตรงกันทุกประการของ I4 ในช่วง B5:B7 .<3

👉 ในทำนองเดียวกัน MATCH(I5,C4:F4,0) ส่งกลับค่าที่ตรงกันทุกประการของค่า I5 ในช่วง C4:F4 .

👉 สุดท้าย INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) รับเอาต์พุตของฟังก์ชันแรกเป็นหมายเลขแถวและฟังก์ชันที่สองเป็น หมายเลขคอลัมน์และส่งกลับค่าที่อยู่ในตำแหน่งจากช่วง C5:F7 .

  • หลังจากนั้น กด Enter .
  • <15

    ดังนั้นเราจึงสามารถใช้ INDEX-MATCH กับหลายเกณฑ์ที่เป็นของแถวและคอลัมน์

    อ่านเพิ่มเติม: ดัชนี Excel จับคู่เกณฑ์เดียว/หลายรายการพร้อมผลลัพธ์เดียว/หลายรายการ

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

    • ดัชนีจับคู่กับ 3 เกณฑ์ใน Excel (4 ตัวอย่าง)
    • INDEX MATCH ระหว่างหลายชีตใน Excel (พร้อมทางเลือกอื่น)
    • รวมด้วยฟังก์ชัน INDEX-MATCH ภายใต้ Multiple เกณฑ์ใน Excel
    • ดัชนีจับคู่ผลรวมหลายแถวใน Excel (3 วิธี)
    • สูตรจับคู่ดัชนีเพื่อหาค่าต่ำสุดใน Excel (4 วิธีที่เหมาะสม)

    3. INDEX-MATCH จากคอลัมน์ที่ไม่ติดกัน

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

    นี่จะเป็นชุดข้อมูลสำหรับการสาธิต

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

    ขั้นตอน:

    • ก่อนอื่น เลือกเซลล์ G6 .
    • จากนั้นจดตามสูตรนี้

    =IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),"No Value")

    🔎 รายละเอียดของสูตร

    IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),” ไม่มีค่า”)

    👉 MATCH(G5,B4:B7,0) ค้นหาค่าที่ตรงกันทุกประการของเซลล์ G5 ในช่วง B4:B7 .

    👉 และ MATCH(F6,B4:D4,0) ค้นหาค่าที่ตรงกันของ F6 คือช่วง B4:D4 .

    👉 จากนั้น INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) ใช้เวลา ค่าฟังก์ชันแรกเป็นหมายเลขแถวและค่าฟังก์ชันที่สองเป็นหมายเลขคอลัมน์ และส่งกลับค่าในตำแหน่งนั้นในช่วง B4:D7 .

    👉 สุดท้าย IFERROR(INDEX (B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),”ไม่มีค่า”) ส่งคืนสตริง “ไม่มีค่า” หากมีข้อผิดพลาดขณะดำเนินการ สูตร มิฉะนั้น จะส่งคืนค่าปกติ

    • ถัดไป กด Enter บนแป้นพิมพ์ของคุณ

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

    4. INDEX-MATCH จากหลายตาราง

    หากต้องการหาคู่ที่ตรงกันจากหลายๆ ตาราง เราสามารถใช้สูตร INDEX-MATCH นอกเหนือจากฟังก์ชันนี้ เราจะต้องมีฟังก์ชัน SMALL , ISNUMBER , ROW , COUNTIF และ IFERROR ด้วย .

    ในแผ่นงานตัวอย่าง เรามีสินค้าของร้านค้า 2 รายการ เราจะดูวิธีการใช้แผ่นนี้เพื่อทำงาน

    ทำตามขั้นตอนเหล่านี้เพื่อดูว่าเราสามารถใช้ฟังก์ชันเหล่านี้ร่วมกับการจับคู่ดัชนีที่มีการจับคู่หลายรายการจากตารางชุดนี้ใน Excel ได้อย่างไร .

    ขั้นตอน:

    • ขั้นแรก เลือกเซลล์ C14 .
    • ตอนนี้จดสูตรต่อไปนี้

    =IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

    🔎 รายละเอียดสูตร

    IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH( ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL( IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), “”) , ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12)))))

    👉 MATCH($B$6:$B$10, $C$12, 0) ค้นหาค่าที่ตรงกันทุกประการของ C12 ในช่วง B6:B10 .

    👉 ISNUMBER(MATCH($B $6:$B$10, $C$12, 0)) ตรวจสอบว่าค่าเป็นตัวเลขในฟังก์ชันหรือไม่

    👉 IF(ISNUMBER(MATCH($B$6:$B$10 , $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”) ROW($B$6:$B$1 0)) ตรวจสอบว่าฟังก์ชันก่อนหน้าเป็นตัวเลขหรือไม่ ถ้าเป็นเช่นนั้น มันจะคืนค่าเอาต์พุตของ MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) ซึ่งเป็นตำแหน่งที่อาร์เรย์ของแถว ตัวเลขจะถูกจับคู่ในฟังก์ชัน ROW ที่หนึ่งและที่สอง มิฉะนั้น จะส่งคืนสตริงว่าง

    👉 SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6: $B$10), แถว($B$6:$B$10)),“”), ROWS($A$1:A1)) ส่งคืน ROWS($A$1:A1) - ค่าที่น้อยที่สุดจากอาร์เรย์

    👉 สุดท้าย INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))) ส่งกลับค่าในตำแหน่งนั้นในช่วง C6:C10 .

    👉 INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6: $E$10), ROW($E$6:$E$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) ไม่ สิ่งเดียวกัน แต่จากตารางที่สองเนื่องจากช่วงต่างกันอย่างชัดเจนในส่วนนี้ของสูตร

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

    • จากนั้นกด Enter .

    • หลังจากนั้น ให้เลือกเซลล์อีกครั้ง แล้วคลิกและลากไอคอนที่จับเติมลงมาสำหรับหลายเซลล์เพื่อค้นหาค่าที่เหลือจากตาราง คุณสามารถลากเซลล์พิเศษ Excel จะหยุดค่าเมื่อไม่มีแล้ว

    นี่คือวิธีที่เราสามารถใช้ INDEX-MATCH โดยใช้เกณฑ์จาก หลายตารางใน Excel

    อ่านเพิ่มเติม: หลายเกณฑ์ใน Excel โดยใช้ฟังก์ชัน INDEX, MATCH และ COUNTIF

    5. INDEX-MATCH จาก แผ่นงานหลายแผ่น

    เราสามารถใช้ INDEX-MATCHสูตรบนแผ่นงานต่างๆ ที่นี่เรามีสองตารางนี้บนแผ่นงานที่แตกต่างกันสองแผ่น

    ซื้อแผ่นงาน 1 แผ่นสำหรับร้าน 1 และซื้อแผ่นงาน 2 แผ่นสำหรับร้าน 2

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

    ขั้นตอน:

    • ขั้นแรก เลือกเซลล์ C14 จากแผ่นงาน “Shop 1”
    • จากนั้นจดสูตรต่อไปนี้

    =IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

    🔎 รายละเอียดของสูตร

    IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$ B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))) , INDEX('ร้าน 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW(' ร้าน 2'!$B$6:$B$10), ROW('ร้าน 2'!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$ B$10, $C$12))))

    👉 MATCH($B$6:$B$10, $C$12, 0) ค้นหาค่าที่ตรงกันทุกประการ ของเซลล์ C12 ในช่วง B6:B10 .

    👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0) ) ตรวจสอบว่าเอาต์พุตของฟังก์ชันก่อนหน้าเป็นตัวเลขหรือไม่ ซึ่งจะเป็นตัวตัดสินว่ามีการแข่งขันหรือไม่ นี่เป็นเพียงการแปลงค่าตัวเลขเป็นบูลีน

    👉 จากนั้น IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($ B$6:$B$10), ROW($B$6:$B$10)), “”) ตรวจสอบค่าบูลีนและส่งกลับ MATCH(ROW($B$6:$B$10),

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