If Và Công Thức Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao

Giới thiệu chung về hàm IF trong Excel

Hàm IF (nếu) là một trong những hàm logic cơ bản và quan trọng nhất trong Microsoft Excel. Nó cho phép người dùng thực hiện các phép so sánh và đưa ra kết quả khác nhau dựa trên điều kiện được xác định. Cú pháp của hàm IF rất đơn giản:

IF(logical_test, value_if_true, value_if_false)
  • logical_test: điều kiện logic cần kiểm tra (ví dụ: A1>10, B2=”Nam”, …).
  • value_if_true: giá trị trả về nếu điều kiện đúng.
  • value_if_false: giá trị trả về nếu điều kiện sai (có thể bỏ qua, mặc định trả về FALSE).

1.1. Ví dụ cơ bản

AB
5=IF(A1>10,”Lớn”,”Nhỏ”)

Kết quả ở ô B1 sẽ là “Nhỏ” vì 5 không lớn hơn 10.

1.2. IF lồng nhau (Nested IF)

Khi cần kiểm tra nhiều điều kiện, ta có thể lồng các hàm IF vào nhau:

IF(A1>90,"A", IF(A1>80,"B", IF(A1>70,"C", IF(A1>60,"D","F"))))

Công thức này mô phỏng một bảng điểm chuẩn.

Các công thức kết hợp IF với hàm khác

2.1. IF + AND / OR

  • AND trả về TRUE nếu tất cả các điều kiện đều đúng.
  • OR trả về TRUE nếu ít nhất một điều kiện đúng.

Cú pháp:

IF(AND(condition1, condition2, ...), value_if_true, value_if_false)
IF(OR(condition1, condition2, ...), value_if_true, value_if_false)

Ví dụ: Kiểm tra học sinh đạt tiêu chuẩn:

=IF(AND(B2>=5, C2>=5, D2>=5),"Đạt","Không đạt")

Nếu ba cột điểm đều ≥5, trả về “Đạt”.

2.2. IF + ISERROR / IFERROR

Khi làm việc với các phép tính có thể gây lỗi (VD: chia cho 0), hàm IFERROR giúp xử lý:

=IFERROR(A1/B1, "Lỗi chia 0")

Nếu phép chia gây lỗi, Excel sẽ trả về “Lỗi chia 0” thay vì #DIV/0!.

2.3. IF + VLOOKUP / HLOOKUP / XLOOKUP

Khi muốn tra cứu giá trị và đồng thời kiểm tra điều kiện:

=IF(VLOOKUP(A2,Table,2,FALSE)>100, "Cao", "Thấp")

Nếu giá trị tra cứu >100, trả về “Cao”.

2.4. IF + SUMIF / COUNTIF / AVERAGEIF

Các hàm IF kết hợp với hàm tổng, đếm, trung bình có điều kiện:

=SUMIF(A:A,">=10",B:B) // Tổng B nếu A>=10
=COUNTIF(C:C,"Nam") // Đếm số ô chứa “Nam”
=AVERAGEIF(D:D,"<5",E:E)// Trung bình E nếu D<5

Mặc dù các hàm này đã có điều kiện nội tại, nhưng khi muốn trả về một thông báo tùy chỉnh, ta có thể bao bọc chúng bằng IF:

=IF(COUNTIF(A:A,"Apple")=0,"Không có Apple",COUNTIF(A:A,"Apple"))

2.5. IF + TEXT / DATE

Khi cần kiểm tra định dạng ngày hoặc chuỗi:

=IF(TEXT(A1,"ddd")="Mon","Thứ Hai", "Không phải thứ Hai")
=IF(ISNUMBER(A1),"Là số","Không phải số")

Các kỹ thuật nâng cao với IF

3.1. SWITCH (Excel 2026 trở lên)

SWITCH cho phép thay thế chuỗi IF lồng nhau phức tạp:

=SWITCH(A1, 1,"Một", 2,"Hai", 3,"Ba", "Khác")

Nếu A1=2, trả về “Hai”.

3.2. IFS (Excel 2026 trở lên)

IFS cho phép viết nhiều điều kiện mà không cần lồng IF:

=IFS(A1>90,"A", A1>80,"B", A1>70,"C", TRUE,"F")

3.3. CHOOSE và MATCH

Kết hợp CHOOSE với MATCH để thay thế IF đa lựa chọn:

=CHOOSE(MATCH(A1,{0,50,100},1),"Thấp","Trung bình","Cao")

3.4. Đánh giá đa tiêu chí với SUMPRODUCT

Thay vì lồng IF và AND, SUMPRODUCT có thể tính tổng có điều kiện mà không cần công thức mảng:

=SUMPRODUCT((A1:A10>5)(B1:B10="Nam")C1:C10)

Công thức trên tính tổng cột C khi A>5 và B=”Nam”.

3.5. Sử dụng Array Formula (Công thức mảng) với IF

Trong các phiên bản Excel hỗ trợ Dynamic Arrays (Office 365, Excel 2026), chúng ta có thể viết:

=IF(A1:A10>5, "Lớn", "Nhỏ")

Kết quả sẽ trả về một mảng các giá trị “Lớn” hoặc “Nhỏ” cho từng ô tương ứng.

Thực hành: 10 bài tập thực tế với IF và công thức liên quan

If And Formula In Excel
If And Formula In Excel

Bài 1: Xác định mức lương bonus

Giả sử cột B là doanh thu cá nhân, mức bonus được tính:

  • Doanh thu ≥ 100 000 => Bonus 10%
  • 50 000 ≤ Doanh thu < 100 000 => Bonus 5%
  • < 50 000 => Không bonus
=IF(B2>=100000,B20.1, IF(B2>=50000,B20.05,0))

Bài 2: Kiểm tra ngày làm việc cuối tuần

Cột A chứa ngày (định dạng ngày). Trả về “Cuối tuần” nếu là Thứ Bảy hoặc Chủ Nhật:

=IF(OR(WEEKDAY(A2,2)=6,WEEKDAY(A2,2)=7),"Cuối tuần","Ngày thường")

Lưu ý: WEEKDAY(...,2) trả về 1‑7 với 1 là Thứ Hai.

Bài 3: Phân loại độ tuổi

TuổiPhân loại
<18Trẻ
18‑35Thanh niên
36‑55Trung niên
>55Người cao tuổi
=IF(A2<18,"Trẻ", IF(A2<=35,"Thanh niên", IF(A2<=55,"Trung niên","Người cao tuổi")))

Bài 4: Kiểm tra tồn kho

Nếu số lượng trong kho <=5, hiển thị “Cảnh báo”, ngược lại “Còn hàng”:

=IF(C2<=5,"Cảnh báo","Còn hàng")

Bài 5: Tính thuế thu nhập cá nhân (theo bảng lũy tiến)

Giả sử:

  • Thu nhập ≤ 5 triệu: 5%
  • 5‑10 triệu: 10%
  • 10 triệu: 20%

=IF(D2<=5000000,D20.05, IF(D2<=10000000,D20.10, D20.20))

Bài 6: Kiểm tra email hợp lệ (cơ bản)

Nếu ô chứa ký tự “@” và “.”:

=IF(AND(ISNUMBER(SEARCH("@",E2)),ISNUMBER(SEARCH(".",E2))),"Hợp lệ","Không hợp lệ")

Bài 7: Tính thời gian làm việc vượt ca

Giả sử B là thời gian bắt đầu, C là thời gian kết thúc (định dạng giờ). Nếu làm việc >8 giờ, trả về “Vượt ca”:

=IF((C2-B2)24>8,"Vượt ca","Bình thường")

Chú ý: Nhân 24 để chuyển ngày sang giờ.

Bài 8: Đánh giá rủi ro dự án

  • Ngân sách > 1 tỷ => “Rủi ro cao”
  • Thời gian > 12 tháng => “Rủi ro trung bình”
  • Ngược lại “Rủi ro thấp”
=IF(F2>1000000000,"Rủi ro cao", IF(G2>12,"Rủi ro trung bình","Rủi ro thấp"))

Bài 9: Kiểm tra số nguyên dương

=IF(AND(ISNUMBER(H2),H2=INT(H2),H2>0),"Số nguyên dương","Không phải")

Bài 10: Tự động gán mã khách hàng

Nếu cột A chứa tên, cột B chứa ngày đăng ký, tạo mã “KH” + năm + số thứ tự:

="KH"&YEAR(B2)&TEXT(ROW(A2)-ROW($A$2)+1,"000")

Khi nào nên dùng IF và khi nào nên dùng các hàm khác?

Trường hợpHàm đề xuấtLý do
Kiểm tra một điều kiện đơn giảnIFĐơn giản, dễ đọc
Nhiều điều kiện độc lậpIFS / SWITCHTránh lồng IF sâu, tăng khả năng bảo trì
Kiểm tra đồng thời nhiều điều kiệnAND / OR trong IFRõ ràng, ngắn gọn
Cần tra cứu và trả về giá trịVLOOKUP, XLOOKUP + IFTra cứu nhanh, xử lý lỗi bằng IFERROR
Tính tổng/đếm/ trung bình có điều kiệnSUMIF, COUNTIF, AVERAGEIFTối ưu tốc độ, không cần IF lồng
Xử lý lỗi trong công thứcIFERRORGiữ bảng tính sạch, tránh hiển thị lỗi
Cần trả về mảng kết quảDynamic Array + IFĐơn giản, không cần Ctrl+Shift+Enter
Đánh giá nhiều mức độ (bảng điểm, thuế)IFS hoặc LOOKUPDễ mở rộng, giảm lỗi khi thêm mức mới

Thực tiễn: Tối ưu hiệu năng khi dùng IF trong bảng dữ liệu lớn

  1. Giảm độ lồng nhau: Mỗi mức lồng IF thêm một hàm tính, làm chậm khi dữ liệu hàng triệu dòng. Thay vào đó dùng LOOKUP hoặc CHOOSE.
  2. Sử dụng bảng tham chiếu: Tạo một sheet chứa các mức và giá trị tương ứng, dùng VLOOKUP/XLOOKUP thay vì IF lồng.
  3. Tránh tính toán lại không cần thiết: Nếu một công thức IF chỉ phụ thuộc vào một ô, hãy chuyển sang Calculated Column trong Power Query hoặc Power Pivot.
  4. Kiểm tra kiểu dữ liệu: Đảm bảo các ô được định dạng đúng (số, ngày) để IF không phải thực hiện chuyển đổi ngầm, giảm thời gian tính.

Kết luận

Hàm IF là nền tảng của mọi phép tính logic trong Excel. Khi kết hợp khéo léo với các hàm AND, OR, IFERROR, VLOOKUP, SUMIF, COUNTIF và các hàm mới như IFS, SWITCH, bạn có thể giải quyết hầu hết các bài toán phân loại, tính toán điều kiện và xử lý lỗi trong môi trường làm việc thực tế.

Bằng cách nắm vững cú pháp, các ví dụ thực tế và những kỹ thuật tối ưu, bạn sẽ:

  • Tự tin xây dựng các báo cáo tài chính, bảng điểm, phân tích dữ liệu bán hàng.
  • Giảm thời gian xây dựng công thức phức tạp, tránh lỗi logic.
  • Tối ưu hiệu năng khi làm việc với dữ liệu lớn.

Hãy thực hành với những bài tập trên, dần dần thay đổi các IF lồng nhau thành IFS hoặc LOOKUP, và bạn sẽ trở thành “bậc thầy” trong việc sử dụng IF và các công thức liên quan trong Excel. Chúc bạn thành công!

⚠️
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