Hàm IF hỏi một câu có hoặc không rồi trả về một trong hai kết quả: =IF(điều kiện; giá trị nếu đúng; giá trị nếu sai). Ví dụ =IF(C2<10;"Cần nhập";"Đủ") hiện chữ Cần nhập khi tồn kho ở ô C2 dưới 10, ngược lại hiện Đủ. Ba phần cách nhau bằng dấu chấm phẩy hoặc dấu phẩy tuỳ máy, chữ phải nằm trong ngoặc kép, và đó là toàn bộ điều bạn cần nhớ để viết IF đầu tiên.
Bài này chỉ bàn IF một điều kiện, mức mà người mới dùng hằng ngày: cảnh báo hàng sắp hết, đánh dấu khoản chi vượt mức, tính thưởng khi đạt chỉ tiêu. Khi cần ba bốn mức trở lên hoặc ghép nhiều điều kiện, đó là IF lồng, IFS, AND, OR, được trình bày ở trang AI Dữ Liệu. Mọi con số trong bài là ví dụ giả định.
IF hoạt động như một câu hỏi có hoặc không
Hãy đọc hàm IF như một câu tiếng Việt: "Nếu tồn kho nhỏ hơn 10 thì ghi Cần nhập, không thì ghi Đủ." Phần thứ nhất là câu hỏi, chỉ có thể đúng hoặc sai. Phần thứ hai là thứ Excel đưa ra khi câu hỏi đúng. Phần thứ ba là thứ đưa ra khi câu hỏi sai. Không có trường hợp thứ ba, nên một IF luôn chia dữ liệu thành đúng hai nhóm.
Kết quả của IF có thể là chữ, số, hoặc một phép tính. =IF(C2<10;"Cần nhập";"Đủ") trả về chữ. =IF(B2>=D2;500000;0) trả về số tiền thưởng cố định nếu doanh số B2 đạt chỉ tiêu D2. =IF(B2>=D2;B2*2%;0) trả về một phép tính, thưởng 2% doanh số khi đạt. Vì kết quả là số, các ô này cộng được bằng SUM như bình thường.
Điều kiện thì luôn là một phép so sánh giữa hai thứ: một ô với một con số, hai ô với nhau, hay một ô với một chữ. Phép so sánh này cũng có thể đứng một mình: gõ =C2<10 vào một ô, Excel trả về TRUE hoặc FALSE. Mẹo kiểm hay dùng là viết riêng phần điều kiện ra một ô trước, nhìn TRUE, FALSE có đúng như bạn nghĩ không, rồi mới bọc vào IF.
Các dấu so sánh dùng trong điều kiện
Bàn phím không có dấu lớn hơn hoặc bằng viết liền như trong vở. Excel ghép hai ký tự lại, và thứ tự ghép phải đúng.
| Dấu | Nghĩa | Ví dụ điều kiện | Đúng khi |
|---|---|---|---|
| = | Bằng | D2="Đã trả" | Ô D2 ghi đúng chữ Đã trả |
| <> | Khác | D2<>"Đã trả" | Ô D2 ghi bất cứ thứ gì khác, kể cả để trống |
| > | Lớn hơn | C2>5000000 | Khoản chi trên năm triệu |
| < | Nhỏ hơn | C2<10 | Tồn kho dưới 10 |
| >= | Lớn hơn hoặc bằng | B2>=D2 | Doanh số đạt hoặc vượt chỉ tiêu |
| <= | Nhỏ hơn hoặc bằng | E2<=TODAY() | Hạn thanh toán đã tới hoặc đã qua |
Dấu bằng ở hàng đầu có hai vai trò khác nhau: dấu bằng mở đầu công thức, và dấu bằng nằm trong điều kiện để so sánh. Vì vậy công thức đầy đủ trông như =IF(D2="Đã trả";0;E2), có hai dấu bằng, và cả hai đều cần. Viết ngược thành => hoặc =< sẽ báo lỗi công thức. Ký hiệu ≥ chép từ văn bản khác cũng không dùng được. Hàng cuối dùng TODAY(), hàm trả về ngày hôm nay, giúp bảng nhắc hạn tự cập nhật mỗi khi mở tệp.
Ba ví dụ văn phòng dùng được ngay
Cảnh báo hàng sắp hết. Bảng kho có cột C là số tồn, cột D là mức tối thiểu của từng mặt hàng. Ở ô E2 viết =IF(C2<D2;"Cần nhập";"") rồi kéo xuống. Hai dấu ngoặc kép liền nhau nghĩa là để trống, nên chỉ những mặt hàng thiếu mới hiện chữ, mắt nhìn vào là thấy ngay. Đặt mức tối thiểu ở cột riêng cho từng mặt hàng tốt hơn ghi cứng số 10 vào công thức, vì mỗi thứ bán nhanh chậm khác nhau.
Đánh dấu khoản chi vượt ngân sách. Bảng chi tiêu gia đình có cột B là số dự tính, cột C là số đã chi thực tế. Ô D2 viết =IF(C2>B2;"Vượt";"Trong mức"). Muốn biết vượt bao nhiêu, thêm ô E2 là =IF(C2>B2;C2-B2;0). Sau đó SUM cột E là tổng số tiền đã vượt trong tháng.
Tính thưởng khi đạt chỉ tiêu. Ví dụ giả định: nhân viên bán hàng được thưởng 2% doanh số nếu đạt chỉ tiêu, không đạt thì không thưởng. Cột B là doanh số, cột C là chỉ tiêu. Ô D2 viết =IF(B2>=C2;B2*2%;0). Chú ý dấu lớn hơn hoặc bằng: người đạt vừa đúng chỉ tiêu cũng được thưởng. Đặt tỉ lệ 2% ở một ô riêng và khoá bằng dấu $ nếu tỉ lệ có thể đổi.
Đánh dấu đơn chưa thu tiền. Cột F ghi trạng thái thanh toán. Ô G2 viết =IF(F2="Đã trả";0;E2) để cột G chỉ hiện số tiền còn phải thu. Tổng cột G là công nợ khách hàng hiện tại, một con số chủ cửa hàng nhỏ rất cần mà thường phải cộng tay.
Viết IF từng bước bằng hộp chèn hàm
Nếu gõ tay còn lúng túng với dấu ngoặc và dấu ngăn, dùng hộp chèn hàm: Excel cho bạn ba ô riêng để điền ba phần, tự lo phần dấu.
- Bấm vào ô cần kết quả, ví dụ E2.
- Bấm nút fx bên trái thanh công thức, gõ IF vào ô tìm kiếm, chọn IF, bấm OK.
- Ô Logical_test (điều kiện): bấm vào ô C2 trên bảng, gõ dấu nhỏ hơn, bấm vào ô D2. Bên phải ô điền, Excel hiện ngay TRUE hoặc FALSE cho dòng này.
- Ô Value_if_true: gõ Cần nhập. Hộp thoại thường tự thêm ngoặc kép khi bạn chuyển sang ô kế tiếp; nếu không, gõ thêm ngoặc kép hai đầu.
- Ô Value_if_false: gõ hai dấu ngoặc kép liền nhau để để trống, hoặc gõ chữ Đủ.
- Bấm OK, rồi đúp chuột vào nút điền ở góc ô để chép công thức xuống cả cột.
- Trên Google Sheets: gõ =IF( vào ô, Sheets hiện khung gợi ý ba phần với giải thích từng phần; điền lần lượt, ngăn bằng dấu mà khung gợi ý cho thấy.
Sau khi kéo xuống, kiểm ba loại dòng: một dòng chắc chắn thiếu hàng, một dòng chắc chắn đủ, và một dòng có tồn kho đúng bằng mức tối thiểu. Dòng thứ ba là chỗ dấu nhỏ hơn và dấu nhỏ hơn hoặc bằng cho kết quả khác nhau, và bạn cần quyết định theo đúng ý mình.
Chữ trong IF: ngoặc kép, dấu tiếng Việt và khoảng trắng
Chữ luôn nằm trong ngoặc kép, số và địa chỉ ô thì không. Viết "Cần nhập" có ngoặc kép; viết C2 và 10 không ngoặc. Nếu bạn viết "10" có ngoặc kép, Excel coi đó là chữ 10, so với số 10 trong ô sẽ cho kết quả không như ý. Thiếu ngoặc kép quanh chữ thì Excel báo lỗi #NAME? vì tưởng đó là tên một thứ gì đó.
So sánh chữ không phân biệt hoa thường nhưng phân biệt dấu. Với IF, "đã trả" và "Đã trả" được coi là bằng nhau. Nhưng "Da tra" không dấu, hay "Đã trả" gõ bằng bảng mã khác, sẽ khác. Danh sách do nhiều người nhập nên dùng ô chọn sẵn (danh sách thả xuống) để mọi người ghi giống nhau; cách tạo ô chọn có ở trang AI Dữ Liệu.
Khoảng trắng thừa làm hỏng so sánh. Ô ghi "Đã trả " có một dấu cách ở cuối thì không bằng "Đã trả". Lỗi này không nhìn thấy bằng mắt. Nếu IF báo sai ở một vài dòng mà nhìn thì giống hệt, bấm F2 vào ô đó, đưa con trỏ về cuối để xem có khoảng trắng thừa không.
Ngoặc kép cong khi chép từ nơi khác. Công thức chép từ Word hay từ khung chat đôi khi mang ngoặc kép cong thay vì ngoặc kép thẳng. Excel không nhận ngoặc cong và báo lỗi. Gõ lại các dấu ngoặc kép bằng bàn phím là xong.
Khi một IF không đủ: tách bằng cột phụ trước khi lồng
Sớm muộn bạn sẽ gặp câu hỏi có hai điều kiện, ví dụ chỉ thưởng khi đạt chỉ tiêu và không có đơn bị trả lại, hoặc ba mức kết quả như Thiếu, Đủ, Dư. Phản xạ đầu tiên của nhiều người là nhồi tất cả vào một công thức dài. Với người mới, cách an toàn hơn là tách mỗi câu hỏi ra một cột phụ.
Lấy ví dụ giả định về thưởng: cột E hỏi "đạt chỉ tiêu chưa" bằng =IF(B2>=C2;"Có";"Không"); cột F hỏi "có đơn trả lại không" bằng =IF(D2>0;"Có";"Không"). Cột G mới tính thưởng dựa trên hai cột kia. Mỗi cột chỉ có một IF đơn giản, bạn nhìn vào là kiểm được từng bước, và khi kết quả lạ thì biết ngay câu hỏi nào trả lời sai.
Sau khi các cột phụ chạy đúng một thời gian, bạn có thể gộp lại bằng hàm AND, OR hoặc IF lồng, rồi ẩn hoặc xoá cột phụ. Lúc đó hãy nhờ AI gộp giúp, đưa cho nó chính các công thức cột phụ đã chạy đúng, và so kết quả công thức gộp với cột phụ trên toàn bộ dòng trước khi xoá. Cách làm này chậm hơn một chút nhưng gần như không để lọt lỗi.
Còn với ba mức trở lên theo ngưỡng số, như mức thưởng theo bậc doanh số, IF lồng nhiều tầng là chỗ dễ sai ngoặc và sai thứ tự ngưỡng nhất. Phiên bản Excel mới có IFS, và nhiều trường hợp dùng một bảng tra nhỏ thì rõ ràng hơn; các cách này được so sánh kỹ ở trang AI Dữ Liệu. Ở mức nhập môn, biết dừng ở IF một điều kiện cộng với cột phụ đã giải quyết được phần lớn bảng văn phòng.
Hỏi AI và tự kiểm ở giá trị ngưỡng
AI viết IF rất nhanh, nhưng chỉ đúng ý bạn khi bạn nói rõ ngưỡng thuộc về bên nào. Câu hỏi nên có đủ: tên cột, ý nghĩa, ngưỡng, kết quả mong muốn ở hai nhánh.
- "Excel trên Windows, vùng Việt Nam. Cột B là doanh số, cột C là chỉ tiêu. Muốn cột D hiện tiền thưởng bằng 2% doanh số nếu doanh số từ chỉ tiêu trở lên, dưới chỉ tiêu thì hiện 0. Viết công thức cho D2 và giải thích từng phần."
- "Google Sheets. Cột E là hạn thanh toán dạng ngày. Muốn cột F hiện chữ Quá hạn nếu hạn đã qua so với hôm nay, còn lại để trống. Hạn đúng bằng hôm nay thì chưa tính là quá hạn."
- Nếu cần nhiều hơn hai kết quả, hỏi thẳng AI có nên dùng IF lồng, IFS hay bảng tra, và đọc kỹ giải thích trước khi chép.
- Không dán bảng thật có tên nhân viên và doanh số của họ; chỉ tả cấu trúc cột và ba bốn con số giả.
- Kiểm bằng bộ ba dòng thử: dưới ngưỡng, đúng bằng ngưỡng, trên ngưỡng. Thêm một dòng để trống để xem IF cư xử thế nào khi thiếu dữ liệu.
Dòng trống là chỗ hay bị bỏ quên: với điều kiện C2<D2, ô C2 trống được hiểu là 0 nên mặt hàng chưa nhập số tồn sẽ bị báo Cần nhập. Nếu không muốn vậy, thêm một cột kiểm riêng hoặc nhờ AI chỉ cách để trống khi ô chưa có dữ liệu.
Câu hỏi thường gặp
IF trả về TRUE hoặc FALSE thay vì chữ mình muốn là do đâu?
Thường vì bạn chỉ viết phần điều kiện mà quên hai phần sau, hoặc đặt dấu ngăn sai chỗ khiến Excel hiểu cả cụm là điều kiện. Bấm vào ô, nhìn thanh công thức đếm xem có đủ ba phần ngăn bằng hai dấu ngăn không. Hộp chèn hàm fx giúp thấy rõ ba phần riêng biệt.
Có thể để IF trả về một ô trống thật không?
Hai dấu ngoặc kép liền nhau làm ô trông trống, nhưng thật ra ô chứa một chuỗi rỗng. COUNTA vẫn đếm ô đó, còn COUNTBLANK cũng coi là trống. Ở mức nhập môn, điều này ít ảnh hưởng; chỉ cần nhớ khi đếm số dòng có dữ liệu thì đếm trên cột nhập tay, không đếm trên cột IF.
Có cần viết hoa chữ IF không?
Không cần. Gõ if thường, bấm Enter, Excel tự đổi thành IF viết hoa. Đây cũng là một cách kiểm: nếu tên hàm vẫn giữ chữ thường sau khi bấm Enter, rất có thể bạn gõ sai tên hoặc ô đang ở định dạng Text.
IF có dùng được với ngày tháng không?
Được, vì ngày là con số bên trong. Điều kiện như E2 nhỏ hơn TODAY() kiểm hạn đã qua. Nhưng đừng viết ngày trực tiếp trong công thức kiểu E2 nhỏ hơn 25/12/2026, Excel sẽ hiểu đó là phép chia. Đặt ngày mốc vào một ô riêng rồi so với ô đó.
Khi nào nên dùng IF lồng nhau?
Khi kết quả có từ ba nhóm trở lên, ví dụ xếp mức thưởng theo ba ngưỡng doanh số. IF lồng hai tầng còn đọc được, nhiều hơn thì dễ sai ngoặc. Phiên bản mới có IFS gọn hơn, và nhiều trường hợp dùng bảng tra hợp lý hơn; trang AI Dữ Liệu so sánh các cách này.
Nhờ Copilot hoặc Gemini trong bảng tính viết IF có khác chatbot không?
Trợ lý gắn trong Excel hay Google Sheets nhìn thấy tên cột của bảng nên có thể đề xuất công thức sát hơn, nhưng vẫn có thể hiểu sai ngưỡng. Cách kiểm vẫn như cũ: thử ba dòng dưới, bằng và trên ngưỡng. Tính năng và điều kiện tài khoản thay đổi nhanh, nên kiểm trang chính thức của hãng.