IF กับ INDEX-MATCH ใน Excel (3 แนวทางที่เหมาะสม)

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

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

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

IF พร้อม INDEX- MATCH.xlsx

3 แนวทางการใช้ IF กับ INDEX-MATCH ใน Excel

ที่นี่เรามีชุดข้อมูลที่มี ชื่อ ของนักเรียนบางคน และ คะแนน ใน ฟิสิกส์ และ เคมี ของโรงเรียนที่ชื่อว่าโรงเรียนอนุบาลทานตะวัน

ลองรวม ฟังก์ชัน IF , ฟังก์ชัน INDEX และ ฟังก์ชัน MATCH ด้วยวิธีที่เป็นไปได้ทั้งหมดจากชุดข้อมูลนี้

1. รวม INDEX-MATCH ภายในฟังก์ชัน IF เพื่อใช้ IF กับ INDEX-MATCH ใน Excel

คุณสามารถรวม สูตร INDEX-MATCH ภายใน ฟังก์ชัน IF ถ้าจำเป็นอย่างใด

ตัวอย่างเช่น ลองคิดดูสักครู่ว่าหน่วยงานของโรงเรียนได้ตัดสินใจที่จะค้นหานักเรียนที่มีจำนวนน้อยที่สุดในวิชาฟิสิกส์

แต่นั่นเป็นเพียงกรณีที่จำนวนน้อยที่สุดเท่านั้น ในวิชาฟิสิกส์น้อยกว่า 40

ถ้าไม่ใช่ ก็ไม่จำเป็นต้องค้นหานักเรียน และจะแสดง “ไม่มีนักเรียน”

⧪ อปท.ทำได้อย่างไรทำสิ่งนี้ให้สำเร็จ?

ง่าย พวกเขาสามารถรวม INDEX-MATCH สูตร ภายใน ฟังก์ชัน IF เช่น สูตรนี้:

=IF(MIN(C4:C13)<40,INDEX(B4:D13,MATCH(MIN(C4:C13),C4:C13,0),1),"No Student")

ดู เนื่องจากจำนวนที่น้อยที่สุดในวิชาฟิสิกส์น้อยกว่า 40 ( 20 ในกรณีนี้) เราจึงพบว่า นักเรียนที่มีจำนวนน้อยที่สุด

นั่นคือ Alfred Moyes

คำอธิบายของสูตร:

  • MIN(C4:C13) ส่งกลับค่าที่น้อยที่สุดในคอลัมน์ C4:C13 ( Marks in Physics ) ในตัวอย่างนี้ ค่า 20 ดู ฟังก์ชัน MIN สำหรับรายละเอียด
  • ดังนั้นสูตรจะกลายเป็น IF(20<40,INDEX(B4:D13,MATCH(20,C4:C13,0),1 ),”ไม่มีนักเรียน”)
  • เนื่องจากเงื่อนไขภายใน ฟังก์ชัน IF ( 20<40 ) คือ TRUE มันส่งกลับอาร์กิวเมนต์แรก INDEX(B4:D13,MATCH(20,C4:C13,0),1) .
  • MATCH(20,C4:C13,0 ) ค้นหาค่าที่ตรงกันทุกประการกับ 20 ในคอลัมน์ C4:C13 (เครื่องหมายในฟิสิกส์) และค้นหาค่าหนึ่งในแถว 4 (ในเซลล์ C7 ). ดังนั้นจะส่งกลับ 4 .
  • ตอนนี้สูตรจะกลายเป็น INDEX(B4:D13,4,1) ส่งกลับค่าจากแถว ที่ 4 และคอลัมน์ ที่ 1 ของช่วง B4:D13 (ชุดข้อมูลไม่รวม ส่วนหัวของคอลัมน์ ).
  • นั่นคือชื่อของนักเรียนที่มีจำนวนน้อยที่สุดใน ฟิสิกส์ และนั่นคือ อัลเฟรด มอยส์

งานที่ต้องทำให้เสร็จอีกมาก:

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

นั่นคือเฉพาะในกรณีที่จำนวนสูงสุดมากกว่าหรือเท่ากับ 80 ถ้าไม่ ให้ส่งคืน "ไม่มีนักเรียน"

ใช่ คุณเดาถูกแล้ว สูตรจะเป็น:

=IF(MAX(D4:D13)>=80,INDEX(B4:D13,MATCH(MAX(D4:D13),D4:D13,0),1),"No Student")

ดูสิ เนื่องจากคะแนนสูงสุดในวิชาเคมีมีค่ามากกว่า 80 ( 95 ในตัวอย่างนี้) เราได้นักเรียนที่มีคะแนนสูงสุดในวิชาเคมี

แดกดัน เป็น Alfred Moyes อีกครั้ง

<0 อ่านเพิ่มเติม: Excel INDEX MATCH เพื่อส่งคืนค่าหลายค่าในเซลล์เดียว

2. ใช้ฟังก์ชัน IF ภายในฟังก์ชัน INDEX เพื่อใช้ IF กับ INDEX-MATCH ใน Excel

เรายังสามารถใช้ ฟังก์ชัน IF ภายใน ฟังก์ชัน INDEX หากจำเป็น ที่ไหนสักแห่ง

ดูภาพต่อไปนี้ ครั้งนี้เรามีบันทึกการสอบ (เฉพาะ ฟิสิกส์ ) ของนักเรียนอนุบาลทานตะวัน 2 เกรดที่แตกต่างกัน

ตอนนี้เรามีเซลล์ H9 ในเวิร์กชีตที่มี VII .

เราต้องการรับสูตรที่จะแสดงนักเรียนที่มีคะแนนสูงสุดของ Grade VII ที่อยู่ติดกัน เซลล์ถ้า H9 มี VII .

และถ้ามี VIII สูตรจะแสดงนักเรียนที่มีคะแนนสูงสุดจาก Grade VIII .

⧪ จะดำเนินการอย่างไร?

คุณสามารถแทรก ฟังก์ชัน IF ภายใน ฟังก์ชัน INDEX เพื่อให้งานสำเร็จ เดอะสูตรจะเป็น:

=INDEX(IF(H9="VII",B6:C15,E6:F15),IF(H9="VII",MATCH(MAX(C6:C15),C6:C15,1),MATCH(MAX(F6:F15),F6:F15,1)),1)

ดูสิ เนื่องจากมี VII ในเซลล์ H9 เราจะได้นักเรียนที่มีคะแนนสูงสุดจาก เกรด VII .

นั่นคือ Steve Smith ที่มีคะแนน 98

และถ้าเราเข้า VIII ที่นั่น เราจะได้นักเรียนที่มีคะแนนสูงสุดตั้งแต่ Grade VIII .

นั่นคือ Paul Kennington

คำอธิบายสูตร:

  • IF(H9=”VII”,B6:C15 ,E6:F15) คืนค่า B6:C15 ถ้าเซลล์ H9 มี “VII” มิฉะนั้น จะส่งกลับ E6:F15
  • ในทำนองเดียวกัน IF(H9=”VII”,MATCH(MAX(C6:C15),C6:C15,1),MATCH (MAX(F6:F15),F6:F15,1)) คืนค่า MATCH(MAX(C6:C15),C6:C15,1) ถ้า H9 มี “ปกเกล้าเจ้าอยู่หัว” . มิฉะนั้น จะคืนค่า MATCH(MAX(F6:F15),F6:F15,1)
  • ดังนั้น เมื่อ H9 มี “VII” สูตรกลายเป็น INDEX(B6:C15,MATCH(MAX(C6:C15),C6:C15,1),1) .
  • MAX(C6: C15) ส่งกลับคะแนนสูงสุดจากช่วง C6:C15 ( เครื่องหมาย ของ Grade VII ) มันคือ 98 ตรงนี้ ดู ฟังก์ชัน MAX สำหรับรายละเอียด
  • ดังนั้น สูตรจะกลายเป็น INDEX(B6:C15,MATCH(98,C6:C15,1),1)
  • MATCH(98,C6:C15,1) ค้นหาการจับคู่แบบตรงทั้งหมด 98 ในคอลัมน์ C6:C15 พบหนึ่งรายการ ในแถว 8 ในเซลล์ C13 ดังนั้นจะส่งกลับ 8 .
  • ตอนนี้สูตรจะกลายเป็น INDEX(B6:C15,8,1) มันส่งกลับค่าจากแถว 8th และคอลัมน์ 1st ของชุดข้อมูล B6:C15
  • นี่คือนักเรียนที่มีคะแนนสูงสุด ใน Grade VII , Steve Smith.

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

  • Excel INDEX และ MATCH Functions with Multiple Criteria (4 สูตร)
  • INDEX-MATCH สูตรหาค่าต่ำสุดใน Excel (4 วิธีที่เหมาะสม)
  • INDEX, MATCH และ MAX ที่มีหลายค่า เกณฑ์ใน Excel
  • XLOOKUP เทียบกับ INDEX-MATCH ใน Excel (การเปรียบเทียบที่เป็นไปได้ทั้งหมด)
  • ดัชนีจับคู่เกณฑ์หลายรายการในแถวและคอลัมน์ใน Excel

3. ใช้ฟังก์ชัน IF ภายในฟังก์ชัน MATCH เพื่อใช้ IF กับ INDEX-MATCH ใน Excel

คุณยังสามารถใช้ ฟังก์ชัน IF ภายใน ฟังก์ชัน MATCH หากจำเป็น .

กลับไปที่ชุดข้อมูลเดิมของเรา ด้วย เครื่องหมาย ของ ฟิสิกส์ และ เคมี ของนักเรียนโรงเรียนอนุบาลทานตะวัน

ตอนนี้เราจะทำภารกิจอื่น

ในเซลล์ F4 ของเวิร์กชีต มีชื่อหัวข้อ “ฟิสิกส์” .

เราจะหาสูตรที่จะแสดงนักเรียนที่มีคะแนนสูงสุดใน ฟิสิกส์ ในเซลล์ที่อยู่ติดกัน ถ้า F4 มี "ฟิสิกส์" อยู่ในนั้น

และถ้ามี “เคมี” จะแสดงนักเรียนที่มีคะแนนสูงสุดในวิชา เคมี

⧪ จะดำเนินการอย่างไร

ง่าย ใช้ ฟังก์ชัน IF ภายใน ฟังก์ชัน MATCH เช่น สูตรนี้:

=INDEX(B4:D13,MATCH(IF(F7="Physics",MAX(C4:C13),MAX(D4:D13)),IF(F7="Physics",C4:C13,D4:D13),0),1)

กำลังแสดง Steve Smith เนื่องจาก เขาเป็นผู้ที่ได้คะแนนสูงสุดใน ฟิสิกส์ และเซลล์ F7 มี “ฟิสิกส์” .

ถ้าเราเปลี่ยนเซลล์ F7 ถึง “เคมี” จะแสดง Alfred Moyes ซึ่งเป็นผู้ทำคะแนนสูงสุดใน เคมี

คำอธิบาย ของสูตร:

  • IF(F7=”ฟิสิกส์”,MAX(C4:C13),MAX(D4:D13)) ส่งกลับ MAX(C4:C13) ถ้า F7 มี “ฟิสิกส์” มิฉะนั้น จะส่งกลับ MAX(D4:D13) .
  • ในทำนองเดียวกัน IF(F7=”Physics”,C4:C13,D4:D13) จะส่งกลับ C4:C13 ถ้า F7 มี “ฟิสิกส์” มิฉะนั้น จะคืนค่า D4:D13
  • ดังนั้น ถ้า F7 มี “Physics” สูตรจะกลายเป็น INDEX(B4 :D13,MATCH(MAX(C4:C13),C4:C13,0),1) .
  • MAX(C4:C13) ส่งคืนคะแนนสูงสุดจากช่วง C4:C13 ( เครื่องหมาย จาก ฟิสิกส์ ) มันคือ 98 ตรงนี้ ดู ฟังก์ชัน MAX สำหรับรายละเอียด
  • ดังนั้น สูตรจะกลายเป็น INDEX(B4:D13,MATCH(98,C4:C13,1),1)
  • MATCH(98,C4:C13,1) ค้นหาการจับคู่แบบตรงทั้งหมด 98 ในคอลัมน์ C4:C13 พบหนึ่งรายการ ในแถว 8 ในเซลล์ C11 ดังนั้นจะส่งกลับ 8 .
  • ตอนนี้สูตรจะกลายเป็น INDEX(B4:D13,8,1) ส่งกลับค่าจากแถว 8 และคอลัมน์ 1st ของชุดข้อมูล B4:D13.
  • นี่คือนักเรียนที่ได้คะแนนสูงสุดในวิชา ฟิสิกส์ สตีฟ สมิธ

สิ่งที่ต้องทำ อย่าลืม

  • ตั้งค่าอาร์กิวเมนต์ ที่ 3 ของฟังก์ชัน MATCH เป็น 0 เสมอ ถ้าคุณต้องการจับคู่แบบตรงทั้งหมด เราแทบไม่ได้ตั้งค่าเป็นอย่างอื่นเลย
  • มีทางเลือกสองสามทางสำหรับ สูตร INDEX-MATCH เช่น ฟังก์ชัน FILTER , ฟังก์ชัน VLOOKUP , ฟังก์ชัน XLOOKUP, เป็นต้น
  • ในบรรดาทางเลือกอื่นๆ ฟังก์ชัน FILTER นั้นดีที่สุดเนื่องจากส่งคืนค่าทั้งหมดที่ตรงกับเกณฑ์ แต่มีอยู่ใน Office 365 เท่านั้น

บทสรุป

เมื่อใช้วิธีการเหล่านี้ คุณสามารถใช้ฟังก์ชัน IF ด้วย ฟังก์ชัน INDEX-MATCH ใน Excel คุณรู้วิธีอื่นหรือไม่? หรือเรามีคำถามอะไร? อย่าลังเลที่จะถามเรา

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