
ฟังก์ชัน IF ใน Excel เป็นเครื่องมืออันทรงพลังสำหรับการตัดสินใจ ใช้ประเมินเงื่อนไขและคืนค่าตามผลลัพธ์ (True/False) บทความนี้จะสอนใช้ IF ในสถานการณ์จริงที่ซับซ้อนพร้อมตัวอย่างปฏิบัติ บ่อยครั้งที่ต้องใช้ IF ในสถานการณ์ที่มีหลายเงื่อนไขหรือการคำนวณ
Syntax พื้นฐานของ IF
Syntax พื้นฐานคือ:
=IF(logical_test, value_if_true, value_if_false)
- logical_test: เงื่อนไขที่ต้องการทดสอบ
- value_if_true: ผลลัพธ์ถ้าเงื่อนไขเป็นจริง
- value_if_false: ผลลัพธ์ถ้าเงื่อนไขเป็นเท็จ
ใช้ Logical Operators ต่อไปนี้สร้าง logical_test:
- = (เท่ากับ)
- > (มากกว่า)
- >= (มากกว่าหรือเท่ากับ)
- < (น้อยกว่า)
- <= (น้อยกว่าหรือเท่ากับ)
- <> (ไม่เท่ากับ)
สถานการณ์ที่ 1: คำนวณโบนัสจากประสิทธิภาพ
มีรายชื่อพนักงานพร้อมคะแนนประสิทธิภาพ ต้องการคำนวณโบนัส: คะแนน ≥ 80 ได้โบนัส 10% ต่ำกว่า 80 ได้ 5%
- ใส่สูตรในเซลล์ที่เลือก
- ลากสูตรลงไปคำนวณโบนัสทุกคน
สูตร:
=IF(B2>=80, C2*10%, C2*5%)
- B2>=80: ทดสอบคะแนนประสิทธิภาพ
- จริง: คำนวณ C2*10% (10% ของเงินเดือน)
- เท็จ: คำนวณ C2*5% (5% ของเงินเดือน)
ผลลัพธ์:

สถานการณ์ที่ 2: ให้เกรดจากคะแนน (Nested IF)
ให้เกรดพนักงานจากคะแนนประสิทธิภาพ หรือให้นักเรียนจากคะแนนสอบ ระบบเกรดดังนี้:
- 90+ : Excellent
- 80-89: Good
- 70-79: Average
- ต่ำกว่า 70: Needs Improvement
ใช้ Nested IF หลายชั้นครอบคลุมเกรดทั้งหมด ใส่สูตรในเซลล์ที่เลือก
สูตร:
=IF(B2>=90, "Excellent", IF(B2>=80, "Good", IF(B2>=70, "Average", " Needs Improvement")))
แต่ละ IF ตรวจสอบช่วงคะแนน คืนค่าสถานะที่ตรง และหยุดเมื่อเงื่อนไขตรง วิธีนี้มอบเกรดอัตโนมัติ ทำให้ประเมินข้อมูลจำนวนมากได้เร็ว
ผลลัพธ์:

สถานการณ์ที่ 3: คำนวณโบนัสจากหลายเงื่อนไข (AND/OR)
บางครั้งต้องตรวจสอบหลายเงื่อนไขพร้อมกัน รวม IF กับ AND หรือ OR ได้ โบนัสจะให้ถ้ายอดขายเกิน $70,000 และ ประสิทธิภาพเป็น Excellent หรือ Good
สูตร:
=IF(AND(D2>=70000, OR(F2="Excellent", F2="Good")), C2*15%, C2*5%)
- AND(D2>=70000, OR(F2=”Excellent”, F2=”Good”)): ตรวจสอบยอดขาย D2 ≥ 70,000 และประสิทธิภาพ F2 เป็น Excellent หรือ Good
- C2*15%: ถ้าเงื่อนไขทั้งสองตรง โบนัส 15% จากค่า C2
- C2*5%: ถ้าไม่ตรง โบนัส 5%
ผลลัพธ์:

สถานการณ์ที่ 4: Nested IF สำหรับการคำนวณทางการเงินซับซ้อน
คำนวณภาษีจากช่วงรายได้ (Income Brackets):
- รายได้ ≤ $5,000: ภาษี 10%
- รายได้ $5,001 - $10,000: ภาษี 15%
- รายได้ > $10,000: ภาษี 20%
สูตร:
=IF(C2<=5000, C2*10%, IF(C2<=10000, C2*15%, C2*20%))
- ตรวจสอบรายได้ ≤ $5,000 ก่อน (ภาษี 10%)
- ต่อมา ≤ $10,000 (ภาษี 15%)
- ไม่ใช่ทั้งคู่ ใช้ 20%
ผลลัพธ์:

สถานการณ์ที่ 5: คำนวณค่าล่วงเวลา (Overtime)
คำนวณโบนัสล่วงเวลา: พนักงานทำงาน > 40 ชั่วโมง/สัปดาห์ ได้ $20 ต่อชั่วโมงล่วงเวลา
สูตร:
=IF(B2>40, (B2-40)*20, 0)
- ตรวจสอบชั่วโมงทำงาน > 40
- จริง: คำนวณโบนัสชั่วโมงล่วงเวลา
ผลลัพธ์:

สถานการณ์ที่ 6: จัดการเกรดด้วย Dynamic IF Function
IF ใช้มอบเกรดนักเรียนจากคะแนนได้ดีเยี่ยม
ระบบเกรด:
- 90+ : A+
- 80-89: A
- 70-79: B
- 60-69: C
- ต่ำกว่า 60: Fail
สูตรทั่วไปสำหรับเกรดแต่ละคน:
Regular Formula:
=IF(B2>=90,"A+",IF(B2>=80,"A",IF(B2>=70,"B",IF(B2>=60,"C","Fail"))))
สูตรประเมินแต่ละเซลล์ในช่วงและมอบเกรดตาม Logic
Dynamic Array Formula (Excel 365):
=IF(B2:D7>=90,"A+",IF(B2:D7>=80,"A",IF(B2:D7>=70,"B",IF(B2:D7>=60,"C","Fail"))))
- ใส่สูตรในเซลล์ (เช่น E2) Excel จะ Apply Logic ทุกเซลล์ในช่วง B2 และ “Spill” ผลลัพธ์ไปเซลล์ข้างเคียง
- แต่ละเซลล์ใน B2 ถูกประเมิน แสดงเกรดที่ถูกต้อง
ผลลัพธ์:

เพื่อหาเกรดเฉลี่ยแต่ละคน ใช้สูตร:
Dynamic Array Formula:
=IF(E2:E7>=90,"A+",IF(E2:E7>=80,"A",IF(E2:E7>=70,"B",IF(E2:E7>=60,"C","Fail"))))
สูตร Spill ผลลัพธ์อัตโนมัติสำหรับคะแนนใน E2 มอบ A+, A, B, C, Fail ตามช่วงคะแนน
ผลลัพธ์:

Array Formula นี้ทำงานได้เฉพาะ Excel ที่รองรับ Dynamic Arrays (Excel 365)
สรุป
ฟังก์ชัน IF ใน Excel จำเป็นสำหรับการตัดสินใจและคำนวณตามเกณฑ์ต่างๆ ด้วย Nested IF, Logical Operators (AND/OR) และรวมกับฟังก์ชันอื่นๆ สามารถแก้ปัญหาจริงที่ซับซ้อนได้ บทความอธิบายหลายสถานการณ์รวมถึง Dynamic Array Formulas ลองฝึกและประยุกต์เพื่อใช้ IF ได้คล่องแคล่วและมีประสิทธิภาพ
Get FREE Advanced Excel Exercises with Solutions!