INDEX และ MATCH ในหลายคอลัมน์
ในการค้นหาค่าโดยการจับคู่ระหว่างหลายคอลัมน์ ให้ใช้สูตรอาร์เรย์ตาม ดัชนี และ MATCH ฟังก์ชันที่ประกอบด้วย หลาย, ขนส่ง และ คอลัมน์ จะช่วยคุณ
จะค้นหาค่าโดยการจับคู่ในหลายคอลัมน์ได้อย่างไร
เพื่อกรอก ชั้นเรียนที่สอดคล้องกันของนักเรียนแต่ละคน ตามตารางด้านบนที่แสดง โดยที่ ข้อมูลแสดงอยู่ในหลายคอลัมน์คุณสามารถใช้เคล็ดลับของฟังก์ชัน MMULT, TRANSPOSE และ COLUMN เพื่อสร้างอาร์เรย์เมทริกซ์ จากนั้นฟังก์ชัน MATCH จะให้ตำแหน่งของค่าการค้นหาของคุณ ซึ่งจะถูกป้อนไปยัง INDEX เพื่อดึงค่าที่คุณกำลังมองหาในอาร์เรย์
ไวยากรณ์ทั่วไป
=INDEX(return_range,(MATCH(1,MMULT(--(lookup_array=lookup_value),TRANSPOSE(COLUMN(lookup_array)^0)),0)))
√ หมายเหตุ: นี่คือสูตรอาร์เรย์ที่คุณต้องป้อนด้วย Ctrl + เปลี่ยน + เข้าสู่.
- กลับ_ช่วง: ช่วงที่คุณต้องการให้สูตรส่งคืนข้อมูลชั้นเรียน ในที่นี้หมายถึงช่วงของชั้นเรียน
- lookup_value: ค่าของสูตรที่ใช้ค้นหาข้อมูลคลาสที่สอดคล้องกัน ในที่นี้หมายถึงชื่อที่กำหนด
- lookup_array: ช่วงของเซลล์ที่ lookup_value อยู่ในรายการ; ช่วงที่มีค่าเพื่อเปรียบเทียบกับ lookup_value. นี่หมายถึงช่วงชื่อ
- match_type 0: บังคับให้ MATCH หาค่าแรกที่เท่ากับ lookup_value.
เพื่อค้นหา ชั้นของจิมมี่โปรดคัดลอกหรือป้อนสูตรด้านล่างในเซลล์ H5 แล้วกด Ctrl + เปลี่ยน + เข้าสู่ เพื่อให้ได้ผลลัพธ์:
=ดัชนี($ B $ 5: $ B $ 7,(ตรงกับ(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(คอลัมน์($C$5:$E$7)^0)),0)))
√ หมายเหตุ: เครื่องหมายดอลลาร์ ($) ด้านบนระบุการอ้างอิงแบบสัมบูรณ์ ซึ่งหมายความว่าชื่อและช่วงของคลาสในสูตรจะไม่เปลี่ยนแปลงเมื่อคุณย้ายหรือคัดลอกสูตรไปยังเซลล์อื่น โปรดทราบว่าคุณไม่ควรเพิ่มเครื่องหมายดอลลาร์ในการอ้างอิงเซลล์ที่แสดงค่าการค้นหา เนื่องจากคุณต้องการให้ค่านั้นสัมพันธ์กันเมื่อคุณคัดลอกไปยังเซลล์อื่น หลังจากที่คุณป้อนสูตรแล้ว ให้ลากที่จับเติมลงไปเพื่อใช้สูตรกับเซลล์ด้านล่าง
คำอธิบายของสูตร
=INDEX($B$5:$B$7,(MATCH(1,MMULT(--($C$5:$E$7=G5),TRANSPOSE(COLUMN($C$5:$E$7)^0)),0)))
- --($C$5:$E$7=G5): ส่วนนี้ตรวจสอบแต่ละค่าในช่วง $C$5:$E$7 หากเท่ากับค่าในเซลล์ G5 และสร้างอาร์เรย์ TRUE และ FALSE ดังนี้:
{จริง,เท็จ,เท็จ;เท็จ,เท็จ,เท็จ;เท็จ,เท็จ,เท็จ}.
ค่าลบสองครั้งจะแปลง TRUE และ FALSE เป็น 1 และ 0 เพื่อให้ได้อาร์เรย์ดังนี้:
{1,0,0; 0,0,0; 0,0,0}. - คอลัมน์($C$5:$E$7): ฟังก์ชัน COLUMN ส่งกลับหมายเลขคอลัมน์สำหรับ range $C$5:$E$7 ในอาร์เรย์ดังนี้: 3,4,5 {}.
- ทรานสโพส(คอลัมน์($C$5:$E$7)^0) = ทรานสโพส(3,4,5 {}^0): หลังจากเพิ่มกำลังเป็น 0 ตัวเลขทั้งหมดในอาร์เรย์ {3,4,5} จะถูกแปลงเป็น 1: {1,1,1} ฟังก์ชัน TRANSPOSE จะแปลงอาร์เรย์คอลัมน์เป็นอาร์เรย์แถวดังนี้: {1; 1; 1}.
- เอ็มมัลท์(--($C$5:$E$7=G5),ทรานสโพส(คอลัมน์($C$5:$E$7)^0)) = เอ็มมัลท์({1,0,0; 0,0,0; 0,0,0},{1; 1; 1}): ฟังก์ชัน MMULT ส่งคืนผลิตภัณฑ์เมทริกซ์ของสองอาร์เรย์ดังนี้: {1; 0; 0}.
- แมตช์(1,เอ็มมัลท์(--($C$5:$E$7=G5),ทรานสโพส(คอลัมน์($C$5:$E$7)^0)), 0) = แมตช์(1,{1; 0; 0}, 0): Match_type 0 บังคับให้ฟังก์ชัน MATCH คืนตำแหน่งการแข่งขันนัดแรกของ 1 ในอาร์เรย์ {1; 0; 0}ซึ่งเป็น 1.
- ดัชนี($ B $ 5: $ B $ 7,(แมตช์(1,เอ็มมัลท์(--($C$5:$E$7=G5),ทรานสโพส(คอลัมน์($C$5:$E$7)^0)), 0))) = ดัชนี($ B $ 5: $ B $ 7,1): ฟังก์ชัน INDEX ส่งกลับค่า 1ค่า st ในช่วงคลาส $ B $ 5: $ B $ 7ซึ่งเป็น A.
หากต้องการค้นหาค่าอย่างง่ายดายโดยการจับคู่ระหว่างหลายคอลัมน์ คุณสามารถใช้โปรแกรมเสริม Excel ระดับมืออาชีพของเราได้ Kutools สำหรับ Excel. ดูคำแนะนำที่นี่เพื่อทำภารกิจให้สำเร็จ.
ฟังก์ชันที่เกี่ยวข้อง
ฟังก์ชัน Excel INDEX ส่งคืนค่าที่แสดงตามตำแหน่งที่กำหนดจากช่วงหรืออาร์เรย์
ฟังก์ชัน Excel MATCH จะค้นหาค่าที่ระบุในช่วงของเซลล์ และส่งกลับตำแหน่งสัมพัทธ์ของค่า
ฟังก์ชัน Excel MMULT ส่งคืนผลิตภัณฑ์เมทริกซ์ของสองอาร์เรย์ ผลลัพธ์อาร์เรย์มีจำนวนแถวเท่ากับ array1 และจำนวนคอลัมน์เท่ากับ array2
ฟังก์ชัน Excel TRANSPOSE จะหมุนการวางแนวของช่วงหรืออาร์เรย์ ตัวอย่างเช่น สามารถหมุนตารางที่จัดเรียงตามแนวนอนในแถวเป็นแนวตั้งในคอลัมน์หรือในทางกลับกัน
ฟังก์ชัน COLUMN ส่งกลับจำนวนคอลัมน์ที่สูตรปรากฏขึ้นหรือส่งกลับหมายเลขคอลัมน์ของการอ้างอิงที่กำหนด ตัวอย่างเช่น สูตร =COLUMN(BD) คืนค่า 56
สูตรที่เกี่ยวข้อง
ค้นหาหลายเกณฑ์ด้วย INDEX และ MATCH
เมื่อต้องรับมือกับฐานข้อมูลขนาดใหญ่ในสเปรดชีต Excel ที่มีหลายคอลัมน์และคำอธิบายแถว การค้นหาสิ่งที่ตรงตามเกณฑ์หลายเกณฑ์มักเป็นเรื่องยากเสมอ ในกรณีนี้ คุณสามารถใช้สูตรอาร์เรย์ที่มีฟังก์ชัน INDEX และ MATCH ได้
ค้นหาแบบสองทางด้วย INDEX และ MATCH
เมื่อต้องการค้นหาบางอย่างในทั้งแถวและคอลัมน์ใน Excel หรือเราบอกว่าให้ค้นหาค่าที่จุดตัดของแถวและคอลัมน์ที่ระบุ เราสามารถใช้ความช่วยเหลือของฟังก์ชัน INDEX และ MATCH
ค้นหาค่าการจับคู่ที่ใกล้เคียงที่สุดโดยมีหลายเกณฑ์
ในบางกรณี คุณอาจต้องค้นหาค่าการจับคู่ที่ใกล้เคียงที่สุดหรือค่าประมาณตามเกณฑ์มากกว่าหนึ่งเกณฑ์ ด้วยการผสมผสานระหว่างฟังก์ชัน INDEX, MATCH และ IF คุณสามารถทำให้เสร็จใน Excel ได้อย่างรวดเร็ว
เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด
Kutools สำหรับ Excel - ช่วยให้คุณโดดเด่นจากฝูงชน
Kutools สำหรับ Excel มีคุณสมบัติมากกว่า 300 รายการ รับรองว่าสิ่งที่คุณต้องการเพียงแค่คลิกเดียว...
แท็บ Office - เปิดใช้งานการอ่านแบบแท็บและการแก้ไขใน Microsoft Office (รวม Excel)
- หนึ่งวินาทีเพื่อสลับไปมาระหว่างเอกสารที่เปิดอยู่มากมาย!
- ลดการคลิกเมาส์หลายร้อยครั้งสำหรับคุณทุกวันบอกลามือเมาส์
- เพิ่มประสิทธิภาพการทำงานของคุณได้ถึง 50% เมื่อดูและแก้ไขเอกสารหลายฉบับ
- นำแท็บที่มีประสิทธิภาพมาสู่ Office (รวมถึง Excel) เช่นเดียวกับ Chrome, Edge และ Firefox