ฟังก์ชัน Excel IF ที่มีหลายเงื่อนไข

  • แบ่งปันสิ่งนี้
Michael Brown

บทช่วยสอนแสดงวิธีสร้างคำสั่ง IF หลายคำสั่งใน Excel ด้วยตรรกะ AND และ OR นอกจากนี้ คุณจะได้เรียนรู้วิธีใช้ IF ร่วมกับฟังก์ชันอื่นๆ ของ Excel

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

    วิธีใช้ฟังก์ชัน IF กับหลายเงื่อนไข

    โดยพื้นฐานแล้ว มีสองประเภทคือ สูตร IF ที่มีหลายเกณฑ์ตามตรรกะ AND / OR ดังนั้น ในการทดสอบเชิงตรรกะของสูตร IF ของคุณ คุณควรใช้หนึ่งในฟังก์ชันต่อไปนี้:

    • ฟังก์ชัน AND - ส่งกลับ TRUE หาก ตรงตามเงื่อนไขทั้งหมด FALSE มิฉะนั้น
    • ฟังก์ชัน OR - คืนค่า TRUE หากตรง เงื่อนไขเดียวใดๆ ไม่เช่นนั้น FALSE

    เพื่อให้เข้าใจประเด็นได้ดีขึ้น ลองตรวจสอบตัวอย่างสูตรในชีวิตจริงดู

    คำสั่ง IF ของ Excel ที่มีหลายเงื่อนไข (และตรรกะ)

    The สูตรทั่วไปของ Excel IF ที่มีเงื่อนไขตั้งแต่ 2 เงื่อนไขขึ้นไปคือ:

    IF(AND( condition1, condition2, …), value_if_true, value_if_false)

    แปลเป็นภาษามนุษย์ ภาษา สูตรบอกว่า ถ้าเงื่อนไข 1 เป็นจริง และเงื่อนไข 2 เป็นจริง ให้ return value_if_true ; มิฉะนั้นจะส่งคืน value_if_false .

    สมมติว่าคุณมีตารางที่แสดงรายการคะแนนของการทดสอบสองรายการในคอลัมน์ B และ C เพื่อให้ผ่านการสอบปลายภาค นักเรียนต้องมีคะแนนทั้งสองรายการมากกว่า 50

    สำหรับการทดสอบตรรกะ ให้ใช้คำสั่ง AND ต่อไปนี้: AND(B2>50, C2>50)

    หากเงื่อนไขทั้งสองเป็นจริง สูตรจะส่งกลับ "ผ่าน"; หากเงื่อนไขใดเป็นเท็จ - "ล้มเหลว"

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    ง่ายใช่ไหม ภาพหน้าจอด้านล่างพิสูจน์ว่าสูตร Excel IF /AND ของเราทำงานถูกต้อง:

    ในลักษณะที่คล้ายกัน คุณสามารถใช้ฟังก์ชัน IF ของ Excel กับ เงื่อนไขข้อความ

    หลายรายการสำหรับ เช่น ให้ผลลัพธ์เป็น "ดี" ถ้าทั้ง B2 และ C2 มีค่ามากกว่า 50 มิฉะนั้น "ไม่ดี" สูตรคือ:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    หมายเหตุสำคัญ! ฟังก์ชัน AND ตรวจสอบ เงื่อนไขทั้งหมด แม้ว่าเงื่อนไขที่ทดสอบแล้วจะได้รับการประเมินเป็น FALSE พฤติกรรมดังกล่าวค่อนข้างผิดปกติเนื่องจากในภาษาการเขียนโปรแกรมส่วนใหญ่ เงื่อนไขที่ตามมาจะไม่ถูกทดสอบหากการทดสอบก่อนหน้านี้ส่งกลับค่า FALSE

    ในทางปฏิบัติ คำสั่ง IF ที่ดูเหมือนถูกต้องอาจส่งผลให้เกิดข้อผิดพลาดเนื่องจากสิ่งนี้ ความเฉพาะเจาะจง ตัวอย่างเช่น สูตรด้านล่างจะส่งกลับ #DIV/0! (ข้อผิดพลาด "หารด้วยศูนย์") ถ้าเซลล์ A2 เท่ากับ 0:

    =IF(AND(A20, (1/A2)>0.5),"Good", "Bad")

    การหลีกเลี่ยงสิ่งนี้ คุณควรใช้ฟังก์ชัน IF ที่ซ้อนกัน:

    =IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

    สำหรับข้อมูลเพิ่มเติม โปรดดูสูตร IF AND ใน Excel

    ฟังก์ชัน IF ของ Excel ที่มีหลายเงื่อนไข (OR ตรรกะ)

    หากต้องการทำสิ่งใดสิ่งหนึ่งหากเป็นไปตาม เงื่อนไขใด ๆ หรือทำสิ่งอื่น ให้ใช้ฟังก์ชัน IF และ OR ร่วมกัน:

    IF(OR( condition1 , condition2 , …), value_if_true, value_if_false)

    ความแตกต่างจากสูตร IF / AND ที่กล่าวถึงข้างต้นคือ Excel จะส่งกลับค่า TRUE หากเงื่อนไขใด ๆ ที่ระบุเป็นจริง

    ดังนั้น หากในสูตรที่แล้ว เราใช้ OR แทน AND:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    ใครก็ตามที่มีคะแนนมากกว่า 50 คะแนนในการสอบทั้งสองก็จะได้รับ "ผ่าน" ใน คอลัมน์ D ด้วยเงื่อนไขดังกล่าว นักเรียนของเรามีโอกาสผ่านการสอบปลายภาคได้ดีกว่า (Yvette โชคร้ายเป็นพิเศษที่สอบตกเพียง 1 คะแนน :)

    เคล็ดลับ ในกรณีที่คุณกำลังสร้าง คำสั่ง IF หลายชุดพร้อมข้อความ และทดสอบค่าในเซลล์เดียวด้วยตรรกะ OR (เช่น เซลล์สามารถเป็น "นี่" หรือ "นั่น") คุณสามารถสร้างคำสั่งที่กระชับมากขึ้น สูตรโดยใช้ค่าคงที่อาร์เรย์

    ตัวอย่างเช่น เมื่อต้องการทำเครื่องหมายการขายเป็น "ปิด" ถ้าเซลล์ B2 เป็น "ส่งมอบ" หรือ "ชำระเงิน" สูตรคือ:

    =IF(OR(B2={"delivered", "paid"}), "Closed", "")

    สามารถดูตัวอย่างสูตรเพิ่มเติมได้ในฟังก์ชัน IF OR ของ Excel

    IF ที่มีหลาย AND & & คำสั่ง OR

    หากงานของคุณต้องมีการประเมินเงื่อนไขหลายชุด คุณจะต้องใช้ทั้ง AND & & OR ทีละฟังก์ชัน

    ในตารางตัวอย่างของเรา สมมติว่าคุณมีเกณฑ์ต่อไปนี้สำหรับการตรวจสอบผลการสอบ:

    • เงื่อนไข 1:ข้อสอบ 1>50 และ ข้อสอบ 2>50
    • เงื่อนไข 2: ข้อสอบ 1>40 และ ข้อสอบ 2>60

    หากตรงตามเงื่อนไขข้อใดข้อหนึ่ง ถือว่าสอบผ่าน

    เมื่อแรกเห็น สูตรนี้อาจดูยุ่งยากเล็กน้อย แต่ที่จริงแล้วไม่ใช่เลย! คุณเพียงแค่แสดงแต่ละเงื่อนไขข้างต้นเป็นคำสั่ง AND และซ้อนไว้ในฟังก์ชัน OR (เนื่องจากไม่จำเป็นต้องตรงตามเงื่อนไขทั้งสอง ข้อก็เพียงพอแล้ว):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    จากนั้นใช้ ฟังก์ชัน OR สำหรับการทดสอบตรรกะของ IF และระบุค่า value_if_true และ value_if_false ที่ต้องการ ดังนั้น คุณจะได้สูตร IF ต่อไปนี้พร้อมเงื่อนไข AND / OR หลายข้อ:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    ภาพหน้าจอด้านล่างแสดงว่าเราได้ทำสูตรถูกต้องแล้ว:

    โดยธรรมชาติ คุณไม่จำกัดการใช้ฟังก์ชัน AND/OR เพียงสองฟังก์ชันในสูตร IF ของคุณ คุณสามารถใช้อาร์กิวเมนต์ได้มากเท่าที่ตรรกะทางธุรกิจของคุณต้องการ โดยมีเงื่อนไขว่า:

    • ใน Excel 2007 และสูงกว่า คุณมีอาร์กิวเมนต์ไม่เกิน 255 อาร์กิวเมนต์ และความยาวรวมของสูตร IF จะต้องไม่เกิน 8,192 อักขระ
    • ใน Excel 2003 และต่ำกว่า มีอาร์กิวเมนต์ไม่เกิน 30 ตัว และความยาวรวมของสูตร IF ของคุณต้องไม่เกิน 1,024 อักขระ

    คำสั่ง IF ที่ซ้อนกันเป็น ตรวจสอบการทดสอบเชิงตรรกะหลายรายการ

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

    นี่คือตัวอย่างทั่วไป: สมมติว่าคุณต้องการให้การรับรองผลสำเร็จของนักเรียนเป็น " ดี " " น่าพอใจ " และ " แย่ " ตามคะแนนต่อไปนี้:

    • ดี: 60 ขึ้นไป (>=60)
    • น่าพอใจ: ระหว่าง 40 ถึง 60 (>40 ถึง <60)
    • แย่: 40 หรือน้อยกว่า (<=40)

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

    ในกรณีของเรา ฟังก์ชันจะจัดเรียงจากมากไปน้อย:

    =IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))

    โดยปกติแล้ว คุณสามารถซ้อนฟังก์ชันเพิ่มเติมได้หากต้องการ (สูงสุด 64 รายการในเวอร์ชันสมัยใหม่)

    สำหรับข้อมูลเพิ่มเติม โปรดดูวิธีใช้คำสั่ง IF ที่ซ้อนกันหลายรายการใน Excel

    สูตรอาร์เรย์ Excel IF ที่มีหลายเงื่อนไข

    อีกวิธีในการรับ IF ของ Excel เพื่อทดสอบ หลายเงื่อนไขโดยใช้สูตรอาร์เรย์

    ในการประเมินเงื่อนไขด้วยตรรกะ AND ให้ใช้เครื่องหมายดอกจัน:

    IF( condition1 ) * ( condition2 ) * …, value_if_true, value_if_false)

    ในการทดสอบเงื่อนไขด้วยตรรกะ OR ให้ใช้เครื่องหมายบวก:

    IF( condition1 ) + ( condition2 ) + …,value_if_true, value_if_false)

    หากต้องการกรอกสูตรอาร์เรย์ให้ถูกต้อง ให้กดแป้น Ctrl + Shift + Enter พร้อมกัน ใน Excel 365 และ Excel 2021 ยังทำงานเป็นสูตรปกติเนื่องจากรองรับอาร์เรย์แบบไดนามิก

    ตัวอย่างเช่น หากต้องการรับ "ผ่าน" ถ้าทั้ง B2 และ C2 มากกว่า 50 สูตรจะเป็น:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    ใน Excel 365 ของฉัน สูตรปกติก็ใช้งานได้ดี (ดังที่คุณเห็นในภาพหน้าจอด้านบน) ใน Excel 2019 และต่ำกว่า อย่าลืมกำหนดให้เป็นสูตรอาร์เรย์โดยใช้ปุ่มลัด Ctrl + Shift + Enter

    ในการประเมินหลายเงื่อนไขด้วยตรรกะ OR สูตรคือ:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    การใช้ IF ร่วมกับฟังก์ชันอื่นๆ

    ส่วนนี้อธิบายวิธีใช้ IF ร่วมกับฟังก์ชันอื่นๆ ของ Excel และประโยชน์ที่คุณจะได้รับ

    ตัวอย่าง 1. ถ้า #N /A ข้อผิดพลาดใน VLOOKUP

    เมื่อ VLOOKUP หรือฟังก์ชันการค้นหาอื่นๆ ไม่พบบางสิ่ง ระบบจะส่งกลับข้อผิดพลาด #N/A ในการทำให้ตารางของคุณดูดีขึ้น คุณสามารถส่งคืนค่าศูนย์ ว่าง หรือระบุข้อความถ้า #N/A สำหรับสิ่งนี้ ใช้สูตรทั่วไปนี้:

    IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...))

    ตัวอย่าง:

    ถ้า #N/ ผลตอบแทน 0:

    หากไม่พบค่าการค้นหาใน E1 สูตรจะส่งกลับค่าศูนย์

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    หาก #N/A ส่งคืนค่าว่าง:

    หากไม่พบค่าการค้นหา สูตรจะไม่ส่งคืนสิ่งใด (สตริงว่าง)

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    หาก #N/A ส่งคืนข้อความบางอย่าง:

    หาก ไม่พบค่าการค้นหา, theสูตรส่งคืนข้อความเฉพาะ

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))

    สำหรับตัวอย่างสูตรเพิ่มเติม โปรดดู VLOOKUP พร้อมคำสั่ง IF ใน Excel

    ตัวอย่างที่ 2 IF พร้อม SUM, AVERAGE, MIN และ MAX ฟังก์ชัน

    ในการรวมค่าเซลล์ตามเกณฑ์ที่กำหนด Excel จะมีฟังก์ชัน SUMIF และ SUMIFS ให้

    ในบางสถานการณ์ ตรรกะทางธุรกิจของคุณอาจกำหนดให้รวมฟังก์ชัน SUM ในการทดสอบตรรกะของ IF ตัวอย่างเช่น หากต้องการส่งคืนป้ายกำกับข้อความที่แตกต่างกันโดยขึ้นอยู่กับผลรวมของค่าใน B2 และ C2 สูตรคือ:

    =IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))

    หากผลรวมมากกว่า 130 ผลลัพธ์คือ "ดี "; ถ้ามากกว่า 110 – "น่าพอใจ" ถ้า 110 หรือต่ำกว่า – "แย่"

    ในทำนองเดียวกัน คุณสามารถฝังฟังก์ชัน AVERAGE ในการทดสอบเชิงตรรกะของ IF และส่งกลับป้ายกำกับต่างๆ ตามคะแนนเฉลี่ย :

    =IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))

    สมมติว่าคะแนนรวมอยู่ในคอลัมน์ D คุณสามารถระบุค่าสูงสุดและต่ำสุดได้โดยใช้ฟังก์ชัน MAX และ MIN:

    =IF(D2=MAX($D$2:$D$10), "Best result", "") <3

    =IF(D2=MAX($D$2:$D$10), "Best result", "")

    หากต้องการให้ทั้งสองป้ายกำกับอยู่ในคอลัมน์เดียว ให้ซ้อนฟังก์ชันด้านบนเข้าด้วยกัน:

    =IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))

    เช่นเดียวกัน คุณสามารถใช้ IF ร่วมกับค่าที่กำหนดเอง ฟังก์ชัน ตัวอย่างเช่น คุณสามารถรวมกับ GetCellColor หรือ GetCellFontColor เพื่อส่งกลับผลลัพธ์ที่แตกต่างกันโดยอิงตามสีของเซลล์

    นอกจากนี้ Excel ยังมีฟังก์ชันจำนวนหนึ่งเพื่อคำนวณข้อมูลตามเงื่อนไข สำหรับตัวอย่างสูตรโดยละเอียด โปรดตรวจสอบสิ่งต่อไปนี้บทช่วยสอน:

    • COUNTIF - นับเซลล์ที่ตรงตามเงื่อนไข
    • COUNTIFS - นับเซลล์ที่มีหลายเกณฑ์
    • SUMIF - รวมเซลล์แบบมีเงื่อนไข
    • SUMIFS - ผลรวมเซลล์ที่มีหลายเกณฑ์

    ตัวอย่างที่ 3 ถ้าใช้ ISNUMBER, ISTEXT และ ISBLANK

    ในการระบุข้อความ ตัวเลข และเซลล์ว่าง Microsoft Excel มีฟังก์ชันพิเศษ เช่น ISTEXT, ISNUMBER และ ISBLANK เมื่อใส่ไว้ในการทดสอบเชิงตรรกะของคำสั่ง IF ที่ซ้อนกันสามชุด คุณสามารถระบุประเภทข้อมูลที่แตกต่างกันทั้งหมดในครั้งเดียว:

    =IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))

    ตัวอย่างที่ 4. IF และ CONCATENATE

    ถึง แสดงผลลัพธ์ของ IF และข้อความบางส่วนลงในเซลล์เดียว ใช้ฟังก์ชัน CONCATENATE หรือ CONCAT (ใน Excel 2016 - 365) และ IF ร่วมกัน ตัวอย่างเช่น:

    =CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    =CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    เมื่อดูที่ภาพหน้าจอด้านล่าง คุณแทบจะไม่ต้องอธิบายถึงการทำงานของสูตร:

    IF ISERROR / สูตร ISNA ใน Excel

    Excel เวอร์ชันใหม่มีฟังก์ชันพิเศษในการดักจับข้อผิดพลาดและแทนที่ด้วยการคำนวณอื่นหรือค่าที่กำหนดไว้ล่วงหน้า - IFERROR (ใน Excel 2007 และใหม่กว่า) และ IFNA (ใน Excel 2013 และใหม่กว่า) ใน Excel เวอร์ชันก่อนหน้า คุณสามารถใช้ชุดค่าผสม IF ISERROR และ IF ISNA แทน

    ข้อแตกต่างคือ IFERROR และ ISERROR จัดการกับข้อผิดพลาดของ Excel ที่เป็นไปได้ทั้งหมด รวมถึง #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! และ #NULL! ในขณะที่ IFNA และ ISNA เชี่ยวชาญเฉพาะข้อผิดพลาด #N/A

    ตัวอย่างเช่น ถึงแทนที่ข้อผิดพลาด "หารด้วยศูนย์" (#DIV/0!) ด้วยข้อความที่คุณกำหนดเอง คุณสามารถใช้สูตรต่อไปนี้:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

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

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

    Excel IF หลายเกณฑ์ - ตัวอย่าง (ไฟล์ .xlsx)

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