Tracks
Nếu bạn từng cố tạo một công thức logic phức tạp trong Excel, hẳn bạn biết nó có thể rối rắm đến mức nào. Điều khó nhất với các câu lệnh IF() lồng nhau là xác định điều kiện nào đặt ở đâu.
Đó là lý do Excel giới thiệu một hàm mới gọi là IFS(). Đây là cách gọn gàng và đơn giản hơn để kiểm tra nhiều điều kiện mà không phải “thắt nút” công thức. Tôi sẽ hướng dẫn bạn cách IFS() hoạt động, kèm ví dụ và mẹo để bạn dùng tự tin hơn.
Hàm IFS() trong Excel là gì?
Hàm IFS() giúp chúng ta kiểm tra đồng thời nhiều điều kiện. Nó duyệt qua từng điều kiện theo thứ tự bạn viết và trả về kết quả cho điều kiện đầu tiên là TRUE.
Vì vậy, đây là cách dễ hơn để viết những gì trước đây là một tập hợp công thức IF() lồng nhau lộn xộn. Thay vì xếp chồng nhiều hàm IF() vào nhau, IFS() liệt kê tất cả điều kiện của bạn ở một chỗ. Tổng cộng, bạn có thể thêm tối đa 127 cặp điều kiện–kết quả, dù tôi nghi ngờ bạn sẽ cần đến nhiều điều kiện như vậy.
Cách hoạt động của hàm IFS()
Cú pháp là:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]…)
Trong đó:
-
logical_test1(bắt buộc) là điều kiện đầu tiên. -
value_if_true1(bắt buộc) trả về kết quả nếu logical_test1 làTRUE. -
126 đối số
logical_testvàvalue_if_truecòn lại là tùy chọn.
Cách sử dụng Excel IFS()
Hàm IFS() trả về các kết quả khác nhau dựa trên điều kiện. Bạn có thể dùng các toán tử logic như =, <, >, <= và >= để xây dựng logic. Đây là cách bắt đầu.
Cách 1: Dùng Trình hướng dẫn công thức
Để dùng Trình hướng dẫn Công thức:
-
Nhấp vào ô nơi bạn muốn đặt công thức.
-
Vào thẻ Formulas và chọn Insert Function.
-
Trong ô tìm kiếm, nhập
IFSvà nhấp Go. -
Chọn
IFS, nhấp OK, rồi nhập các điều kiện và kết quả. -
Nhấp OK lần nữa để áp dụng công thức.
Đây là cách nhanh để xây công thức mà không cần tự gõ.

Dùng Trình hướng dẫn công thức để áp dụng hàm IFS(). Ảnh: Tác giả.
Cách 2: Tự viết thủ công
Bạn cũng có thể tự viết công thức. Đây có lẽ là cách hầu hết mọi người làm. Bạn chỉ cần gõ =IFS( trong ô và xây dựng logic từng bước. Giả sử bạn gán phương thức giao hàng dựa trên thời gian giao:
-
Nếu là 2 ngày hoặc ít hơn, đó là
Express -
Nếu là 3 đến 5 ngày, đó là
Standard
Với trường hợp này, công thức như sau:
=IFS(B2<=2, "Express", B2<=5, "Standard")

Áp dụng công thức IFS() trong một ô. Ảnh: Tác giả.
Bạn cũng có thể sao chép công thức sang các ô khác. Để làm vậy, kéo ô vuông nhỏ ở góc dưới của ô (theo fill handle). Việc này sẽ áp dụng công thức xuống cột. Hoặc chỉ cần nhấp đúp để tự động điền dựa trên dữ liệu của bạn.
Mẹo chuyên nghiệp: Excel tự động cập nhật tham chiếu ô khi bạn sao chép công thức. Nếu muốn giữ cố định một tham chiếu, hãy biến nó thành tham chiếu tuyệt đối bằng cách nhấn F4 (sẽ đổi A1 thành $A$1).

Sao chép công thức xuống dưới bằng fill handle. Ảnh: Tác giả
Tuy nhiên, một ô báo lỗi #N/A vì không thỏa điều kiện nào. Để khắc phục, hãy thêm điều kiện cuối cùng dùng TRUE ở cuối công thức. Điều này hoạt động như một phương án dự phòng; nó bắt mọi trường hợp chưa khớp trước đó và trả về một kết quả mặc định.
=IFS(B2<=2, "Express", B2<=5, "Standard", TRUE, "Economy")
Điều này loại bỏ lỗi #N/A và trả về giá trị mặc định.

Xử lý lỗi #N/A bằng điều kiện ELSE cuối. Ảnh: Tác giả.
Ví dụ IFS() trong thực tế
Giờ hãy xem một số ví dụ thực tế, nơi hầu hết mọi người dùng hàm này.
Gán điểm chữ
Bạn có thể dùng IFS() để chuyển điểm số của học sinh thành điểm chữ. Giả sử bạn có danh sách học sinh và điểm kiểm tra. Bạn có thể dùng công thức này để chuyển các con số thành điểm chữ:
=IFS(C5<60,"F", C5<70,"D", C5<80,"C", C5<90,"B", C5>=90,"A")
Cách hoạt động:
-
Nếu điểm nhỏ hơn 60, trả về
F. -
Nếu nhỏ hơn 70, trả về
D. -
Nếu nhỏ hơn 80, đó là
C. -
Nếu nhỏ hơn 90, bạn nhận
B. -
Nếu từ 90 trở lên, đó là
A.
Excel kiểm tra từng điều kiện theo thứ tự và dừng ngay khi gặp điều kiện TRUE. Dù có nhiều điều kiện có thể áp dụng, chỉ lần khớp đầu tiên được tính.
Gán điểm chữ cho học sinh bằng IFS(). Ảnh: Tác giả.
Xử lý lỗi với TRUE
Bạn cũng có thể dùng IFS() để hiển thị thông điệp tùy chỉnh dựa trên các mã trạng thái khác nhau thay vì để Excel hiển thị lỗi #N/A. Ví dụ, nếu bạn có danh sách mã và muốn hiện thông điệp tương ứng, dưới đây là công thức có thể dùng:
=IFS(A2=100,"OK", A2=200,"Warning", A2=300,"Error", TRUE,"Invalid")
Cách hoạt động:
-
Nếu mã là 100, hiển thị
OK. -
Nếu là 200, hiển thị
Warning. -
Nếu là 300, hiển thị
Error. -
Nếu không khớp các mã đó, hiển thị
Invalid.
Phần cuối cùng rất quan trọng. Nó sẽ hiển thị thông điệp dựa trên mã. Nếu không tìm thấy khớp chính xác, điều kiện TRUE cuối cùng đóng vai trò dự phòng và trả về Invalid.

Hiển thị thông điệp dựa trên mã bằng hàm IFS(). Ảnh: Tác giả.
Nhãn văn bản có điều kiện
Bạn cũng có thể dùng IFS() để phân loại mặt hàng vào các nhóm như trái cây, rau củ hoặc đồ uống để dễ theo dõi khi có mục mới.
Đây là công thức đơn giản để làm điều đó:
=IFS(A2="Grapes","Fruit", A2="Broccoli","Green Vegetable", A2="Tea","Beverage", TRUE,"Misc")
Cụ thể:
-
Nếu mặt hàng là
Grapes, hiển thịFruit. -
Nếu là
Broccoli, hiển thịGreen Vegetable. -
Nếu là
Tea, hiển thịBeverage. -
Nếu không khớp các mục trên, hiển thị
Misc.
Dòng cuối (với TRUE) là phương án dự phòng. Nó bắt tất cả những gì không phù hợp các nhóm còn lại.

Phân loại mặt hàng bằng IFS(). Ảnh: Tác giả.
Mô hình tài chính
Chúng ta cũng có thể dùng IFS() cho mục đích mô hình tài chính. Hãy xem hai ví dụ phổ biến:
Áp dụng bậc chiết khấu
Bạn có thể dùng IFS() để gán mức chiết khấu dựa trên tổng giá trị mua của khách hàng.
=IFS(B2>=500,"20% Discount", B2>=300,"10% Discount", B2>=100,"5% Discount", TRUE,"No Discount")
Cách hoạt động:
-
Nếu số tiền lớn hơn hoặc bằng
500, trả về20% Discount -
Nếu số tiền lớn hơn hoặc bằng
300, trả về10% Discount. -
Nếu số tiền lớn hơn hoặc bằng
100, trả về5% Discount. -
Nếu số tiền nhỏ hơn
100, điều kiệnTRUEcuối cùng trả vềNo Discount.

Áp dụng chiết khấu bằng IFS(). Ảnh: Tác giả.
Tính số ngày nghỉ
Bạn cũng có thể tính số ngày nghỉ mà nhân viên đủ điều kiện, dựa trên thâm niên làm việc. Để làm vậy, dùng công thức sau:
=IFS(B2>=10,"30 Days", B2>=5,"20 Days", B2>=1,"10 Days", TRUE,"No Leave")
Diễn giải như sau:
-
10năm trở lên được30 Daysnghỉ. -
5đến9năm được20 Days. -
1đến4năm được10 Days. -
Ít hơn 1năm làNo Leave.

Gán số ngày nghỉ theo thâm niên bằng IFS(). Ảnh: Tác giả.
Chuyển đổi dữ liệu
Bạn cũng có thể dùng IFS() để chuyển đổi kích thước tệp từ byte sang các đơn vị dễ đọc hơn như KB, MB hoặc GB:
=IFS(B2<1024, B2 & " Bytes", B2<1048576, ROUND(B2/1024,1) & " KB", B2<1073741824, ROUND(B2/1048576,1) & " MB", TRUE, ROUND(B2/1073741824,1) & " GB")
Công thức này hiển thị:
-
Bytescho giá trị dưới1024 -
KBcho giá trị dưới1MB -
MBcho giá trị dưới1GB -
GBcho mọi thứ lớn hơn

Chuyển đổi kích thước tệp từ byte sang KB, MB, GB bằng IFS(). Ảnh: Tác giả.
IFS() so với IF() và IF() lồng nhau
Khi làm việc với nhiều điều kiện trong Excel, bạn có ba lựa chọn: IF(), IF() lồng nhau, hoặc hàm IFS(). Mỗi cái hoạt động khác nhau, nên dưới đây là cách chọn đúng.
So sánh về độ dễ đọc
Nếu bạn chỉ kiểm tra một hoặc hai điều kiện, hàm IF() cơ bản là hoàn hảo. Nó nhanh, đơn giản và hiệu quả. Nhưng mọi thứ trở nên phức tạp khi bạn cố kiểm tra nhiều điều kiện. Khi đó chúng ta bắt đầu xếp chồng các hàm IF() vào nhau, khiến công thức khó đọc và còn khó sửa đổi hơn về sau.
Ví dụ:
=IF(A1<60,"F",IF(A1<70,"D",IF(A1<80,"C",IF(A1<90,"B","A"))))
Nó hoạt động, nhưng không dễ theo dõi. Tất cả những dấu ngoặc khiến việc đọc và cập nhật trở nên khó khăn.

IF() lồng nhau khó đọc và khó hiểu. Ảnh: Tác giả.
Giờ hãy xem cùng logic đó dùng IFS() thay thế:
=IFS(A1<60,"F", A1<70,"D", A1<80,"C", A1<90,"B", A1>=90,"A")
Công thức này trông đơn giản hơn nhiều. Mỗi điều kiện được ghép trực tiếp với một kết quả mà không cần lồng nhau và quá tải dấu ngoặc. Vì vậy, nếu bạn muốn công thức dễ đọc, dễ hiểu và dễ sửa sau này, IFS() là lựa chọn tuyệt vời.

IFS() dễ đọc và dễ hiểu hơn nhiều. Ảnh: Tác giả.
Cân nhắc về hiệu năng
Hàm IFS() kiểm tra mọi điều kiện bạn đưa ra, ngay cả khi nó đã tìm thấy một điều kiện khớp. Vì vậy nếu bạn liệt kê năm điều kiện, Excel vẫn đánh giá cả năm.
Nhưng các hàm IF() lồng nhau thì “thông minh” hơn một chút. Chúng dùng “short-circuiting”, nghĩa là dừng kiểm tra ngay khi tìm thấy điều kiện TRUE đầu tiên. Điều đó tiết kiệm một chút thời gian trong các bảng tính lớn có nhiều công thức.
So sánh nhanh: Khi nào dùng gì
Dưới đây là bảng so sánh nhanh giúp bạn hiểu khi nào nên dùng IF(), IF() lồng nhau và IFS():
|
Tính năng |
IF() |
IF() lồng nhau |
IFS() |
|
Phù hợp nhất cho |
1–2 điều kiện đơn giản |
Logic phức tạp (tối ưu hiệu năng) |
Nhiều điều kiện (tối ưu độ dễ đọc) |
|
Độ dễ đọc |
Rất dễ |
Khó theo dõi (nhiều dấu ngoặc) |
Gọn gàng, dễ quét |
|
Chỉnh sửa về sau |
Đơn giản |
Có thể khó (ngoặc ở khắp nơi) |
Dễ cập nhật |
|
Hiệu năng |
Nhanh |
Nhanh hơn một chút (dùng short-circuiting) |
Chậm hơn một chút (kiểm tra mọi điều kiện) |
|
Ví dụ sử dụng |
Các kiểm tra có/không cơ bản |
Định giá theo bậc trong bảng cực lớn |
Chấm điểm, phân loại, thông điệp dự phòng |
IFS so với SWITCH()
IFS() và SWITCH() đều kiểm tra nhiều điều kiện trong một công thức độc lập, nhưng chúng hoạt động khác nhau. Dưới đây là so sánh chi tiết giữa hai hàm:
|
Tính năng |
IFS() |
SWITCH() |
|
Phù hợp nhất cho |
Các điều kiện dùng logic (>, <, =) |
Một giá trị so với nhiều giá trị khớp chính xác |
|
Hỗ trợ toán tử logic? |
Có, rất tốt cho khoảng hoặc bất đẳng thức |
Không, chỉ hoạt động với giá trị khớp chính xác |
|
Phong cách cú pháp |
Lặp lại đầy đủ điều kiện mỗi lần |
Gọn hơn vì dùng một biểu thức so với các giá trị |
|
Ví dụ sử dụng |
Chấm điểm theo điểm số (vd. 90+, 75–89...) |
Ánh xạ mã sang danh mục (vd. 1 = North, 2 = South...) |
|
Tùy chọn dự phòng/mặc định |
Dùng TRUE ở cuối cho trường hợp bắt tất cả |
Thêm giá trị cuối (không điều kiện) làm mặc định |
|
Độ dễ đọc |
Có thể dài khi nhiều điều kiện |
Súc tích hơn khi so sánh cùng một biểu thức |
|
Tính linh hoạt |
Rất linh hoạt vì xử lý được nhiều biểu thức |
Hạn chế vì chỉ cho khớp chính xác với một biểu thức |
Những điều cần lưu ý
Bạn nên lưu ý vài điểm khi làm việc với hàm IFS() trong Excel.
Lỗi thường gặp và cách khắc phục
Trước hết, hãy xem một số lỗi phổ biến bạn có thể gặp.
Thiếu đối số
Nếu chúng ta thêm một điều kiện nhưng quên không chỉ định điều gì xảy ra khi nó đúng (value_if_true), Excel sẽ hiện cửa sổ: "You've entered too few arguments for this function."
Lỗi #N/A
Lỗi #N/A xảy ra khi không có điều kiện nào trong công thức là TRUE. Excel cần ít nhất một điều kiện khớp, nếu không sẽ bị “mắc kẹt”. Nếu bạn không muốn hiển thị #N/A, hãy thêm TRUE ở cuối với một giá trị dự phòng.
Lỗi #VALUE!
Lỗi #VALUE! xuất hiện khi một đối số logical_test không trả về TRUE hoặc FALSE rõ ràng. Có thể do lỗi gõ, hoặc điều kiện chưa đúng. Dù thế nào, Excel cũng không biết xử lý, vì vậy hãy kiểm tra lại logic của bạn.
Mẹo và thực hành tốt
Sau đây là vài thực hành tốt để công thức của bạn hay hơn và đơn giản hơn:
-
Cố gắng giữ mọi thứ đơn giản. Thường 10 điều kiện trở xuống là đủ.
-
Thêm một điều kiện dự phòng dùng
TRUElàm điều kiện cuối. Nó bao quát các trường hợp không thỏa điều kiện chính. -
Đảm bảo mỗi điều kiện đều có kết quả, và các phép kiểm tra của bạn trả về
TRUEhoặcFALSE. -
Kiểm thử công thức với các biên như 0, 100 hoặc cả ô trống để đảm bảo xử lý đúng như mong đợi.
Ưu và nhược điểm
IFS() có nhiều lợi ích thực sự, nhưng cũng có vài điểm cần lưu ý.
|
Ưu điểm |
Nhược điểm |
|
Gọn và dễ đọc hơn so với |
Không dùng short-circuiting — kiểm tra mọi điều kiện, kể cả sau khi đã khớp |
|
Hỗ trợ tối đa 127 điều kiện |
Bạn phải tự thêm điều kiện dự phòng |
|
Dễ gỡ lỗi và theo dõi logic phức tạp |
Chỉ hoạt động trong Excel 2016 trở về sau |
Kết luận
Hàm IFS() là cách hữu ích để kiểm tra nhiều điều kiện mà công thức không bị rối. Nó dễ đọc hơn so với việc xếp chồng nhiều câu lệnh IF() và giúp logic của bạn rõ ràng hơn nhiều. Hãy đảm bảo bạn sắp xếp điều kiện theo đúng thứ tự và luôn thêm một điều kiện dự phòng cuối cùng dùng TRUE — như vậy công thức của bạn sẽ không “vỡ” nếu không có gì khớp.
Nếu logic của bạn có thể dự đoán và tuân theo các quy tắc rõ ràng, IFS() là cách tuyệt vời để giữ bảng tính gọn gàng và dễ quản lý.
Tôi là một chiến lược gia nội dung, yêu thích việc đơn giản hóa các chủ đề phức tạp. Tôi đã giúp các công ty như Splunk, Hackernoon và Tiiny Host tạo nội dung hấp dẫn và giàu thông tin cho khán giả của họ.
Câu hỏi thường gặp về Excel IFS()
Tôi có thể kết hợp IFS() với các hàm khác như AND() hoặc OR() không?
Có, bạn có thể dùng các hàm AND() và OR() bên trong một công thức IFS() để làm cho điều kiện cụ thể hơn hoặc linh hoạt hơn.
Ví dụ, một số trong ô A1 có thể được phân loại là Low, Medium, hoặc High dựa trên khoảng giá trị của nó.
=IFS(AND(A1 > 0, A1 <= 10), "Low", AND(A1 > 10, A1 <= 20), "Medium", TRUE, "High")
Hàm IFS() có hỗ trợ so sánh ngày tháng không?
Có, bạn có thể so sánh giá trị ngày bằng các toán tử logic giống như với số:
=IFS(A1<TODAY(), "Past", A1=TODAY(), "Today", A1>TODAY(), "Future")