Viết công thức điều kiện trong Excel không nhất thiết phải phức tạp với hàng loạt ngoặc đơn lồng nhau. Hàm IFS xuất hiện trong Excel 2019 và Microsoft 365 để thay thế các hàm IF lồng nhau rườm rà. Thay vì viết IF(IF(IF())), bạn chỉ cần một hàm duy nhất để kiểm tra nhiều điều kiện. Công thức ngắn hơn, đọc dễ hơn, và bảo trì đơn giản hơn nhiều.

Cú Pháp Hàm IFS Cơ Bản
Hàm IFS kiểm tra nhiều điều kiện và trả về giá trị tương ứng với điều kiện đúng đầu tiên. Cú pháp chuẩn là:
=IFS(điều_kiện1, giá_trị1, điều_kiện2, giá_trị2, điều_kiện3, giá_trị3, ...)
Cách hoạt động:
- Excel kiểm tra điều_kiện1 trước
- Nếu đúng, trả về giá_trị1 và dừng lại
- Nếu sai, chuyển sang kiểm tra điều_kiện2
- Tiếp tục cho đến khi tìm thấy điều kiện đúng hoặc hết điều kiện
Hàm cho phép tối đa 127 cặp điều kiện và giá trị. Mỗi điều kiện phải có giá trị tương ứng, nếu thiếu Excel sẽ báo lỗi “You’ve entered too few arguments for this function”.
Ví Dụ Cơ Bản: Xếp Loại Học Lực
Giả sử bảng điểm có điểm trung bình ở cột A và cần xếp loại ở cột B. Tiêu chí xếp loại:
- Từ 90 điểm trở lên: Xuất sắc
- Từ 80 đến dưới 90: Giỏi
- Từ 65 đến dưới 80: Khá
- Từ 50 đến dưới 65: Trung bình
- Dưới 50: Yếu
Công thức với hàm IF lồng nhau cũ:
=IF(A2>=90,"Xuất sắc",IF(A2>=80,"Giỏi",IF(A2>=65,"Khá",IF(A2>=50,"Trung bình","Yếu"))))
Công thức với hàm IFS mới:
=IFS(A2>=90,"Xuất sắc",A2>=80,"Giỏi",A2>=65,"Khá",A2>=50,"Trung bình",A2<50,"Yếu")
Công thức IFS ngắn hơn 40 ký tự, không có ngoặc lồng nhau, và dễ chỉnh sửa khi cần thay đổi tiêu chí. Tôi thường dùng công thức này cho bảng chấm điểm có 200 học sinh, việc cập nhật tiêu chí chỉ mất 30 giây thay vì 5 phút với IF lồng.
Xử Lý Lỗi #N/A Với Điều Kiện TRUE Cuối Cùng
Khi không có điều kiện nào đúng, hàm IFS trả về lỗi #N/A. Đây là lỗi phổ biến nhất mà người mới dùng gặp phải.
Cách khắc phục: Thêm TRUE làm điều kiện cuối cùng với giá trị mặc định:
=IFS(A2>=90,"Xuất sắc",A2>=80,"Giỏi",A2>=65,"Khá",A2>=50,"Trung bình",TRUE,"Yếu")
TRUE luôn đúng, vì vậy nếu tất cả điều kiện trên đều sai, Excel sẽ trả về giá trị cuối cùng này. Đây là cách tránh lỗi an toàn nhất khi làm việc với dữ liệu không đồng nhất.
Lưu ý quan trọng: Điều kiện TRUE phải đặt cuối cùng vì Excel kiểm tra theo thứ tự từ trái sang phải. Nếu đặt TRUE ở đầu, mọi trường hợp đều trả về giá trị của TRUE.
Ví Dụ Nâng Cao: Tính Chiết Khấu Theo Số Lượng
Bảng giá có chiết khấu theo số lượng mua:
- Từ 101 sản phẩm trở lên: 20% chiết khấu
- Từ 50 đến 100: 15% chiết khấu
- Từ 20 đến 49: 10% chiết khấu
- Từ 11 đến 19: 5% chiết khấu
- Từ 1 đến 10: Không chiết khấu
Giả sử số lượng ở ô B2, giá gốc ở ô C2:
=C2*IFS(B2>=101,0.8,B2>=50,0.85,B2>=20,0.9,B2>=11,0.95,B2>=1,1,TRUE,0)
Công thức này tính luôn giá sau chiết khấu bằng cách nhân giá gốc với hệ số tương ứng. Nếu số lượng là 0 hoặc âm, điều kiện TRUE trả về 0.
Kết Hợp IFS Với Các Hàm Khác
Hàm IFS hoạt động tốt khi kết hợp với hàm văn bản và hàm tính toán.
Ví dụ với hàm TEXT: Chuyển đổi đơn vị dung lượng tự động từ bytes sang KB, MB, hoặc GB:
=IFS(A2>=1073741824,TEXT(A2/1073741824,"0.0")&" GB",A2>=1048576,TEXT(A2/1048576,"0.0")&" MB",A2>=1024,TEXT(A2/1024,"0.0")&" KB",TRUE,TEXT(A2,"0")&" bytes")
Ví dụ với hàm AND: Xếp loại học sinh dựa trên cả điểm số và hạnh kiểm:
=IFS(AND(A2>=90,B2="Tốt"),"Xuất sắc",AND(A2>=80,B2="Tốt"),"Giỏi",AND(A2>=65,B2<>"Yếu"),"Khá",TRUE,"Cần cố gắng")
Công thức này kiểm tra đồng thời điểm trung bình ở cột A và hạnh kiểm ở cột B để đưa ra xếp loại chính xác hơn.
So Sánh IFS và SWITCH
Excel 2019 còn có hàm SWITCH thực hiện chức năng tương tự nhưng với cú pháp khác:
=SWITCH(A2,"Xà phòng",0.5,"Sữa tắm",0.4,"Bột giặt",0.8,0)
Khi nào dùng SWITCH:
- So sánh khớp chính xác với các giá trị cụ thể
- Không cần toán tử so sánh như lớn hơn hoặc nhỏ hơn
- Biểu thức kiểm tra chỉ xuất hiện một lần
Khi nào dùng IFS:
- Cần toán tử so sánh (>, <, >=, <=)
- Điều kiện phức tạp với AND hoặc OR
- Các khoảng giá trị thay vì giá trị cụ thể
Tôi thường dùng SWITCH cho bảng tra cứu đơn giản như mã sản phẩm, và IFS cho các phép so sánh số học như xếp hạng điểm.
Lỗi Thường Gặp và Cách Khắc Phục
Lỗi #VALUE! Xuất hiện khi điều kiện không trả về TRUE hoặc FALSE. Ví dụ điều kiện tham chiếu đến ô chứa văn bản thay vì số:
Sai: =IFS(A2,"Điều kiện",...)
Đúng: =IFS(A2>0,"Điều kiện",...)
Lỗi “Too few arguments” Thiếu giá trị trả về cho điều kiện. Mỗi điều kiện phải có giá trị tương ứng:
Sai: =IFS(A2>=90,"Xuất sắc",A2>=80)
Đúng: =IFS(A2>=90,"Xuất sắc",A2>=80,"Giỏi")
Lỗi #N/A Không có điều kiện nào đúng. Luôn thêm TRUE làm điều kiện cuối với giá trị mặc định như đã hướng dẫn ở trên.
Tương Thích và Phiên Bản
Hàm IFS chỉ có trong:
- Excel 2019 trở lên
- Microsoft 365 (Office 365)
- Excel Online
- Excel Mobile cho Android và iOS
Nếu dùng Excel 2016 trở về trước, hàm này không tồn tại và file sẽ báo lỗi #NAME?. Trong trường hợp cần chia sẻ file cho người dùng Excel cũ, vẫn phải dùng hàm IF lồng nhau truyền thống.
Mẹo Tối Ưu Hiệu Suất
Hàm IFS ngắn hơn IF lồng 30-50% về số ký tự và giảm thời gian tính toán trong file có nhiều công thức. Với bảng tính 10,000 dòng dùng công thức điều kiện, tôi thấy thời gian recalculate giảm từ 8 giây xuống 5 giây khi chuyển từ IF lồng sang IFS.
Sắp xếp điều kiện thông minh: Đặt điều kiện xảy ra thường xuyên nhất lên đầu. Excel dừng kiểm tra ngay khi tìm thấy điều kiện đúng, vì vậy thứ tự ảnh hưởng đến tốc độ:
Chậm: =IFS(A2<50,"Yếu",A2>=90,"Xuất sắc",A2>=80,"Giỏi",A2>=65,"Khá",TRUE,"Trung bình")
Nhanh: =IFS(A2>=80,"Giỏi hoặc Xuất sắc",A2>=65,"Khá",A2>=50,"Trung bình",TRUE,"Yếu")
Áp Dụng Thực Tế
Hàm IFS phù hợp với nhiều tình huống công việc:
- Xếp hạng nhân viên theo KPI
- Phân loại khách hàng theo doanh số
- Tính thuế thu nhập cá nhân theo bậc
- Đánh giá chất lượng sản phẩm theo điểm kiểm định
- Phân tích dữ liệu khảo sát theo thang điểm
Công thức IFS giúp bảng tính dễ bảo trì hơn khi tiêu chí thay đổi. Thay vì tìm trong mê cung ngoặc đơn của IF lồng, bạn chỉ cần sửa một cặp điều kiện-giá trị cụ thể. File mở nhanh hơn và ít bị lỗi công thức hơn khi có thay đổi cấu trúc dữ liệu.
