Hàm IF trong Excel: cú pháp, ví dụ, IF lồng nhau và IFS

Hàm IF trong Excel dùng để kiểm tra một điều kiện: nếu điều kiện đúng thì trả về một giá trị, nếu sai thì trả về giá trị khác. Công thức chuẩn là =IF(điều kiện, giá trị nếu đúng, giá trị nếu sai), ví dụ =IF(B2>=5,"Đạt","Không đạt"). Bài viết giải thích cú pháp, kèm ví dụ IF với số, với chữ, IF lồng nhau, IF kết hợp AND/OR, hàm IFS cho Excel 2019 và Microsoft 365, và cách sửa các lỗi hay gặp.

Hàm IF trong Excel là gì, có chức năng gì?

Hàm IF là hàm điều kiện, hoạt động theo kiểu "nếu... thì... không thì...". Excel kiểm tra điều kiện bạn đưa ra, kết quả chỉ có hai khả năng là đúng (TRUE) hoặc sai (FALSE), rồi trả về giá trị tương ứng.

Những việc hàm IF hay được dùng:

  • Xếp loại Đạt / Không đạt theo điểm.
  • Tính thưởng nếu doanh số vượt chỉ tiêu.
  • Đánh dấu hàng tồn kho dưới mức tối thiểu.
  • Ghi chú "Quá hạn" khi ngày hiện tại vượt hạn thanh toán.
  • Kết hợp với hàm khác như VLOOKUP, SUM, AND, OR để ra quyết định phức tạp hơn.

Theo Microsoft, hàm IF có trong Excel cho Microsoft 365, Excel 2024, 2021 (Windows và Mac), Excel 2019 và Excel 2016. Các bản cũ hơn như Excel 2010, 2013 cũng có hàm này với cách dùng giống hệt.

Cú pháp hàm IF trong Excel

=IF(logical_test, value_if_true, [value_if_false])

Ý nghĩa ba đối số:

  • logical_test (bắt buộc): điều kiện cần kiểm tra, ví dụ B2>=5, C2="Nam", D2<>0.
  • value_if_true (bắt buộc): giá trị trả về khi điều kiện đúng.
  • value_if_false (tùy chọn): giá trị trả về khi điều kiện sai.

Các phép so sánh dùng trong điều kiện:

  • = bằng, <> khác
  • > lớn hơn, < nhỏ hơn
  • >= lớn hơn hoặc bằng, <= nhỏ hơn hoặc bằng

Ba quy tắc cần nhớ:

  • Giá trị là chữ phải đặt trong dấu nháy kép, ví dụ "Đạt". Riêng TRUE và FALSE thì không cần.
  • Giá trị trả về có thể là số, chữ, một ô khác hoặc một phép tính.
  • Muốn ô để trống khi sai, ghi "" (hai dấu nháy kép liền nhau).

Dấu phẩy hay dấu chấm phẩy?

Bài này viết công thức bằng dấu phẩy ,. Nếu Excel báo công thức có vấn đề, hãy đổi sang dấu chấm phẩy ;, ví dụ =IF(B2>=5;"Đạt";"Không đạt"). Excel dùng dấu ngăn cách theo cài đặt vùng (Region) của Windows. Máy đặt kiểu Việt Nam, lấy dấu phẩy làm dấu thập phân, thường phải dùng dấu chấm phẩy. Khi đó số thập phân trong công thức cũng viết bằng dấu phẩy, ví dụ 6,5 thay cho 6.5 ở các ví dụ bên dưới.

Ví dụ hàm IF trong Excel (nếu thì)

Ví dụ 1: Xét Đạt / Không đạt

Cột B chứa điểm, cột C cần ghi kết quả:

  1. Bấm vào ô C2, nhập =IF(B2>=5,"Đạt","Không đạt").
  2. Nhấn Enter. Điểm 6,5 cho kết quả "Đạt", điểm 4 cho "Không đạt".
  3. Kéo nút điền ở góc dưới phải ô C2 xuống để áp dụng cho cả cột.

Ví dụ 2: IF trả về phép tính

Tính thưởng 5% cho nhân viên có doanh số (cột C) vượt 100 triệu, còn lại thưởng 0:

=IF(C2>100000000, C2*5%, 0)

Ví dụ 3: So sánh với ngân sách

Microsoft đưa ví dụ so sánh chi thực tế (cột B) với ngân sách (cột C):

=IF(B2>C2,"Vượt ngân sách","Trong ngân sách")

Hoặc trả về số tiền vượt: =IF(B2>C2, B2-C2, 0).

Ví dụ 4: Để ô trống khi chưa có dữ liệu

=IF(A2="","",A2*1.1)

Khi A2 chưa nhập gì, ô kết quả để trống thay vì hiện số 0.

Ví dụ 5: Hàm IF với chữ (điều kiện là văn bản)

Khi điều kiện so sánh với chữ, bạn đặt chữ trong dấu nháy kép:

=IF(D2="Nam","Anh","Chị")

Lưu ý khi dùng IF với chữ:

  • IF không phân biệt chữ hoa, chữ thường: "nam" và "Nam" được coi là như nhau.
  • Dư dấu cách ở đầu hoặc cuối (ví dụ "Nam ") làm điều kiện sai. Dùng TRIM để làm sạch: =IF(TRIM(D2)="Nam","Anh","Chị").
  • Muốn kiểm tra ô có chứa một chữ nào đó, kết hợp ISNUMBER và SEARCH: =IF(ISNUMBER(SEARCH("Hà Nội",E2)),"Miền Bắc","Khác").

Dữ liệu tiếng Việt bị lỗi phông, lỗi mã cũng làm IF so sánh sai. Nếu gặp tình trạng này khi nhập liệu, xem bài sửa lỗi Unikey không gõ được tiếng Việt.

Hàm IF lồng nhau trong Excel

Khi có nhiều hơn hai trường hợp, bạn đặt hàm IF vào trong đối số "giá trị nếu sai" của IF trước. Ví dụ xếp loại học lực:

=IF(B2>=8,"Giỏi",IF(B2>=6.5,"Khá",IF(B2>=5,"Trung bình","Yếu")))

Excel đọc từ trái sang phải và dừng ở điều kiện đúng đầu tiên. Với điểm 7, điều kiện >=8 sai, sang >=6.5 đúng nên trả về "Khá".

Ba lưu ý quan trọng từ Microsoft:

  • Thứ tự điều kiện rất quan trọng. Với điều kiện dạng "lớn hơn hoặc bằng", hãy xếp từ lớn đến nhỏ. Nếu xếp >=5 lên đầu, mọi điểm từ 5 trở lên đều thành "Trung bình".
  • Excel cho phép lồng tới 64 hàm IF, nhưng Microsoft khuyên không nên lồng nhiều. Công thức càng dài càng khó kiểm tra, dễ sai mà không biết.
  • Khi có nhiều mức, dùng VLOOKUP dò gần đúng với bảng mức điểm sẽ gọn hơn, sửa mức chỉ cần sửa bảng. Xem hàm VLOOKUP trong Excel.

Mẹo đọc công thức dài: Excel tô màu từng cặp ngoặc khớp nhau khi bạn di con trỏ. Bạn cũng có thể nhấn Alt + Enter trong thanh công thức để xuống dòng, chia công thức thành nhiều dòng cho dễ nhìn.

Hàm IF kết hợp AND, OR trong Excel

IF kết hợp AND: tất cả điều kiện cùng đúng

=IF(AND(B2>=5, C2>=5),"Đạt","Thi lại")

Học sinh chỉ "Đạt" khi cả điểm Toán (B2) và điểm Văn (C2) đều từ 5 trở lên. Chỉ cần một môn dưới 5 là "Thi lại".

IF kết hợp OR: chỉ cần một điều kiện đúng

=IF(OR(D2="VIP", E2>=10000000),"Miễn phí ship","Tính phí ship")

Khách được miễn phí vận chuyển nếu là khách VIP hoặc đơn hàng từ 10 triệu trở lên.

Kiểm tra khoảng giá trị

Kiểm tra một ngày có nằm giữa hai mốc không: =IF(AND(A2>=B2, A2<=C2),"Trong kỳ","Ngoài kỳ").

Theo Microsoft, AND và OR nhận tối đa 255 điều kiện, còn NOT chỉ nhận một điều kiện, ví dụ =IF(NOT(A2>50),"Thấp","Cao"). Trên thực tế chỉ nên dùng vài điều kiện để công thức dễ đọc.

Hàm IFS trong Excel 2019 và Microsoft 365

Hàm IFS thay cho nhiều IF lồng nhau, viết các cặp "điều kiện, kết quả" nối tiếp:

=IFS(B2>=8,"Giỏi", B2>=6.5,"Khá", B2>=5,"Trung bình", TRUE,"Yếu")

Cách hiểu:

  • Excel kiểm tra lần lượt từng điều kiện, gặp điều kiện đúng đầu tiên thì trả về kết quả đi kèm.
  • Cặp cuối TRUE,"Yếu" đóng vai trò "các trường hợp còn lại". Nếu thiếu cặp này mà không điều kiện nào đúng, IFS trả về lỗi #N/A.
  • IFS nhận tối đa 127 cặp điều kiện.

Về phiên bản: Microsoft ghi IFS có trong Excel cho Microsoft 365, Excel 2024, 2021 và Excel 2019. Excel 2016 bản mua một lần và các bản cũ hơn không có IFS, gõ vào sẽ báo lỗi #NAME?. Nếu file cần gửi cho người dùng bản cũ, hãy dùng IF lồng nhau.

Lỗi thường gặp với hàm IF trong Excel

Lỗi #NAME?

  • Gõ sai tên hàm, ví dụ =IFF(...).
  • Viết chữ mà quên dấu nháy kép: =IF(B2>=5,Đạt,Không đạt) sẽ lỗi. Phải là "Đạt", "Không đạt".
  • Dùng hàm IFS trên Excel 2016 hoặc cũ hơn.

Excel báo "There's a problem with this formula"

Thường do dùng sai dấu ngăn cách. Đổi dấu phẩy thành dấu chấm phẩy (hoặc ngược lại) theo cài đặt vùng của máy. Nếu còn lỗi, đếm lại số dấu ngoặc mở và đóng.

Kết quả hiện số 0

Theo Microsoft, IF trả về 0 khi đối số giá trị bị để trống, ví dụ =IF(B2>=5,"Đạt",). Hãy ghi đủ giá trị, hoặc ghi "" nếu muốn ô trống.

IF lồng nhau cho kết quả sai

Kiểm tra thứ tự điều kiện. Với "lớn hơn hoặc bằng", xếp từ mức cao xuống thấp. Với "nhỏ hơn", xếp từ thấp lên cao.

So sánh số nhưng IF luôn trả về sai

Số trong ô có thể đang lưu dạng văn bản (thường có tam giác xanh ở góc ô). Chuyển về dạng số, ví dụ chọn cột rồi dùng Data > Text to Columns > Finish. Ngoài ra, trong điều kiện không đặt số trong nháy kép: viết B2>=5, không viết B2>="5".

Để nhập công thức nhanh hơn, bạn có thể xem thêm phím tắt Excel.

Xem thêm: Đặt mật khẩu file Excel.

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

Hàm IF trong Excel có chức năng gì?

Hàm IF kiểm tra một điều kiện rồi trả về một giá trị khi đúng và giá trị khác khi sai. Đây là nền tảng để xếp loại, tính thưởng, đánh dấu dữ liệu theo điều kiện.

Hàm IF lồng được tối đa bao nhiêu lần?

Excel cho phép lồng tới 64 hàm IF. Tuy nhiên, Microsoft khuyên nên dùng IFS hoặc VLOOKUP khi có nhiều mức để công thức gọn và ít sai.

Excel 2016 có hàm IFS không?

Theo trang hỗ trợ của Microsoft, IFS có từ Excel 2019 và Microsoft 365 trở đi. Trên Excel 2016, bạn dùng IF lồng nhau thay thế.

Hàm IF có phân biệt chữ hoa, chữ thường không?

Không. Muốn so sánh phân biệt hoa thường, bạn kết hợp với hàm EXACT, ví dụ =IF(EXACT(A2,"ABC"),"Khớp","Không khớp").

Vì sao công thức IF của tôi báo lỗi dù gõ đúng như mẫu?

Nguyên nhân phổ biến nhất là dấu ngăn cách. Máy đặt vùng Việt Nam thường phải dùng dấu chấm phẩy thay cho dấu phẩy giữa các đối số.