คำสั่ง IF ของ Excel ถูกนำมาใช้กันอย่างแพร่หลายในการตัดสินใจ แต่ก็ไม่ใช่วิธีแก้ปัญหาที่หรูหราที่สุดเสมอไป เนื่องจากเงื่อนไขของคุณซับซ้อนมากขึ้น คำสั่ง IF ที่ซ้อนกันอาจอ่าน บำรุงรักษา และแก้ไขปัญหาได้ยาก เพื่อจัดการกับสถานการณ์ที่ซ้อนกันเหล่านั้น Excel เสนอทางเลือกที่มีประสิทธิภาพมากมายที่สามารถทำให้สูตรของคุณมีประสิทธิภาพและเข้าใจง่ายขึ้น
ในบทช่วยสอนนี้ เราจะแสดงฟังก์ชัน Excel 7 รายการที่สามารถแทนที่คำสั่ง IF ได้
ลองพิจารณาชุดข้อมูลการขายตัวอย่างเพื่อแสดงการเปรียบเทียบสูตรแบบเทียบเคียงกัน
1. IFS() – จัดการหลายเงื่อนไขอย่างหรูหรา
ฟังก์ชัน IFS จะประเมินหลายเงื่อนไขตามลำดับและส่งกลับค่าที่สอดคล้องกับเงื่อนไข TRUE แรก เหมาะอย่างยิ่งสำหรับการแทนที่คำสั่ง IF ที่ซ้อนกัน คำสั่ง IF ที่ซ้อนกันมีความยาวและยากต่อการแก้ไข IFS ลดความซับซ้อนของตรรกะแบบแบ่งระดับ
ไวยากรณ์: ป>
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
มาจัดประเภทมูลค่าใบสั่งขายเป็นคะแนนประสิทธิภาพกัน:
- ยอดเยี่ยม สำหรับการสั่งซื้อมากกว่า $10,000
- ดี สำหรับคำสั่งซื้อระหว่าง $5,000 ถึง $10,000
- เฉลี่ย สำหรับคำสั่งซื้อระหว่าง $2,000 ถึง $5,000
- ต่ำกว่าเป้าหมาย เพื่ออะไรก็ตามให้น้อยลง
หากแนวทาง: ป>
=IF(J2>10000, "Excellent", IF(J2>5000, "Good", IF(J2>2000, "Average", "Below Target")))
แนวทางของไอเอฟเอส: ป>
=IFS(J2>10000, "Excellent", J2>5000, "Good", J2>2000, "Average", TRUE, "Below Target")
ฟังก์ชัน IFS รับอาร์กิวเมนต์คู่หนึ่ง:
- เงื่อนไขและค่าที่จะส่งคืนหากเงื่อนไขนั้นเป็น TRUE
- อาร์กิวเมนต์ TRUE สุดท้ายทำหน้าที่เป็นตัวรับทั้งหมดสำหรับกรณีที่ไม่ตรงตามเงื่อนไขก่อนหน้านี้

ประโยชน์ที่ได้รับ: ป>
- ไม่มีวงเล็บที่ทำให้สับสน
- อ่านและบำรุงรักษาง่าย
- แสดงลำดับความสำคัญของเงื่อนไขอย่างชัดเจน
2. SWITCH() – เหมาะสำหรับการจับคู่แบบตรงทั้งหมด
SWITCH มีประสิทธิภาพมากกว่าคำสั่ง IF หลายคำสั่ง เมื่อคุณต้องการเปรียบเทียบค่าเดียวกับความเป็นไปได้ที่ตรงกันหลายรายการ โดยจะเปรียบเทียบค่าหนึ่งกับการจับคู่แบบตรงทั้งหมดหลายรายการ
ไวยากรณ์: ป>
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
มามอบหมายผู้จัดการฝ่ายขายให้กับภูมิภาคกันเถอะ:
- ตะวันออก:มอร์แกน สมิธ
- ตะวันตก:เทย์เลอร์ หว่อง
- ทิศเหนือ:เจมี โรดริเกซ
- ทิศใต้:เคซีย์ จอห์นสัน
หากแนวทาง: ป>
=IF(E2="East", "Morgan Smith", IF(E2="West", "Taylor Wong", IF(E2="North", "Jamie Rodriguez", IF(E2="South", "Casey Johnson", "Unassigned"))))
วิธีการเปลี่ยน: ป>
=SWITCH(E2, "East", "Morgan Smith", "West", "Taylor Wong", "North", "Jamie Rodriguez", "South", "Casey Johnson", "Unassigned")
- SWITCH ประเมินนิพจน์เทียบกับรายการค่า จากนั้นส่งคืนผลลัพธ์ที่สอดคล้องกับค่าแรกที่ตรงกัน
- อาร์กิวเมนต์สุดท้ายทำหน้าที่เป็นค่าเริ่มต้นหากไม่พบรายการที่ตรงกัน

สังเกตว่าวิธีการ SWITCH สะอาดกว่าและอ่านง่ายกว่ามากเพียงใดเมื่อเปรียบเทียบกับคำสั่ง IF ที่ซ้อนกัน
ประโยชน์ที่ได้รับ: ป>
- กะทัดรัดและใช้งานง่าย
- ขยายและเรียงลำดับใหม่ได้ง่ายขึ้น
- ไม่จำเป็นต้องทำรัง
3. CHOOSE() – เลือกจากรายการตามตำแหน่ง
เมื่อตรรกะของคุณเกี่ยวข้องกับการเลือกจากรายการที่กำหนดไว้ล่วงหน้าตามตำแหน่งตัวเลข CHOOSE จะตรงไปตรงมามากกว่า IF ที่ซ้อนกัน
ไวยากรณ์: ป>
=CHOOSE(index_num, value1, [value2], ...)
มาแปลงหมายเลขไตรมาสเป็นเดือนแรกในไตรมาสนั้น:
หากแนวทาง: ป>
=IF(F2=1, "January", IF(F2=2, "April", IF(F2=3, "July", IF(F2=4, "October", "Invalid Quarter"))))
เลือกแนวทาง: ป>
=CHOOSE(F2, "January", "April", "July", "October")
- CHOOSE ส่งกลับค่าจากรายการตามหมายเลขตำแหน่ง
- ไม่เหมือนกับ IF ตรงที่ไม่ได้ประเมินเงื่อนไข แต่เลือกรายการจากรายการที่ให้ไว้ตามค่าดัชนี

นอกจากนี้เรายังสามารถใช้ CHOOSE เพื่อกำหนดเป้าหมายการขายรายไตรมาสตามหมายเลขไตรมาส:
=CHOOSE(F2, 50000, 75000, 60000, 90000)
ซึ่งจะกำหนดเป้าหมายการขายที่แตกต่างกันตามไตรมาส

ประโยชน์ที่ได้รับ: ป>
- สั้นและชัดเจนยิ่งขึ้นเมื่อมี 3+ ตัวเลือก
- โอกาสที่จะเกิดข้อผิดพลาดทางตรรกะน้อยลง
- อัปเดตหรือเรียงลำดับใหม่ได้ง่ายขึ้น
4. XLOOKUP – การตัดสินใจตามตาราง
เมื่อทำการตัดสินใจตามช่วงของค่าหรือตารางการค้นหา ฟังก์ชัน LOOKUP จะมีประสิทธิภาพมากกว่า IF ที่ซ้อนกัน ฟังก์ชัน XLOOKUP ค้นหาค่าและส่งกลับผลลัพธ์ที่สอดคล้องกันจากอาร์เรย์อื่น
ไวยากรณ์: ป>
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
มาสร้างโครงสร้างค่าคอมมิชชันตามหมวดหมู่ผลิตภัณฑ์กันดีกว่า:
- อิเล็กทรอนิกส์:5%
- เฟอร์นิเจอร์:7%
- อื่นๆ:4%
หากแนวทาง: ป>
=IF(C2="Electronics", J2*0.05, IF(C2="Furniture", J2*0.07, J2*0.04))
แนวทาง XLOOKUP (Modern Excel): ป>
=J2*XLOOKUP(C2, $P$2:$P$4, $Q$2:$Q$4, 0.04)
สูตรนี้จะค้นหามูลค่าคำสั่งซื้อตามหมวดหมู่และอัตราค่าคอมมิชชัน จากนั้นคำนวณค่าคอมมิชชั่นการขาย

ประโยชน์ที่ได้รับ: ป>
- ทำงานได้ดีกับตารางข้อมูล
- อ่านง่ายขึ้นด้วยรายการที่ยาวขึ้น
- ยืดหยุ่น (สามารถรวมทางเลือกเริ่มต้นได้)
5. และ()/หรือ() – การรวมหลายเงื่อนไข
เมื่อต้องตรงตามเงื่อนไขหลายข้อ (AND) หรือต้องตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อ (OR) ฟังก์ชันเหล่านี้จะทำให้สูตรของคุณง่ายขึ้น ฟังก์ชัน AND จะส่งกลับค่า TRUE หากเงื่อนไขทั้งหมดเป็นจริง ฟังก์ชัน OR จะคืนค่า TRUE หากเงื่อนไขใดๆ เป็นจริง
ไวยากรณ์: ป>
=AND(logical1, [logical2], ...)
=OR(logical1, [logical2], ...)
มาตั้งค่าสถานะคำสั่งซื้อเป็น "ลำดับความสำคัญ" หาก:
- พวกมันคืออิเล็กทรอนิกส์ คำสั่งซื้อ และ
- มูลค่าการสั่งซื้อมากกว่า $5,000 , และ
- สถานะคือ กำลังประมวลผล .
หากแนวทาง: ป>
=IF(C2="Electronics", IF(J2>5000, IF(K2="Processing", "Priority", "Normal"), "Normal"), "Normal")
และแนวทาง: ป>
=IF(AND(C2="Electronics", J2>5000, K2="Processing"), "Priority", "Normal")
สูตรนี้ส่งคืนลำดับความสำคัญตามประเภทและสถานะ เงื่อนไขทั้งสองต้องเป็น TRUE

มาระบุคำสั่งซื้อที่มีสิทธิ์ได้รับส่วนลดเพิ่มเติมหาก:
- พวกเขามาจากตะวันตก ภูมิภาค หรือ
- คำสั่งซื้อมีมากกว่า 10 หน่วยหรือ
- ส่วนลดปัจจุบันคือ 0% .
หรือแนวทาง: ป>
=IF(OR(E2="West", G2>10, I2=0), "Eligible for Discount", "Not Eligible")
แนวทางนี้ทำให้ตรรกะชัดเจนขึ้นและง่ายต่อการรักษา โดยเฉพาะอย่างยิ่งเมื่อเงื่อนไขซับซ้อนมากขึ้น

ประโยชน์ที่ได้รับ: ป>
- นิพจน์ตรรกะที่สะอาดยิ่งขึ้น
- แก้ไขเงื่อนไขได้ง่ายขึ้น
- ทำงานได้ดีภายใน IF, FILTER ฯลฯ
6. MIN()/MAX() – ลดความซับซ้อนของข้อจำกัดช่วง
เมื่อเปรียบเทียบตัวเลขสองตัว MIN/MAX จะขจัดความจำเป็นในการแยกย่อยแบบมีเงื่อนไข ฟังก์ชัน MIN ส่งกลับค่าที่น้อยที่สุดจากช่วงที่เลือก ฟังก์ชัน MAX ส่งกลับตัวเลขที่มากที่สุดจากช่วงที่เลือก
ไวยากรณ์: ป>
=MIN(number1, [number2], ...)
=MAX(number1, [number2], ...)
ลองใช้นโยบายโดยที่:
- ปริมาณการสั่งซื้อขั้นต่ำสำหรับผลิตภัณฑ์ใดๆ คือ 5 หน่วย.
- ปริมาณการสั่งซื้อสูงสุดสำหรับผลิตภัณฑ์ใดๆ คือ 20 หน่วย.
- คำสั่งซื้อที่อยู่นอกขีดจำกัดเหล่านี้จำเป็นต้องได้รับการปรับเปลี่ยน
หากแนวทาง: ป>
=IF(G2<5, 5, IF(G2>20, 20, G2))
แนวทาง MIN/MAX: ป>
สูตรนี้ช่วยให้มั่นใจว่าค่าจะอยู่ระหว่าง 5 ถึง 20 โดยไม่จำเป็นต้องใช้คำสั่ง IF ที่ซ้อนกัน

ลองใช้นโยบายส่วนลดโดยที่:
- มีการใช้เปอร์เซ็นต์ส่วนลดปกติกับคำสั่งซื้อ
- ส่วนลดสูงสุดต้องไม่เกิน $1,500 โดยไม่คำนึงถึงเปอร์เซ็นต์
- ราคาสุดท้ายต้องไม่ต่ำกว่า $500 .
คำนวณราคาสุดท้ายหลังจากใช้ข้อจำกัดเหล่านี้:
หากแนวทาง: ป>
=IF(J2-((J2*I2)/100)<500, 500, IF((J2*I2)/100>1500, J2-1500, J2-((J2*I2)/100)))
แนวทาง MIN/MAX: ป>
=MAX(500, J2-MIN(1500, J2*I2/100))
แนวทางนี้ใช้งานง่ายกว่าและเข้าใจง่ายกว่าคำสั่ง IF ที่ซ้อนกัน

ประโยชน์ที่ได้รับ: ป>
- กระชับและเชื่อถือได้
- เหมาะสำหรับตัวพิมพ์ใหญ่ พื้น และตรรกะการกำหนดราคา
7. FILTER() – ผลลัพธ์แบบมีเงื่อนไขแบบไดนามิก (Excel 365+)
FILTER เป็นฟังก์ชันที่มีประสิทธิภาพซึ่งส่งคืนค่าตามเกณฑ์ที่ระบุ โดยแทนที่คำสั่ง IF ที่ซับซ้อนซึ่งตรวจสอบหลายเงื่อนไขได้อย่างมีประสิทธิภาพ
ไวยากรณ์: ป>
=FILTER(array, include, [if_empty])
มาสร้างรายงานแบบไดนามิกจากข้อมูลการขายของเรากันดีกว่า ค้นหาคำสั่งซื้ออุปกรณ์อิเล็กทรอนิกส์ทั้งหมดที่มีมูลค่ามากกว่า $5,000
วิธี IF (สำหรับแถวเดียว): ป>
=IF(AND(C2="Electronics", J2>5000), B2, "")
สิ่งนี้จะต้องถูกคัดลอกลงสำหรับทุกแถว ทำให้เกิดผลลัพธ์ที่กระจัดกระจาย
วิธีการกรอง: ป>
=FILTER(B2:B13, (C2:C13="Electronics")*(J2:J13>5000), "No matching products")
สูตรนี้กรองผลิตภัณฑ์จากอุปกรณ์อิเล็กทรอนิกส์ประมาณ

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