Cách dùng hàm IFS, SWITCH thay IF lồng nhau trong Excel

Hướng dẫn dùng hàm IFS và SWITCH trong Excel để thay chuỗi IF lồng nhau dài khó đọc: cú pháp, ví dụ xếp loại điểm, đổi mã tỉnh, lỗi thường gặp.
Khi cần xếp loại học lực, tính thưởng theo doanh số hay đổi mã thành tên, nhiều người viết hàm IF lồng nhau tới năm, sáu tầng. Công thức đó chạy được nhưng rất khó đọc và dễ sai một dấu ngoặc. Hai hàm IFS và SWITCH giúp bạn viết cùng logic ngắn gọn, rõ ràng hơn.
Trong bài, công thức dùng dấu phẩy , để ngăn cách đối số. Nếu máy bạn cài theo kiểu Việt Nam hoặc châu Âu và Excel báo lỗi, hãy thay dấu , bằng dấu chấm phẩy ;.
Vấn đề của IF lồng nhau
Ví dụ xếp loại theo điểm trung bình ở ô A2:
=IF(A2>=9,"Xuất sắc",IF(A2>=8,"Giỏi",IF(A2>=6.5,"Khá",IF(A2>=5,"Trung bình","Yếu"))))
Công thức đúng, nhưng càng thêm mức xếp loại thì càng nhiều ngoặc đóng ở cuối. Chỉ cần thiếu một dấu là Excel báo lỗi. Hàm IFS giải quyết đúng chỗ này. Nếu bạn chưa quen IF cơ bản, xem trước hàm IF, COUNTIF, SUMIF trong Excel.
Hàm IFS: nhiều điều kiện nối tiếp
Cú pháp
=IFS(điều_kiện_1, kết_quả_1, điều_kiện_2, kết_quả_2, ...)
Excel kiểm tra lần lượt từ trái sang phải. Điều kiện nào đúng đầu tiên thì lấy kết quả của điều kiện đó rồi dừng.
Ví dụ: xếp loại học lực
- Nhập điểm trung bình vào cột A, từ A2 trở xuống.
- Chọn ô B2.
- Gõ công thức:
=IFS(A2>=9,"Xuất sắc",A2>=8,"Giỏi",A2>=6.5,"Khá",A2>=5,"Trung bình",TRUE,"Yếu")
- Nhấn Enter.
- Kéo núm vuông nhỏ ở góc phải dưới ô B2 xuống để sao chép cho các dòng còn lại.
Chú ý hai điểm:
- Thứ tự điều kiện rất quan trọng. Phải xếp từ mức cao nhất xuống thấp nhất (hoặc ngược lại cho đúng logic), nếu không điều kiện rộng hơn sẽ "ăn" hết.
- **Cặp cuối
TRUE,"Yếu"** đóng vai trò "còn lại". Vì IFS không có đối số mặc định, nếu không có điều kiện nào đúng, hàm trả về lỗi#N/A. DùngTRUElàm điều kiện cuối để bắt mọi trường hợp còn lại.
Hàm SWITCH: đổi giá trị theo danh sách
SWITCH hợp khi bạn so sánh một giá trị với danh sách các giá trị cụ thể, như đổi mã thành tên.
Cú pháp
=SWITCH(giá_trị_cần_xét, giá_trị_1, kết_quả_1, giá_trị_2, kết_quả_2, ..., kết_quả_mặc_định)
Đối số cuối, nếu đứng một mình không đi theo cặp, sẽ là kết quả mặc định khi không khớp giá trị nào.
Ví dụ: đổi mã kho thành tên kho
- Cột A chứa mã kho:
TN,HN,HCM. - Ở B2 gõ:
=SWITCH(A2,"TN","Thái Nguyên","HN","Hà Nội","HCM","TP. Hồ Chí Minh","Chưa rõ")
- Nhấn Enter và kéo xuống.
SWITCH chỉ so sánh bằng chính xác, không dùng được các điều kiện như >=. Với bài toán khoảng giá trị (điểm, doanh số), hãy dùng IFS.
Khi nào dùng hàm nào
| Tình huống | Nên dùng |
| --- | --- |
| Xếp loại theo khoảng (>=, <) | IFS |
| Đổi mã, tên, loại theo danh sách cố định | SWITCH |
| Chỉ có một điều kiện, hai kết quả | IF |
| Danh sách tra cứu dài, hay thay đổi | VLOOKUP / XLOOKUP |
Với danh sách dài hơn khoảng 5 đến 10 mục, hoặc cần cập nhật thường xuyên, tốt hơn là tạo một bảng tra cứu riêng rồi dùng VLOOKUP và XLOOKUP. Cách này dễ sửa hơn nhiều so với sửa công thức.
Lỗi thường gặp
- **
#NAME?:** Excel của bạn là bản cũ không có IFS/SWITCH, hoặc gõ sai tên hàm. - **
#N/Avới IFS:** không có điều kiện nào đúng. Thêm cặpTRUE,"giá trị còn lại"ở cuối. - Kết quả không đúng khoảng: kiểm tra thứ tự điều kiện, đặc biệt khi dùng
>=từ thấp lên cao. - Excel báo lỗi cú pháp: thử đổi
,thành;(hoặc ngược lại) tùy cài đặt vùng của máy. - Số thành chữ: điểm nhập dạng văn bản (có dấu nháy ở đầu) làm phép so sánh sai. Hãy chuyển về dạng số.
- Chữ trong công thức phải nằm trong dấu ngoặc kép
"...".
Ví dụ ứng dụng: tính thưởng theo doanh số
Giả sử doanh số ở B2: dưới 10 triệu thưởng 0%, từ 10 đến dưới 20 triệu thưởng 3%, từ 20 triệu trở lên thưởng 5%.
=IFS(B2>=20000000,B2*0.05,B2>=10000000,B2*0.03,TRUE,0)
Hãy định dạng ô kết quả thành tiền cho dễ nhìn. Muốn học thêm các hàm nền tảng, xem các hàm Excel cơ bản dân văn phòng cần biết.
Cần hỗ trợ thêm?
Nếu file Excel của bạn đã quá phức tạp hoặc cần chuyển sang phần mềm quản lý riêng cho cửa hàng, hãy xem phần mềm theo yêu cầu hoặc gọi hotline 0943.847.333 để được tư vấn.
Câu hỏi thường gặp
Hàm IFS có trong Excel 2016 không?
Thường không, trừ khi bạn dùng bản Microsoft 365. IFS và SWITCH có trong Excel 2019, Excel 2021 và Microsoft 365. Bản cũ sẽ báo lỗi #NAME?.
Hàm IFS báo lỗi #N/A là sao?
Lỗi này xuất hiện khi không điều kiện nào đúng. Hãy thêm cặp TRUE và giá trị mặc định ở cuối công thức để bắt mọi trường hợp còn lại.
SWITCH khác IFS ở điểm nào?
SWITCH so sánh một giá trị với danh sách giá trị cụ thể và chỉ khớp chính xác. IFS kiểm tra nhiều điều kiện logic độc lập nên phù hợp cho các khoảng như lớn hơn hoặc bằng.
Công thức báo lỗi cú pháp dù gõ đúng thì sao?
Máy bạn có thể dùng dấu chấm phẩy thay dấu phẩy làm dấu phân cách đối số. Hãy thử thay dấu phẩy bằng dấu chấm phẩy trong công thức.





