สารบัญ
เมื่อทำงานกับข้อมูลจำนวนมาก คุณอาจพบว่าตัวเองอยู่ในสถานการณ์ที่ต้องค้นหาค่าหรือข้อความที่ไม่ซ้ำกัน แต่ไม่มีตัวระบุเฉพาะสำหรับจุดประสงค์นี้ ในกรณีนี้ จะใช้การค้นหาในแนวตั้งหรือแนวนอนที่มีเงื่อนไขหลายประการเพื่อค้นหาผลลัพธ์ แต่แทนที่จะใช้ฟังก์ชันเหล่านี้ ผู้ใช้ที่เชี่ยวชาญมักจะใช้ชุดค่าผสม INDEX MATCH การรวมกันของฟังก์ชัน INDEX และ MATCH นั้นเหนือกว่า VLOOKUP หรือ HLOOKUP ในหลายๆ ด้าน สูตร INDEX MATCH สามารถค้นหาค่าที่มี หลายเกณฑ์ บนแผ่นงานต่างๆ และส่งคืนผลลัพธ์ในแผ่นงานอื่น วันนี้ ในบทความนี้ เราจะเรียนรู้แนวทางบางอย่างในการใช้ สูตร INDEX-MATCH ที่มีเกณฑ์หลายเกณฑ์ ในชีตต่างๆ
ดาวน์โหลดแบบฝึกหัดแบบฝึกหัด
คุณสามารถดาวน์โหลด ทำตามสมุดงาน Excel เพื่อความเข้าใจที่ดีขึ้นและฝึกฝนด้วยตนเอง
2 วิธีปรับใช้สูตร INDEX-MATCH แบบหลายเกณฑ์ ในแผ่นงานต่างๆ ใน Excel
สูตร INDEX-MATCH ค่อนข้างมีประสิทธิภาพเมื่อคุณค้นหาข้อมูลที่มี หลายเกณฑ์สำหรับทั้งคอลัมน์และแถว ในแผ่นงานต่างๆ มีสองวิธีที่แตกต่างกันในการค้นหาข้อมูลด้วยหลายเกณฑ์ในแผ่นงานที่แตกต่างกัน ดังนั้นมาสำรวจทีละรายการ
เรามีใช้เวอร์ชัน Microsoft Excel 365 คุณอาจใช้เวอร์ชันอื่นตามความสะดวกของคุณ
1. INDEX MATCH สูตรที่มีหลายเกณฑ์สำหรับคอลัมน์เท่านั้น
เพื่อความชัดเจน เราจะใช้ รายงานการขายประจำเดือน ขององค์กรใดองค์กรหนึ่ง ชุดข้อมูลนี้ประกอบด้วย ID , ชื่อจริง และ ยอดขาย ตามลำดับในคอลัมน์ B , C และ D ตามลำดับ
พิจารณาสถานการณ์ที่เจ้านายของคุณมอบหมายงานให้คุณคำนวณ ยอดขาย จำนวนตัวแทนขายต่างๆ โดยใช้เวิร์กชีตนี้ คุณสามารถทำได้ง่ายๆ โดยใช้สูตร INDEX-MATCH คุณสามารถทำได้โดยใช้สูตรอาร์เรย์หรือสูตรที่ไม่ใช่อาร์เรย์ ดังนั้น เรามาดูการทำงานกัน
1.1 การใช้สูตรอาร์เรย์
ในกรณีนี้ เราต้องค้นหา การขาย สำหรับ รหัส และ ชื่อจริง จากแผ่นงานอื่น เวิร์กชีตนี้มีชื่อว่า “ ชุดข้อมูล ” ตอนนี้ทำตามขั้นตอนด้านล่างอย่างระมัดระวัง
📌 ขั้นตอน:
- ขั้นแรก สร้างช่วงข้อมูลในเวิร์กชีตใหม่ที่มีคอลัมน์ ID , ชื่อจริง และ ยอดขาย ในเวิร์กชีตใหม่นี้ เราจะพบผลลัพธ์ในช่วง D5:D7 ตั้งชื่อเวิร์กชีตนี้เป็น อาร์เรย์ .
ตอนนี้ เราจะใช้ INDEX-MATCH สูตรเพื่อหา ยอดขาย จำนวนเงิน
สูตรทั่วไป INDEX-MATCH ที่มีหลายเกณฑ์มีดังนี้
=INDEX(return_range, MATCH(1, ( criteria1=range1) * (criteria2=range2) * (…), 0))โดยที่:return_range คือช่วงที่ ค่าจะถูกส่งกลับ
เกณฑ์ 1 , เกณฑ์ 2 , … เป็นเงื่อนไขที่ต้องปฏิบัติตาม
ช่วง 1 , ช่วง 2 , … คือช่วงที่ควรค้นหาเกณฑ์ที่กำหนด
- ในขณะนี้ เลือกเซลล์ D5 และใส่สูตรต่อไปนี้
=INDEX(Dataset!$D$5:$D$15,MATCH(1,(Array!B5=Dataset!$B$5:$B$15)*(Array!C5=Dataset!$C$5:$C$15),0))
ที่นี่ - return_range คือ Dataset!$D$5:$D$15 คลิกที่แผ่นงาน ชุดข้อมูล และเลือกช่วงข้อมูล
- เกณฑ์ 1 คือ Array!B5 ( M-01 ).
- เกณฑ์2 คือ Array!C5 ( Tom ).
- range1 is Dataset!$B$5:$B$15 . คลิกที่แผ่นงาน ชุดข้อมูล และเลือกคอลัมน์ ID
- ช่วง 2<9 คือ ชุดข้อมูล!$C$5:$C$15 คลิกที่แผ่นงาน ชุดข้อมูล และเลือกคอลัมน์ ชื่อ
- lookup_value สำหรับฟังก์ชัน MATCH คือ 1 เนื่องจากให้ตำแหน่งสัมพัทธ์ของแถวสำหรับแต่ละเงื่อนไขที่เป็น TRUE ตำแหน่งของผลลัพธ์แรกจะถูกเรียกคืนหากมีหลายอินสแตนซ์ของ 1 ในอาร์เรย์
- match_type คือ 0
- หลังจากนั้น กด ENTER .
หมายเหตุ: เนื่องจากเป็นสูตรอาร์เรย์ ตรวจสอบให้แน่ใจว่าคุณกด CTRL + SHIFT + ENTER แทน ENTER หากคุณใช้เวอร์ชันอื่นที่ไม่ใช่ Excel 365 และอย่าใส่วงเล็บปีกการอบสูตร Excel จะเพิ่มลงในสูตรอาร์เรย์โดยอัตโนมัติ .
- ปัจจุบัน นำเคอร์เซอร์ไปที่มุมล่างขวาของเซลล์ D5 ที่จริงแล้วมันคือเครื่องมือ Fill Handle
- ดังนั้น ให้ดับเบิลคลิกที่นี่
- As ผลลัพธ์ มันจะคัดลอกสูตรไปยังเซลล์ต่อไปนี้ และคุณจะได้ผลลัพธ์ในเซลล์เหล่านั้นด้วย
อ่านเพิ่มเติม: วิธีเลือกข้อมูลเฉพาะใน Excel (6 วิธี)
1.2 โดยไม่ต้องใช้สูตรอาร์เรย์
เราสามารถทำกรณีก่อนหน้านี้ได้โดยไม่ต้องใช้สูตรอาร์เรย์ มาดูวิธีการ
📌 ขั้นตอน:
- ขั้นแรก สร้างตารางเหมือนตัวอย่างที่แล้ว
ในที่นี้ เราจะใช้สูตร INDEX-MATCH ที่ไม่ใช่อาร์เรย์ มาดูรูปแบบทั่วไปกันก่อน
INDEX(return_range, MATCH(1, INDEX((criteria1=range1) * (criteria2=range2) * (..), 0, 1) , 0))- อย่างที่สอง ไปที่เซลล์ D5 แล้วป้อนสูตรต่อไปนี้
=INDEX(Dataset!$D$5:$D$15,MATCH(1,INDEX(('Non Array'!B5=Dataset!$B$5:$B$15)*('Non Array'!C5=Dataset!$C$5:$C$15),0,1),0))
โดยที่ - return_range คือ Dataset!$D$5:$D$15 คลิกที่แผ่นงาน ชุดข้อมูล และเลือกช่วงข้อมูล
- เกณฑ์ 1 คือ 'Non Array'!B5 ( L-02 ).
- เกณฑ์ 2 คือ 'Non Array'!C5 ( โรส ).
- ช่วง 1 คือ ชุดข้อมูล!$B$5:$B$15 . คลิกที่แผ่นงาน ชุดข้อมูล และเลือกคอลัมน์ ID
- ช่วง 2<9 คือ ชุดข้อมูล!$C$5:$C$15 คลิกที่แผ่นงาน ชุดข้อมูล และเลือกคอลัมน์ ชื่อ
- lookup_value สำหรับ ฟังก์ชัน MATCH คือ 1 .
- match_type คือ 0 .
- จากนั้น กดปุ่ม ENTER เพื่อรับผลลัพธ์
อ่านเพิ่มเติม: ดัชนี Excel จับคู่เกณฑ์เดียว/หลายรายการพร้อมผลลัพธ์เดียว/หลายรายการ
การอ่านที่คล้ายกัน
- Excel INDEX MATCH ถ้าเซลล์มีข้อความ
- INDEX MATCH ที่มี 3 เกณฑ์ใน Excel (4 ตัวอย่าง)
- Excel INDEX MATCH เพื่อส่งคืนค่าหลายค่าใน เซลล์เดียว
- INDEX MATCH เกณฑ์หลายรายการพร้อมไวด์การ์ดใน Excel (คู่มือฉบับสมบูรณ์)
- [แก้ไขแล้ว!] INDEX MATCH ไม่ส่งคืนค่าที่ถูกต้องใน Excel (5 เหตุผล)
2. สูตรการจับคู่ INDEX ที่มีหลายเกณฑ์สำหรับแถวและคอลัมน์
หนึ่งในคุณลักษณะเฉพาะของ INDEX-MATCH สูตรคือสามารถค้นหาค่าพร้อมกันทั้งแถวและคอลัมน์ในที่แตกต่างกันแผ่น เราจะทราบทันที
ลองพิจารณาว่าเจ้านายของคุณเพิ่งให้ชุดข้อมูลที่ ชื่อ , รหัส ของยอดขายบางส่วนกับ ยอดขาย ของเดือน ม.ค. , มี.ค. , กำหนด พฤษภาคม , ก.ค. และ ก.ย. ชื่อของเวิร์กชีตนี้คือ “ Dataset2 ”
ขณะนี้ คุณต้องหา การขาย สำหรับเกณฑ์ที่กำหนดในชีตอื่น ตามเรามาเลย
📌 ขั้นตอน:
- เริ่มแรก สร้างตารางอีกแผ่นในชีตอื่นที่มีคอลัมน์ ชื่อ , รหัส , เดือน ที่กำหนดเกณฑ์ จากนั้นตั้งชื่อชีตนี้ แถว-คอลัมน์ คุณต้องดึง ยอดขาย โดยใช้เกณฑ์ที่กำหนด
ดังนั้น เราต้องใช้ INDEX-MATCH สูตรที่มีหลายเกณฑ์ในชีตนี้ รูปแบบของสูตรนี้มีดังต่อไปนี้
=INDEX(table_array, MATCH(vlookup_value, lookup_column, 0), MATCH(hlookup_value1 & hlookup_value2, lookup_row1 & lookup_row2, 0) )- จากนั้น ไปที่เซลล์ E5 และเรียกฟังก์ชัน INDEX .
=INDEX(
- หลังจากนั้น ให้ไปที่แผ่นงาน “ Dataset2 ”
- หลังจากนั้น เลือก table_array ซึ่งเป็นช่วง C5:G19 ใน Dataset2 ใบงาน
- จากนั้นกรอกสูตรทั้งหมดดังต่อไปนี้
=INDEX(Dataset2!$C$6:$G$20,MATCH('Row-Column'!B5,Dataset2!$B$6:$B$11,0),MATCH('Row-Column'!C5&'Row-Column'!D5,Dataset2!$C$4:$G$4&Dataset2!$C$5:$G$5,0))
โดยที่ - vlookup_value คือ 'Row-Column'!B5 ( K-01 ). lookup_column คือ Dataset2!$B$6:$B$11 .
- hlookup_value1 คือ 'Row-Column'!C5 ( Tom ).
- hlookup_value2 คือ 'Row-Column'!D5 ( พฤษภาคม ).
- lookup_row1 คือ Dataset2!$C$4:$G$4 .
- lookup_row2 คือ Dataset2! $C$5:$G$5 .
- match_type คือ 0
ดังนั้น เราจึงเห็นแถวและคอลัมน์ที่เลือกไว้ในภาพด้านล่าง
- สุดท้าย กด ENTER .
- นอกจากนี้ ใช้เครื่องมือ Fill Handle เพื่อให้ได้ผลลัพธ์ที่สมบูรณ์ ในเซลล์ด้านล่างในคอลัมน์
วิธีการใช้สูตร INDEX MATCH ที่มีหลายเกณฑ์สำหรับช่วงวันที่
เราสามารถแยกราคาของ ผลิตภัณฑ์บางอย่างในวันที่ระบุ
ที่นี่ เรามีรายการผลิตภัณฑ์ที่มีระยะเวลาเริ่มต้นและสิ้นสุดและราคาต่อหน่วยที่สอดคล้องกัน
สมมติว่า เราต้องการดูราคาของ ไอศกรีม ในวันที่ 02-10-22 (เดือน-วัน-ปี) หากวันที่ที่ระบุอยู่ภายในช่วงเวลาที่เสนอ เราจะแยกราคาในเซลล์ว่างใดๆ เพื่อไม่ให้เป็นการรอช้า เรามาดูวิธีการกันเลยดีกว่ามัน
📌 ขั้นตอน:
- ประการแรก สร้างช่วงเอาต์พุตในช่วง D19:D21 . ที่นี่ เราเลือกค้นหาสำหรับผลิตภัณฑ์ 3 รายการ คุณสามารถปรับแต่งได้ตามความต้องการ
- รองลงมา ไปที่เซลล์ D19 แล้วป้อนสูตรอาร์เรย์ต่อไปนี้
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=B19)*($D$5:$D$16>=C19)*($C$5:$C$16<=C19)),0))
- หลังจากนั้น กด ENTER .
เราสามารถเห็นข้อผิดพลาด #N/A ในเซลล์ D21 เนื่องจากวันที่ในเซลล์ C21 ไม่อยู่ภายในระยะเวลาที่อธิบายไว้ใน ชุดข้อมูล
หากคุณต้องการทราบเทคนิคและตัวอย่างเพิ่มเติมเกี่ยวกับหัวข้อนี้ คุณสามารถอ่านบทความ วิธีใช้ INDEX MATCH กับหลายเกณฑ์สำหรับช่วงวันที่ .
ทางเลือกอัจฉริยะของ INDEX MATCH ที่มีหลายเกณฑ์
หากคุณเป็นผู้ใช้ Office 365 คุณเท่านั้นที่มีสิทธิ์ได้รับประโยชน์จากฟังก์ชันนี้ ตอนนี้ เราจะใช้ ฟังก์ชันตัวกรอง เพื่อทำงานเดียวกัน ดังนั้น เพื่อให้เป็นไปตามหลักเกณฑ์ด้านล่างนี้
📌 ขั้นตอน:
- ประการแรก สร้างแผ่นงานเช่น วิธีที่ 1 .
- จากนั้น เลือกเซลล์ D5 แล้วใส่สูตรต่อไปนี้
=FILTER(Dataset!$D$5:$D$15,(Dataset!$B$5:$B$15=Alternative!B5)*(Dataset!$C$5:$C$15=Alternative!C5))
ดังนั้น สูตรนี้จึงนำไปใช้และเข้าใจได้ง่ายกว่าสูตรก่อนหน้า สำหรับคำอธิบาย ให้ไปที่บทความ INDEX MATCH with Multiple Criteria
- ประการที่สอง ให้กดแป้น ENTER
บันทึกย่อ
⏩ The INDEXMATCH โดยปกติจะเป็นสูตรอาร์เรย์ ดังนั้น คุณต้องกด CTRL+SHIFT+ENTER แทน ENTER เพื่อให้ได้ผลลัพธ์
⏩ หากคุณต้องการใช้สูตรเดียวกันนี้กับส่วนที่เหลือ เซลล์ อย่าลืมตรึงช่วงข้อมูลโดยใช้การอ้างอิงเซลล์แบบสัมบูรณ์ ( $ ) เพียงกด F4 เพื่อนำไปใช้กับสูตร
สรุป
บทความนี้จะอธิบายวิธีใช้ INDEX MATCH กับหลายเกณฑ์ในชีตต่างๆ เก่งในลักษณะที่เรียบง่ายและรัดกุม นอกจากนี้ อย่าลืมดาวน์โหลดไฟล์ แบบฝึกหัด ขอบคุณที่อ่านบทความนี้ เราหวังว่านี่จะเป็นประโยชน์ โปรดแจ้งให้เราทราบในส่วนความคิดเห็นหากคุณมีข้อสงสัยหรือข้อเสนอแนะ โปรดเยี่ยมชมเว็บไซต์ของเรา Exceldemy ผู้ให้บริการโซลูชัน Excel แบบครบวงจร เพื่อสำรวจเพิ่มเติม