สารบัญ
บทช่วยสอนแสดงวิธีสร้างคำสั่ง 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 ให้ใช้เครื่องหมายดอกจัน:
ในการทดสอบเงื่อนไขด้วยตรรกะ 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)