Skip to main content

Hàm IF nâng cao trong Excel: nhiều điều kiện, tránh sai

9 phút đọc

Hàm IF nâng cao trong Excel thường là IF kết hợp AND, OR hoặc nhiều IF lồng nhau để phân loại dữ liệu theo nhiều điều kiện. Muốn công thức trả đúng kết quả, bạn cần viết rõ quy tắc, sắp thứ tự nhánh và kiểm tra cả ô trống lẫn dữ liệu sai kiểu trước khi kéo công thức xuống toàn bảng.

Bài này dùng bảng doanh thu cửa hàng để thực hành xét thưởng và xếp hạng. Toàn bộ ngưỡng thưởng là giả định để học công thức, không phải chính sách của SenData hay doanh nghiệp cụ thể.

Chọn IF lồng, AND hay OR theo bài toán

Cú pháp nền tảng là =IF(điều_kiện,kết_quả_khi_đúng,kết_quả_khi_sai). Đọc công thức thành một câu: nếu điều kiện đúng thì nhận kết quả thứ nhất, ngược lại nhận kết quả thứ hai. Khi bài toán dài hơn, xác định quan hệ giữa các điều kiện trước khi thêm hàm.

Quy tắcCách viết phù hợpVí dụ
Phải đạt tất cả tiêu chíIF với ANDĐạt doanh thu và không có đơn hoàn
Chỉ cần đạt một tiêu chíIF với ORĐạt doanh thu hoặc đạt số đơn
Chọn một trong nhiều mứcIF lồng hoặc IFSXếp hạng A, B, C theo doanh thu

Nếu bạn còn nhầm tham chiếu ô hay cách đặt chuỗi trong dấu ngoặc kép, nên xem lại các hàm Excel cơ bản trước. Các ví dụ dưới dùng dấu phẩy phân cách đối số; nếu máy yêu cầu dấu chấm phẩy, hãy đổi dấu phân cách tương ứng.

Chuẩn bị bảng thực hành xét thưởng cửa hàng

Nhập tiêu đề vào A1:D1 và dữ liệu từ hàng 2. Cột B là doanh thu bằng đồng, cột C là số đơn hoàn, cột D là tổng số đơn bán. Nhập số nguyên như trong bảng rồi định dạng hiển thị sau; đừng gõ thêm chữ “đồng” vào ô doanh thu.

Cửa hàng — ADoanh thu — BĐơn hoàn — CĐơn bán — D
Hà Đông1200000000210
Cầu Giấy950000000205
Thủ Đức1000000002180
Bình Thạnh800000000160

Tạo ba cột kết quả E, F, G để thử từng quy tắc riêng. Không dùng chung một cột cho các chính sách khác nhau: khi đối chiếu, bạn sẽ khó nhận ra kết quả thay đổi do dữ liệu hay do công thức.

IF kết hợp AND: bắt buộc đạt đồng thời

Giả sử cửa hàng chỉ được thưởng khi doanh thu từ 100 triệu đồng và không có đơn hoàn. Tại E2, nhập:

=IF(AND(B2>=100000000,C2=0),"Được thưởng","Chưa đạt")

Kéo xuống E5. Hà Đông được thưởng; ba cửa hàng còn lại chưa đạt. Thủ Đức đạt đúng mốc doanh thu nhưng có hai đơn hoàn, nên kết quả vẫn là “Chưa đạt”. Đây là dòng quan trọng để phát hiện trường hợp vô tình dùng OR thay AND.

Muốn dễ bảo trì, đặt ngưỡng doanh thu tại J2 rồi thay số cố định bằng $J$2. Dấu đô la giữ nguyên ô chính sách khi sao chép công thức. Chỉ lưu một giá trị ngưỡng, thay vì sửa từng công thức sau mỗi lần đổi chính sách.

Hai sơ đồ luồng minh hoạ AND cần cả hai điều kiện, còn OR chỉ cần một điều kiện.
AND yêu cầu đồng thời; OR chấp nhận ít nhất một điều kiện đúng.
AND yêu cầu đồng thời; OR chấp nhận ít nhất một điều kiện đúng.

IF kết hợp OR và phối hợp nhiều nhóm điều kiện

Một chính sách khác cho phép cửa hàng đạt doanh thu từ 100 triệu hoặc có ít nhất 200 đơn bán. Tại F2, nhập:

=IF(OR(B2>=100000000,D2>=200),"Đạt chỉ tiêu","Chưa đạt")

Cầu Giấy đạt chỉ tiêu nhờ 205 đơn, dù doanh thu chưa đủ 100 triệu. Thủ Đức cũng đạt theo chính sách này vì doanh thu đủ ngưỡng. Đừng đối chiếu cột F với cột E rồi kết luận có lỗi: hai cột đang áp dụng hai quy tắc khác nhau.

Nếu bổ sung yêu cầu không có đơn hoàn cho cả hai trường hợp, hãy gom nhóm doanh thu và số đơn trong OR, rồi đưa nhóm đó vào AND:

=IF(AND(C2=0,OR(B2>=100000000,D2>=200)),"Được thưởng","Chưa đạt")

Lúc này Hà Đông và Cầu Giấy được thưởng, Thủ Đức bị loại vì có đơn hoàn. Trước khi viết, bạn nên diễn đạt chính sách thành câu: “Không có đơn hoàn, đồng thời đạt doanh thu hoặc số đơn”. Cách đọc này giúp đặt ngoặc đúng chỗ.

IF lồng nhau: xếp hạng theo thứ tự ngưỡng

Giả sử hạng A áp dụng từ 120 triệu, hạng B từ 100 triệu đến dưới 120 triệu, còn lại là hạng C. Tại G2, dùng:

=IF(B2>=120000000,"A",IF(B2>=100000000,"B","C"))

Kiểm tra ngưỡng cao trước giúp nhánh sau ngắn gọn. Khi đi tới IF thứ hai, doanh thu đã không đạt 120 triệu, nên bạn chỉ cần kiểm tra mốc 100 triệu. Kết quả lần lượt là A, C, B, C cho bốn cửa hàng.

Nếu kiểm tra B2>=100000000 trước và trả ngay hạng B, doanh thu 150 triệu cũng bị xếp B. Công thức không báo lỗi cú pháp nhưng sai nghiệp vụ vì nhánh rộng đã nhận mất trường hợp của nhánh hẹp.

Với Excel 2019 trở lên hoặc Microsoft 365, bạn có thể viết lại bằng IFS:

=IFS(B2>=120000000,"A",B2>=100000000,"B",TRUE,"C")

IFS chọn kết quả ứng với điều kiện đúng đầu tiên, nên vẫn phải giữ thứ tự ngưỡng. Cặp TRUE,"C" đóng vai trò mặc định. Nếu không có điều kiện nào đúng và không có nhánh mặc định, IFS trả lỗi #N/A.

Xử lý ô trống và số lưu dưới dạng văn bản

Công thức xếp hạng đơn giản có thể gán hạng C cho dòng chưa nhập doanh thu. Trong báo cáo, “chưa có dữ liệu” khác với “doanh thu thấp”. Hãy kiểm tra đầu vào trước:

=IF(B2="","Chưa nhập",IF(ISNUMBER(B2),IF(B2>=120000000,"A",IF(B2>=100000000,"B","C")),"Kiểm tra dữ liệu"))

Vòng ngoài nhận ô trống hoặc chuỗi rỗng. Vòng tiếp theo chỉ cho dữ liệu số đi vào phần xếp hạng. Giá trị nhập với dấu nháy đơn ở đầu, chẳng hạn '120000000, là văn bản và sẽ nhận thông báo kiểm tra.

Phép so sánh với chuỗi rỗng không coi ô chứa dấu cách là trống; trường hợp đó đi vào nhánh kiểm tra dữ liệu. Cũng cần lưu ý ngày tháng trong Excel được lưu bằng số, nên ISNUMBER không thay thế việc xác nhận đúng cột và đúng nghiệp vụ.

Không bọc IFERROR để biến mọi lỗi thành hạng C hoặc số 0. Cách đó có thể làm bảng trông sạch nhưng che mất dữ liệu hỏng. Khi dữ liệu nhập từ nhiều file, bạn có thể chuẩn hóa trước bằng quy trình trong bài làm sạch dữ liệu với Power Query Editor.

Kiểm tra công thức trước khi dùng cho báo cáo

Tạo một vùng thử riêng với doanh thu sát ngưỡng. Với quy tắc xếp hạng trên, bảng dưới là kết quả cần nhận. Dùng số nguyên bằng đồng để tránh nhầm dấu thập phân và dấu phân cách hàng nghìn.

Doanh thu thửKết quảĐiều được kiểm tra
99999999CNgay dưới ngưỡng B
100000000BDấu lớn hơn hoặc bằng
119999999BChưa chạm ngưỡng A
120000000AĐúng ngưỡng A
120000001AVượt ngưỡng A
Các nhóm dữ liệu đi tới ba mức kết quả, kèm kính lúp và dấu kiểm để minh hoạ kiểm tra ngưỡng.
Thử giá trị dưới, bằng và trên ngưỡng trước khi áp dụng toàn bảng.
Thử giá trị dưới, bằng và trên ngưỡng trước khi áp dụng toàn bảng.

Với AND và OR, thêm trường hợp chỉ đạt doanh thu, chỉ đạt số đơn, đạt cả hai và không đạt tiêu chí nào. Sau đó đổi số đơn hoàn từ 0 thành 1 để xác nhận điều kiện chặn vẫn có tác dụng.

Cuối cùng, kéo công thức xuống vài hàng và bấm vào từng ô để xem tham chiếu. Công thức ở hàng 5 phải đọc B5, C5, D5; riêng ô chính sách như $J$2 phải đứng yên. Kiểm tra này phát hiện lỗi cố định nhầm dòng mà nhìn kết quả tổng khó nhận ra.

Khi nào nên thay chuỗi IF bằng bảng quy tắc?

Khi mức thưởng đổi thường xuyên hoặc có nhiều nhóm sản phẩm, một chuỗi IF dài sẽ khó bàn giao. Tách ngưỡng và kết quả ra bảng chính sách giúp người phụ trách rà soát mà không phải đọc từng cặp ngoặc.

Bạn có thể chuyển sang hàm dò tìm phù hợp, nhưng phải xác định rõ dò chính xác hay dò theo khoảng. Bài hàm Excel nâng cao và cách chọn hàm dò là bước tiếp theo. Với dữ liệu đưa sang Power BI, giữ bảng quy tắc riêng cũng giúp việc kiểm tra mô hình rõ ràng hơn.

Câu hỏi thường gặp

IF nhiều điều kiện có bắt buộc lồng nhiều IF không?

Không. Khi nhiều tiêu chí cùng quyết định một kết quả, dùng AND hoặc OR bên trong IF. Chỉ cần nhiều nhánh khi bạn phải trả về nhiều mức kết quả khác nhau.

Vì sao công thức IF không báo lỗi nhưng trả sai hạng?

Hãy xem thứ tự điều kiện và dấu so sánh. Nhánh từ 100 triệu đặt trước nhánh từ 120 triệu sẽ nhận cả doanh thu cao hơn. Tiếp đó kiểm tra kiểu dữ liệu và tham chiếu sau khi kéo công thức.

Ô có công thức trả chuỗi rỗng có giống ô trống không?

Không hoàn toàn. Phép kiểm tra B2="" có thể nhận cả hai, còn ISBLANK chỉ trả TRUE cho ô thật sự trống. Chọn phép kiểm tra theo cách dữ liệu của bạn được tạo ra.

Nên dùng IF lồng hay IFS?

IF lồng phù hợp khi cần chia sẻ với phiên bản Excel cũ. IFS dễ đọc hơn cho nhiều nhánh trên phiên bản hỗ trợ, nhưng không tự sửa thứ tự điều kiện hay dữ liệu sai kiểu.

Nếu bạn cần chuyển bảng doanh thu và chính sách phân loại thành báo cáo Power BI, có thể xem báo giá làm Power BI và chuẩn bị file mẫu cùng quy tắc xét duyệt để freelancer đánh giá yêu cầu cụ thể.

Sẵn sàng xây dựng dashboard Power BI?

Kết nối với freelancer Power BI phù hợp, xem báo cáo nhúng ngay trên trình duyệt và tải file .pbix về sau khi thanh toán.

Đào Ngọc Tú

Đào Ngọc Tú

Freelancer Power BI

Cộng tác viên chuyên gia tại SenData. Chia sẻ kiến thức về phát triển Power BI, trực quan hóa dữ liệu và best practice business intelligence.

Đọc tiếp

Quay lại tất cả bài viết
Hàm IF nâng cao trong Excel: AND, OR và IF lồng | SenData