Excel If Function Multiple Conditions: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mục lục bài viết

Mở Đầu

Trong công việc hằng ngày, hầu hết các chuyên gia dữ liệu, kế toán, nhân sự hay nhà quản lý đều phải làm việc với Excel. Một trong những công cụ mạnh mẽ nhất của Excel là hàm IF (nếu) – cho phép chúng ta thực hiện các phép kiểm tra logic và trả về kết quả tùy thuộc vào điều kiện. Tuy nhiên, trong thực tế, hầu hết các bài toán không chỉ đơn giản là “nếu A thì B, nếu không thì C”. Thay vào đó, chúng ta thường phải xét nhiều điều kiện đồng thời, hoặc các điều kiện lẫn nhau, để đưa ra quyết định chính xác.

Bài viết này sẽ cung cấp cho bạn một hướng dẫn toàn diện về cách sử dụng hàm IF trong Excel khi phải xử lý nhiều điều kiện (multiple conditions). Chúng tôi sẽ đi từ những kiến thức cơ bản nhất, tới các kỹ thuật nâng cao như IF lồng nhau, AND, OR, CHOOSE, SWITCH, IFS, và cách kết hợp chúng với các hàm khác như VLOOKUP, INDEX/MATCH, SUMIFS, COUNTIFS, XLOOKUP. Bạn sẽ thấy các ví dụ thực tế, mẹo tối ưu hoá công thức, và những lỗi thường gặp khi làm việc với IF đa điều kiện.

1. Tổng Quan Về Hàm IF

1.1 Cú pháp cơ bản

=IF(logical_test, value_if_true, value_if_false)
  • logical_test: biểu thức logic (ví dụ: A1>10).
  • value_if_true: giá trị trả về nếu biểu thức đúng.
  • value_if_false: giá trị trả về nếu biểu thức sai.

1.2 Khi nào cần nhiều điều kiện?

  • Xác định mức giảm giá dựa trên số lượng và giá trị đơn hàng.
  • Phân loại nhân viên thành cấp bậc dựa trên thâm niên và đánh giá.
  • Kiểm tra độ hợp lệ của dữ liệu (ví dụ: ngày sinh phải > 18 tuổi và < 65 tuổi).

2. Sử Dụng AND và OR Để Kết Hợp Điều Kiện

2.1 Hàm AND

AND trả về TRUE khi tất cả các điều kiện đều đúng.

=IF(AND(A2>10, B2<5), "Đủ điều kiện", "Không đủ")

2.2 Hàm OR

OR trả về TRUE khi ít nhất một điều kiện đúng.

=IF(OR(A2="Nam", B2="Female"), "Có giới tính hợp lệ", "Không hợp lệ")

2.3 Kết hợp AND + OR

Bạn có thể lồng ghép chúng để tạo ra các biểu thức phức tạp:

=IF(AND(A2>10, OR(B2="Yes", C2="No")), "OK", "Fail")

Lưu ý: Khi dùng AND/OR trong IF, luôn đặt chúng ở vị trí logical_test.

3. IF Lồng Nhau (Nested IF)

Khi có nhiều mức độ quyết định, bạn có thể lồng IF trong IF.

3.1 Cấu trúc cơ bản

=IF(A2>90, "A", IF(A2>80, "B", IF(A2>70, "C", "D")))
  • Nếu A2 > 90 → trả “A”.
  • Nếu không, kiểm tra A2 > 80 → trả “B”, v.v.

3.2 Vấn đề “độ sâu” (nesting limit)

Trong Excel 2007 trở lên, giới hạn là 64 mức lồng nhau, đủ cho hầu hết trường hợp. Tuy nhiên, quá nhiều lồng nhau sẽ khó bảo trì và hiệu năng giảm.

3.3 Khi nào tránh lồng IF?

  • Khi có nhiều mức phân loại (>10) → nên dùng IFS hoặc CHOOSE.
  • Khi muốn đọc công thức dễ dàng hơn → dùng lookup tables.

4. Hàm IFS (Excel 2026 trở lên)

4.1 Cú pháp

=IFS( logical_test1, value_if_true1, logical_test2, value_if_true2, ... logical_test_n, value_if_true_n, TRUE, value_if_false // tùy chọn, để xử lý mặc định
)
  • IFS sẽ kiểm tra các điều kiện theo thứ tự và trả về giá trị đầu tiên thỏa mãn.
  • Không cần lồng IF, đọc và bảo trì dễ hơn.

4.2 Ví dụ thực tế

=IFS( B2>=90, "Xuất sắc", B2>=80, "Giỏi", B2>=70, "Khá", B2>=60, "Trung bình", TRUE, "Yếu"
)

4.3 Lưu ý

  • Không có tham số value_if_false mặc định; nếu không có điều kiện nào đúng, hàm trả lỗi #N/A. Vì vậy, thường thêm một điều kiện cuối cùng TRUE, "Không xác định".

5. Hàm SWITCH (Excel 2026 trở lên)

SWITCH thích hợp khi có một biểu thức và nhiều giá trị có thể trả về.

5.1 Cú pháp

=SWITCH(expression, value1, result1, value2, result2, ..., default
)

5.2 Ví dụ

=SWITCH(A2, "A", "Apple", "B", "Banana", "C", "Cherry", "Khác"
)
  • Khi A2 = “B” → trả “Banana”.
  • Nếu không khớp → trả “Khác”.

6. Kết Hợp IF Với Các Hàm SUMIFS, COUNTIFS

Khi cần tổng hoặc đếm dựa trên nhiều tiêu chí, thay vì dùng IF lồng nhau, dùng SUMIFS và COUNTIFS sẽ hiệu quả hơn.

6.1 SUMIFS

=SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, ...)

Ví dụ: Tính tổng doanh thu cho khách hàng VIP trong tháng 1

=SUMIFS(C:C, A:A, "VIP", B:B, "01/2026")

6.2 COUNTIFS

Excel If Function Multiple Conditions
Excel If Function Multiple Conditions
=COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, ...)

Ví dụ: Đếm số đơn hàng lớn hơn 1000 và trạng thái “Đã giao”

=COUNTIFS(D:D, ">1000", E:E, "Đã giao")

7. Sử Dụng LOOKUP (VLOOKUP, HLOOKUP, INDEX/MATCH) Thay Thế IF Nhiều Điều Kiện

Khi bạn có bảng quy tắc (rule table) với các điều kiện và kết quả, bạn có thể dùng lookup để tra cứu thay vì viết hàng loạt IF.

7.1 Ví dụ: Bảng mức giảm giá

Số lượngGiảm giá
1-100%
11-205%
21-3010%
>3015%

Cách 1: VLOOKUP với approximate match (range lookup)

=VLOOKUP(A2, $F$2:$G$5, 2, TRUE)
  • A2 chứa số lượng.
  • Bảng $F$2:$G$5 được sắp xếp tăng dần.

Cách 2: INDEX/MATCH

=INDEX($G$2:$G$5, MATCH(A2, $F$2:$F$5, 1))

7.2 Khi có nhiều tiêu chí (2 chiều)

Sử dụng INDEX/MATCH kết hợp với MATCH cho cả hàng và cột:

=INDEX($C$2:$F$5, MATCH(E2, $A$2:$A$5, 0), MATCH(F2, $B$1:$E$1, 0))

8. Xây Dựng Công Thức IF Đa Điều Kiện Thực Tế

8.1 Bài toán 1: Xác định mức lương thưởng

  • Tiêu chí:
  • Doanh thu > 500,000 → thưởng 10%
  • Doanh thu > 300,000 và < =500,000 → thưởng 7%
  • Doanh thu > 100,000 và < =300,000 → thưởng 5%
  • Ngược lại → không thưởng

Giải pháp 1: Nested IF

=IF(B2>500000, B210%, IF(B2>300000, B27%, IF(B2>100000, B25%, 0)))

Giải pháp 2: IFS (đơn giản hơn)

=IFS( B2>500000, B210%, B2>300000, B27%, B2>100000, B25%, TRUE, 0
)

Giải pháp 3: LOOKUP

=LOOKUP(B2, {0,100001,300001,500001}, {0, B25%, B27%, B210%})

8.2 Bài toán 2: Phân loại rủi ro khách hàng

Điểm tín dụngRủi ro
>= 800Thấp
600-799Trung bình
<600Cao

Công thức

=IF(C2>=800, "Thấp", IF(C2>=600, "Trung bình", "Cao"))

Hoặc dùng VLOOKUP:

=VLOOKUP(C2, $H$2:$I$4, 2, TRUE)

Trong đó $H$2:$I$4 là bảng trên (được sắp xếp tăng dần).

9. Khi Nào Dùng IF, Khi Nào Dùng Các Hàm Khác?

Trường hợpKhuyến nghị
Số lượng điều kiện ít (2‑3)IF + AND/OR
Nhiều mức độ (≥4)IFS hoặc LOOKUP
Cần trả về giá trị dựa trên một biểu thứcSWITCH
Tổng/đếm có tiêu chíSUMIFS, COUNTIFS
Tra cứu dựa trên bảng quy tắcVLOOKUP/XLOOKUP/INDEX-MATCH
Công thức phức tạp, cần bảo trìTạo bảng phụ trợ, dùng Power Query hoặc VBA

10. Mẹo Tối Ưu Hóa Công Thức IF Đa Điều Kiện

  1. Tránh lặp lại cùng một biểu thức: Đặt biểu thức vào một ô phụ hoặc dùng Named Range.
  2. Sử dụng Named Ranges: Giúp công thức ngắn gọn và dễ đọc (ví dụ =IF(Sales>Target, "Yes", "No")).
  3. Sắp xếp điều kiện “cực đoan” trước: Khi một điều kiện bao phủ nhiều trường hợp, đặt nó ở đầu để giảm số lần tính toán.
  4. Kiểm tra lỗi: Kết hợp IFERROR hoặc IFNA để xử lý lỗi trả về từ lookup.
    excel =IFERROR(VLOOKUP(A2, Table, 2, FALSE), "Không tìm thấy")
  5. Dùng hàm TEXT để định dạng kết quả:
    excel =IF(A2>100, TEXT(A2,"#,##0") & " (Cao)", TEXT(A2,"#,##0") & " (Thấp)")
  6. Sử dụng Power Query: Khi dữ liệu lớn, thực hiện logic trong Power Query sẽ nhanh hơn nhiều so với công thức ô.

11. Xử Lý Các Lỗi Thường Gặp Khi Dùng IF Đa Điều Kiện

LỗiNguyên nhânCách khắc phục
#VALUE!So sánh kiểu dữ liệu không tương thích (ví dụ: so sánh chuỗi với số).Đảm bảo cùng kiểu dữ liệu, dùng VALUE() hoặc TEXT().
#N/ALookup không tìm thấy giá trị.Bao quanh bằng IFERROR(...,"Không có").
#DIV/0!Chia cho 0 trong value_if_true hoặc value_if_false.Kiểm tra điều kiện chia trước khi thực hiện (IF(B2=0,0, A2/B2)).
Kết quả sai do ưu tiên AND/ORKhông đặt ngoặc đúng.Sử dụng dấu ngoặc () để xác định thứ tự tính toán.
Công thức quá dài, khó đọcNhiều IF lồng nhau.Chuyển sang IFS, LOOKUP hoặc tạo bảng phụ trợ.

12. Thực Hành: Xây Dựng Bảng Đánh Giá Nhân Viên

12.1 Yêu cầu

  • Tiêu chí: Thâm niên (năm), Điểm KPIs (0‑100), Số dự án hoàn thành.
  • Mức đánh giá:
  • Xuất sắc: Thâm niên ≥ 5 năm, KPIs ≥ 90, Dự án ≥ 10.
  • Giỏi: Thâm niên ≥ 3 năm, KPIs ≥ 80, Dự án ≥ 5.
  • Khá: Thâm niên ≥ 1 năm, KPIs ≥ 70, Dự án ≥ 2.
  • Cần cải thiện: Các trường hợp còn lại.

12.2 Công thức IF lồng nhau (độ phức tạp)

=IF(AND(A2>=5, B2>=90, C2>=10), "Xuất sắc", IF(AND(A2>=3, B2>=80, C2>=5), "Giỏi", IF(AND(A2>=1, B2>=70, C2>=2), "Khá", "Cần cải thiện")))

12.3 Sử dụng IFS (đơn giản hơn)

=IFS( AND(A2>=5, B2>=90, C2>=10), "Xuất sắc", AND(A2>=3, B2>=80, C2>=5), "Giỏi", AND(A2>=1, B2>=70, C2>=2), "Khá", TRUE, "Cần cải thiện"
)

12.4 Tối ưu bằng bảng quy tắc và LOOKUP

  1. Tạo bảng quy tắc (Sheet “Rule”):
Thâm niênKPIs_minDự_án_minĐánh_giá
59010Xuất sắc
3805Giỏi
1702Khá
000Cần cải thiện
  1. Công thức (sử dụng INDEX/MATCH với nhiều tiêu chí):
=LET( tenure, A2, kpi, B2, projects, C2, tbl, Rule!$A$2:$D$5, pos, MATCH(1, (tenure>=tblThâm niên)(kpi>=tblKPIs_min)(projects>=tblDự_án_min), 0), INDEX(tblĐánh_giá, pos)
)

Lưu ý: Hàm LET (Excel 365) giúp gán biến tạm, tăng tốc và làm công thức dễ đọc hơn.

13. Sử Dụng XLOOKUP Để Thay Thế IF Nhiều Điều Kiện

XLOOKUP (Excel 365/2026) mạnh hơn VLOOKUP vì cho phép tìm theo cả hai chiều và trả về mặc định.

13.1 Cú pháp

=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)

13.2 Ví dụ: Tính thuế suất dựa trên mức thu nhập

Thu nhậpThuế suất
0-10k5%
10k-30k10%
30k-50k15%
>50k20%
=XLOOKUP(A2, {0,10001,30001,50001}, {0.05,0.10,0.15,0.20}, 0.20, // nếu không tìm được, trả 20% 1) // match_mode = 1 (exact or next larger)

14. Khi Nào Nên Dùng VBA Thay Vì IF

  • Khi công thức trở nên cực kỳ phức tạp và độ trễ đáng chú ý.
  • Khi cần lặp lại quy trình trên nhiều sheet hoặc workbook.
  • Khi muốn tự động hoá (ví dụ: gửi email nếu điều kiện nào đó thỏa mãn).

Ví dụ VBA (đơn giản) để đánh giá mức giảm giá:

Function GetDiscount(sales As Double) As Double Select Case sales Case Is > 500000 GetDiscount = 0.1 Case Is > 300000 GetDiscount = 0.07 Case Is > 100000 GetDiscount = 0.05 Case Else GetDiscount = 0 End Select
End Function

Sau khi lưu macro, bạn dùng trong ô:

=GetDiscount(B2)

15. Kết Luận

Việc xử lý multiple conditions trong Excel không chỉ dừng lại ở việc lồng nhau vô hạn các hàm IF. Bằng cách hiểu rõ các công cụ hỗ trợ như AND, OR, IFS, SWITCH, LOOKUP, XLOOKUP, SUMIFS, COUNTIFS và cách kết hợp chúng một cách hợp lý, bạn có thể:

  • Giảm độ phức tạp của công thức.
  • Tăng tốc độ tính toán khi dữ liệu lớn.
  • Dễ bảo trì và đọc hiểu hơn cho người dùng khác hoặc cho chính mình trong tương lai.

Hãy bắt đầu áp dụng các kỹ thuật trên vào các bài toán thực tế trong công việc của bạn. Khi đã nắm vững nền tảng, bạn sẽ nhanh chóng trở thành “siêu nhân” Excel, có thể giải quyết mọi tình huống logic phức tạp chỉ trong vài giây.

Tip cuối cùng: Khi gặp công thức quá dài, hãy luôn cân nhắc chuyển sang một bảng phụ trợ (auxiliary table) hoặc Power Query để xử lý logic, sau đó chỉ dùng công thức đơn giản để truy xuất kết quả. Điều này không chỉ giúp file Excel nhẹ hơn mà còn giúp bạn quản lý dữ liệu một cách chuyên nghiệp hơn.

Chúc bạn thành công và luôn “đánh bại” mọi thách thức với hàm IF đa điều kiện trong Excel!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận