Chia sẻ
"Hướng dẫn chi tiết cách lồng nhiều hàm IF, sử dụng IFS và SWITCH để xử lý logic nhiều nhánh trong Excel — kèm ví dụ phân loại, xếp hạng, tính lương."
1. Giới hạn của IF đơn giản
Hàm IF cơ bản chỉ xử lý 2 trường hợp: ĐÚNG hoặc SAI. Nhưng thực tế thường có 3, 5, thậm chí 10+ trường hợp:
Điểm A/B/C/D/F → 5 mức
Phân loại khách hàng VIP/Gold/Silver/Normal → 4 mức
Tính thuế lũy tiến → 7 bậc
2. IF lồng nhiều tầng (Nested IF)
2.1. Cú pháp
=IF(điều_kiện_1, kết_quả_1, IF(điều_kiện_2, kết_quả_2, IF(điều_kiện_3, kết_quả_3, kết_quả_mặc_định)))2.2. Ví dụ: Xếp loại điểm
Điểm | Xếp loại |
|---|---|
>= 90 | Xuất sắc |
>= 80 | Giỏi |
>= 65 | Khá |
>= 50 | Trung bình |
< 50 | Yếu |
=IF(A2>=90, "Xuất sắc", IF(A2>=80, "Giỏi", IF(A2>=65, "Khá", IF(A2>=50, "Trung bình", "Yếu"))))2.3. Mẹo viết IF lồng dễ đọc
Thêm xuống dòng (Alt+Enter trong formula bar):
=IF(A2>=90, "Xuất sắc",
IF(A2>=80, "Giỏi",
IF(A2>=65, "Khá",
IF(A2>=50, "Trung bình",
"Yếu"))))2.4. Giới hạn
Excel 2003: Tối đa 7 tầng IF lồng
Excel 2007+: Tối đa 64 tầng
Thực tế: Quá 3-4 tầng → khó đọc, dễ lỗi
3. Hàm IFS — Thay thế IF lồng (Excel 2019/365)
3.1. Cú pháp
=IFS(điều_kiện_1, kết_quả_1, điều_kiện_2, kết_quả_2, ..., TRUE, kết_quả_mặc_định)3.2. Ví dụ cùng bài xếp loại
=IFS(A2>=90, "Xuất sắc", A2>=80, "Giỏi", A2>=65, "Khá", A2>=50, "Trung bình", TRUE, "Yếu")3.3. So sánh IFS vs Nested IF
Tiêu chí | Nested IF | IFS |
|---|---|---|
Độ dễ đọc | Khó (nhiều ngoặc) | Dễ (phẳng) |
Kết quả mặc định | Tham số else tự nhiên | Dùng TRUE ở cuối |
Tương thích | Mọi phiên bản | Excel 2019/365 |
Số conditions | Phụ thuộc nesting | Lên đến 127 cặp |
3.4. Lưu ý IFS
Thứ tự quan trọng: IFS kiểm tra từ trái sang phải, dừng ở điều kiện ĐẦU TIÊN thỏa mãn
Luôn thêm TRUE ở cuối: Nếu không có condition nào match → lỗi #N/A
Không có ELSE: Phải dùng
TRUE, "giá trị mặc định"thay thế
4. Hàm SWITCH — So khớp giá trị
4.1. Cú pháp
=SWITCH(biểu_thức, giá_trị_1, kết_quả_1, giá_trị_2, kết_quả_2, ..., kết_quả_mặc_định)4.2. Khi nào dùng SWITCH?
Khi so sánh MỘT giá trị với NHIỀU giá trị cố định (không phải khoảng):
=SWITCH(B2, "KD", "Kinh doanh", "MKT", "Marketing", "IT", "Công nghệ", "Khác")B2 | Kết quả |
|---|---|
KD | Kinh doanh |
MKT | Marketing |
IT | Công nghệ |
HR | Khác (mặc định) |
4.3. SWITCH vs IF/IFS
Dùng SWITCH khi | Dùng IF/IFS khi |
|---|---|
So sánh = (bằng) | So sánh >, <, >= |
Giá trị cố định | Khoảng giá trị |
Nhiều trường hợp đơn giản | Logic phức tạp |
5. Kết hợp IF với AND, OR, NOT
5.1. IF + AND (tất cả điều kiện đúng)
=IF(AND(A2>=50, B2>=50, C2>=50), "Đạt", "Không đạt")Tất cả 3 môn >= 50 → Đạt.
5.2. IF + OR (ít nhất 1 điều kiện đúng)
=IF(OR(A2="VIP", B2>100000000), "Ưu tiên", "Bình thường")Khách VIP HOẶC doanh số > 100 triệu → Ưu tiên.
5.3. IF + NOT
=IF(NOT(A2=""), "Có dữ liệu", "Trống")6. Ví dụ thực tế: Tính lương
=IF(AND(D2="Full-time", E2>=12),
C2 * 1.2,
IF(AND(D2="Full-time", E2>=6),
C2 * 1.1,
IF(D2="Part-time",
C2 * 0.5,
C2)))Điều kiện | Lương |
|---|---|
Full-time, >= 12 tháng | Lương × 1.2 |
Full-time, >= 6 tháng | Lương × 1.1 |
Part-time | Lương × 0.5 |
Còn lại | Lương gốc |
7. Ví dụ thực tế: Phân loại khách hàng
Dùng IFS kết hợp AND:
=IFS(
AND(B2>=500000000, C2>=24), "VIP",
AND(B2>=200000000, C2>=12), "Gold",
AND(B2>=50000000, C2>=6), "Silver",
TRUE, "Normal"
)8. Thay thế IF bằng VLOOKUP
IF lồng xếp loại điểm có thể thay bằng bảng tra cứu:
Min | Loại |
|---|---|
0 | Yếu |
50 | Trung bình |
65 | Khá |
80 | Giỏi |
90 | Xuất sắc |
=VLOOKUP(A2, $E$2:$F$6, 2, TRUE)Gọn, sạch, dễ bảo trì hơn 4 tầng IF.
9. Mẹo xử lý logic
Ưu tiên IFS/SWITCH nếu có Excel 365+
VLOOKUP approximate match thay IF lồng cho khoảng giá trị
Tách logic ra helper column: Thay vì 1 công thức siêu dài → tách thành nhiều cột phụ
LET function: Đặt tên biến giúp công thức IF phức tạp dễ đọc
Debug: Chọn phần IF → F9 → xem kết quả trung gian
10. Tổng kết
IF lồng nhiều tầng là kỹ năng cần thiết nhưng dễ lạm dụng. Với Excel 365, hãy ưu tiên IFS cho điều kiện khoảng và SWITCH cho so sánh giá trị. Kết hợp AND/OR giúp bạn xây dựng logic linh hoạt mà vẫn dễ đọc.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
