Câu Lệnh If Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao

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

1. Giới thiệu chung về câu lệnh IF trong Excel

Câu lệnh IF (hay còn gọi là hàm IF) là một trong những hàm logic quan trọng và phổ biến nhất trong Microsoft Excel. Nhờ khả năng đưa ra quyết định dựa trên một điều kiện nhất định, hàm IF giúp người dùng thực hiện các phép tính, phân loại dữ liệu, tạo báo cáo tự động và xây dựng các mô hình phân tích phức tạp. Dù bạn là người mới bắt đầu làm việc với Excel hay là một chuyên gia phân tích dữ liệu, việc nắm vững cách sử dụng hàm IF sẽ mở ra vô số tiềm năng cho công việc của bạn.

Trong bài viết này, chúng ta sẽ đi sâu vào:

  • Cấu trúc cơ bản của hàm IF.
  • Các ví dụ thực tế trong công việc kinh doanh, tài chính, giáo dục, và quản lý dự án.
  • Cách kết hợp IF với các hàm khác như AND, OR, NOT, IFS, IFERROR, CHOOSE, VLOOKUP, INDEX/MATCH.
  • Các kỹ thuật tối ưu hoá công thức IF để cải thiện hiệu suất và giảm lỗi.
  • Những lưu ý, lỗi thường gặp và cách khắc phục.

Bài viết sẽ được chia thành nhiều phần chi tiết, mỗi phần cung cấp kiến thức lý thuyết kèm theo ví dụ minh họa bằng bảng tính thực tế. Khi đọc xong, bạn sẽ có thể tự tin áp dụng hàm IF trong mọi tình huống thực tế và xây dựng các công thức phức tạp hơn.

2. Cú pháp cơ bản của hàm IF

2.1. Cú pháp chuẩ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>100, B2=”Nam”, C3<>0).
  • value_if_true: Giá trị trả về nếu logical_test đúng (TRUE). Có thể là một số, văn bản, công thức, hoặc thậm chí là một hàm IF lồng nhau.
  • value_if_false (tùy chọn): Giá trị trả về nếu logical_test sai (FALSE). Nếu bỏ qua, Excel sẽ trả về FALSE.

2.2. Ví dụ đơn giản

AB
150=IF(A2>100, “Lớn hơn 100”, “Nhỏ hơn hoặc bằng 100”)

Kết quả: “Lớn hơn 100” vì 150 > 100.

Nếu bỏ phần value_if_false:

AB
80=IF(A3>100, “Lớn hơn 100”)

Kết quả: FALSE vì điều kiện không thỏa.

3. Ứng dụng thực tế của hàm IF

3.1. Phân loại học sinh dựa trên điểm trung bình

Giả sử cột C chứa điểm trung bình (GPA) của học sinh. Ta muốn phân loại:

  • GPA ≥ 8.0 → “Xuất sắc”
  • 6.5 ≤ GPA < 8.0 → “Khá”
  • 5.0 ≤ GPA < 6.5 → “Trung bình”
  • GPA < 5.0 → “Yếu”

Công thức lồng IF:

=IF(C2>=8,"Xuất sắc", IF(C2>=6.5,"Khá", IF(C2>=5,"Trung bình","Yếu")))

3.2. Tính tiền lương bonus dựa trên doanh thu

Nhân viênDoanh thu (triệu)Bonus
A120=IF(B2>100, B20.1, B20.05)
B80=IF(B3>100, B30.1, B30.05)

Nếu doanh thu > 100 triệu, bonus 10%; ngược lại 5%.

3.3. Kiểm tra ngày hết hạn

Giả sử ô D2 chứa ngày hết hạn hợp đồng. Muốn hiển thị:

  • “Hết hạn” nếu ngày hiện tại > ngày hết hạn.
  • “Còn hạn” nếu còn lại ít hơn 30 ngày.
  • “Đang hoạt động” nếu còn hơn 30 ngày.
=IF(TODAY()>D2,"Hết hạn", IF(D2-TODAY()<=30,"Còn hạn","Đang hoạt động"))

3.4. Xác định mức thuế thu nhập cá nhân (TNCN)

Giả sử thu nhập chịu thuế (ô E2) và mức thuế:

Thu nhập (triệu)Thuế
≤ 55%
5 < ≤ 1010%
> 1020%

Công thức:

=IF(E2<=5, E20.05, IF(E2<=10, E20.10, E20.20))

4. Kết hợp IF với các hàm logic khác

4.1. Hàm AND và OR

  • AND(logical1, logical2, …): Trả về TRUE nếu tất cả các điều kiện đều đúng.
  • OR(logical1, logical2, …): Trả về TRUE nếu ít nhất một điều kiện đúng.

4.1.1. Ví dụ: Kiểm tra điều kiện tuyển dụng

Yêu cầu: Ứng viên phải:

  • Tuổi từ 22 đến 35.
  • Kinh nghiệm ≥ 2 năm.
  • Trình độ bằng đại học trở lên.
=IF(AND(A2>=22, A2<=35, B2>=2, C2>="Đại học"), "Đạt", "Không đạt")

4.1.2. Ví dụ: Phân loại khách hàng

  • Nếu khách hàng mua > 10 đơn hoặc tổng giá trị > 100 triệu → “Khách VIP”.
  • Ngược lại → “Khách thường”.
=IF(OR(D2>10, E2>100), "Khách VIP", "Khách thường")

4.2. Hàm NOT

NOT(logical) trả về giá trị ngược lại của logical. Thường dùng khi muốn đảo ngược một điều kiện.

=IF(NOT(A2="Đã thanh toán"), "Chưa thanh toán", "Đã thanh toán")

4.3. Hàm 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 liên tục, giúp công thức ngắn gọn và dễ đọc.

=IFS( C2>=8, "Xuất sắc", C2>=6.5, "Khá", C2>=5, "Trung bình", TRUE, "Yếu")

Lưu ý: IFS không có đối số value_if_false riêng, vì luôn có điều kiện TRUE cuối cùng để bắt mọi trường hợp còn lại.

4.4. Hàm IFERROR

Khi công thức IF (hoặc bất kỳ hàm nào) trả về lỗi #DIV/0!, #N/A, #VALUE!, #REF!, #NAME?, #NUM!, #NULL!, ta có thể dùng IFERROR để thay thế bằng giá trị mong muốn.

=IFERROR( A2/B2, "Không chia được" )

Kết hợp với IF:

=IFERROR( IF(B2>0, A2/B2, "B2 bằng 0"), "Lỗi công thức")

5. Lồng nhiều hàm IF – Khi nào nên dùng và khi nào nên tránh

5.1. Khi nên lồng IF

  • Khi số lượng điều kiện ít (thường ≤ 5) và mỗi điều kiện độc lập.
  • Khi cần trả về các giá trị khác nhau cho mỗi mức độ (ví dụ: phân loại điểm, mức thuế, mức thưởng).

5.2. Khi nên tránh lồng IF

  • Khi số lượng điều kiện lớn (> 7) → công thức trở nên khó bảo trì, dễ sai.
  • Khi các điều kiện có thể biểu diễn bằng bảng tra cứu (lookup) → dùng VLOOKUP, HLOOKUP, XLOOKUP, hoặc INDEX/MATCH để thay thế.
  • Khi có nhiều điều kiện logic phức tạp → cân nhắc dùng CHOOSE, SWITCH (Excel 2026/365), hoặc tạo cột trợ trợ để tính toán từng phần.

5.3. Ví dụ thay thế lồng IF bằng bảng lookup

Giả sử chúng ta có bảng mức thuế:

Thu nhập (triệu)Thuế (%)
0 – 55
5 – 1010
>1020

Thay vì lồng IF, tạo bảng:

MinMaxThuế
055%
51010%
10999920%

Sau đó dùng VLOOKUP kết hợp TRUE:

=VLOOKUP(E2, $H$2:$J$4, 3, TRUE) E2

Hoặc dùng XLOOKUP (Excel 365):

=XLOOKUP(E2, $H$2:$H$4, $J$2:$J$4, , 1) E2

6. Các thủ thuật nâng cao để tối ưu công thức IF

6.1. Sử dụng hàm CHOOSE để giảm độ sâu lồng IF

Câu Lệnh If Trong Excel
Câu Lệnh If Trong Excel

Nếu các giá trị trả về là một tập hợp cố định và điều kiện có dạng n-1 (ví dụ: “Nếu A2=1 trả X, =2 trả Y, =3 trả Z”), ta có thể dùng CHOOSE:

=CHOOSE(A2, "Giá trị 1", "Giá trị 2", "Giá trị 3")

Kết hợp với MATCH để chuyển điều kiện thành chỉ số:

=CHOOSE(MATCH(B2, {"Low","Medium","High"},0), 10, 20, 30)

6.2. Sử dụng hàm SWITCH (Excel 2026/365)

SWITCH cho phép so sánh một biểu thức với nhiều giá trị:

=SWITCH(A2, "A", "Đánh giá A", "B", "Đánh giá B", "C", "Đánh giá C", "Khác")

6.3. Tối ưu tốc độ tính toán

  • Giảm số lần lồng IF: Mỗi IF lồng thêm một lớp tính toán, làm chậm khi dữ liệu lớn (hàng chục nghìn+). Thay bằng lookup hoặc array formulas.
  • Tránh tính toán lại cùng một giá trị: Tạo cột trợ giúp để tính toán một lần, sau đó tham chiếu.
  • Sử dụng toán tử “&” để nối chuỗi thay vì lồng IF quá sâu khi muốn xây dựng thông báo.
=IF(A2>100, "Lớn hơn 100", "") & IF(B2<50, " và nhỏ hơn 50", "")

6.4. Kiểm soát lỗi #SPILL! trong công thức mảng

Khi dùng hàm mảng động (dynamic array) trong Excel 365, đôi khi công thức IF trả về mảng gây lỗi #SPILL! nếu không có đủ ô trống. Đảm bảo vùng đích đủ rộng hoặc dùng @ (operator implicit intersection) để ép trả về giá trị đơn.

=SUM(IF(A1:A100>50, 1, 0)) // công thức mảng, nhấn Ctrl+Shift+Enter trong phiên bản cũ, hoặc chỉ cần Enter trong 365.

7. Các lỗi thường gặp khi dùng hàm IF và cách khắc phục

LỗiNguyên nhânCách khắc phục
#VALUE!Tham chiếu tới ô chứa văn bản khi so sánh số, hoặc sử dụng phép toán không hợp lệ trong logical_test.Đảm bảo kiểu dữ liệu phù hợp, dùng hàm VALUE(), TEXT(), hoặc — để chuyển đổi.
#N/AKhi dùng hàm lookup trong value_if_true/value_if_false và không tìm thấy giá trị.Bọc lookup bằng IFERROR hoặc IFNA.
#DIV/0!Chia cho 0 trong công thức IF (ví dụ: IF(B2=0,0,A2/B2)).Kiểm tra điều kiện chia cho 0 trước khi thực hiện phép chia.
Kết quả không như mong đợiLỗi logic trong logical_test (ví dụ: dùng = thay vì >=, hoặc không xét hết các trường hợp).Kiểm tra lại các điều kiện, sử dụng Evaluate Formula (Ribbon → Formulas → Evaluate Formula) để xem từng bước tính toán.
Công thức quá dài, khó đọcLồng IF quá sâu.Dùng IFS, SWITCH, CHOOSE, hoặc tạo bảng tra cứu.
Hiệu suất chậmHàng ngàn công thức IF phức tạp.Thay bằng lookup, tạo cột trợ giúp, hoặc dùng Power Query để xử lý dữ liệu trước.

8. Thực hành: Xây dựng một bảng tính “Quản lý dự án” với IF

8.1. Yêu cầu

  • Cột A: Tên dự án.
  • Cột B: Ngày bắt đầu.
  • Cột C: Ngày kết thúc dự kiến.
  • Cột D: Tiến độ (%) hiện tại.
  • Cột E: Trạng thái dự án (Dựa trên ngày hiện tại và tiến độ).

Quy tắc trạng thái:

Điều kiệnTrạng thái
Nếu ngày hiện tại > ngày kết thúc và tiến độ < 100%“Trễ”
Nếu ngày hiện tại ≤ ngày kết thúc và tiến độ ≥ 100%“Hoàn thành sớm”
Nếu ngày hiện tại ≤ ngày kết thúc và 0% < tiến độ < 100%“Đang thực hiện”
Nếu tiến độ = 0%“Chưa bắt đầu”
Ngược lại“Không xác định”

8.2. Công thức IF lồng

=IF(AND(TODAY()>C2, D2<100), "Trễ", IF(AND(TODAY()<=C2, D2>=100), "Hoàn thành sớm", IF(AND(TODAY()<=C2, D2>0, D2<100), "Đang thực hiện", IF(D2=0, "Chưa bắt đầu", "Không xác định"))))

8.3. Cải tiến bằng IFS (Excel 2026+)

=IFS( AND(TODAY()>C2, D2<100), "Trễ", AND(TODAY()<=C2, D2>=100), "Hoàn thành sớm", AND(TODAY()<=C2, D2>0, D2<100), "Đang thực hiện", D2=0, "Chưa bắt đầu", TRUE, "Không xác định")

8.4. Tối ưu bằng bảng tra cứu

Tạo bảng StatusRules:

RuleIDConditionStatus
1TODAY()>C2 AND D2<100Trễ
2TODAY()<=C2 AND D2>=100Hoàn thành sớm
3TODAY()<=C2 AND D2>0 AND D2<100Đang thực hiện
4D2=0Chưa bắt đầu
5TRUEKhông xác định

Sau đó dùng SWITCH kết hợp MATCH:

=LET( cond1, AND(TODAY()>C2, D2<100), cond2, AND(TODAY()<=C2, D2>=100), cond3, AND(TODAY()<=C2, D2>0, D2<100), cond4, D2=0, idx, MATCH(TRUE, {cond1,cond2,cond3,cond4,TRUE},0), SWITCH(idx, 1,"Trễ", 2,"Hoàn thành sớm", 3,"Đang thực hiện", 4,"Chưa bắt đầu", "Không xác định"))

Công thức này giảm độ sâu lồng và dễ bảo trì hơn.

9. Sử dụng hàm IF trong Power Query và Power Pivot

9.1. Power Query (M language)

Trong Power Query, hàm if…then…else được viết theo cú pháp:

if ColumnA > 100 then "Lớn" else "Nhỏ"

Có thể kết hợp với and, or:

if Age >= 22 and Age <= 35 and Experience >= 2 then "Đạt" else "Không đạt"

Power Query rất mạnh khi xử lý dữ liệu trước khi tải vào bảng tính, giúp giảm số lượng công thức IF trong Excel.

9.2. Power Pivot (DAX)

Trong DAX, hàm IF có cú pháp:

IF(<LogicalTest>, <ResultIfTrue>, <ResultIfFalse>)

Ví dụ, tạo cột tính bonus:

Bonus = IF('Sales'Revenue > 1000000, 'Sales'Revenue 0.1, 'Sales'Revenue 0.05)

DAX còn cung cấp hàm SWITCH, CALCULATE, FILTER để thực hiện các logic phức tạp mà IF trong Excel không đáp ứng tốt.

10. Các ví dụ nâng cao: Sử dụng IF trong mô hình tài chính

10.1. Tính lãi suất vay thay đổi theo mức vay

Khoản vay (triệu)Lãi suất
≤ 5006%
500 < ≤ 1,0005.5%
> 1,0005%

Công thức IF lồng:

=IF(A2<=500, A20.06, IF(A2<=1000, A20.055, A20.05))

10.2. Mô hình DCF (Discounted Cash Flow) với điều kiện tăng trưởng

Giả sử dòng tiền năm 1-5 là cố định, năm 6 trở đi tăng 3% nếu công ty đạt doanh thu > 200 triệu.

=IF(Revenue_Year5 > 200, CashFlow_Year5 (1+3%), CashFlow_Year5)

Kết hợp với NPV:

=NPV(DiscountRate, CashFlow_Year1, CashFlow_Year2, CashFlow_Year3, CashFlow_Year4, CashFlow_Year5, IF(Revenue_Year5>200, CashFlow_Year51.03, CashFlow_Year5))

11. Thực hành nâng cao: Tạo dashboard “Phân tích khách hàng” bằng IF + Conditional Formatting

  1. Bước 1: Thêm cột “Nhóm khách hàng” với công thức IF/IFS dựa trên tổng mua hàng và tần suất.
    excel =IFS( AND(TotalSpend>100000, Frequency>12), "VIP", AND(TotalSpend>50000, Frequency>6), "Gold", TotalSpend>20000, "Silver", TRUE, "Bronze")
  2. Bước 2: Áp dụng Conditional Formatting để tô màu các nhóm:
  3. VIP: màu vàng.
  4. Gold: màu cam.
  5. Silver: màu xanh nhạt.
  6. Bronze: màu xám.

  7. Bước 3: Dùng PivotTable để tổng hợp doanh thu theo nhóm, sau đó chèn Slicer để lọc nhanh.

Nhờ hàm IF/IFS, việc phân nhóm tự động cập nhật khi dữ liệu thay đổi, giúp dashboard luôn “sống động”.

12. Kết luận

Hàm IF trong Excel không chỉ là một công cụ kiểm tra điều kiện đơn giản mà còn là nền tảng để xây dựng các logic phức tạp, tự động hoá quy trình và tạo ra các mô hình phân tích dữ liệu mạnh mẽ. Khi được kết hợp khéo léo với các hàm AND, OR, NOT, IFS, IFERROR, CHOOSE, SWITCH, VLOOKUP, XLOOKUP, INDEX/MATCH, hoặc các công cụ nâng cao như Power Query và Power Pivot, hàm IF trở thành một “cây đa năng” giúp giải quyết hầu hết các bài toán trong môi trường doanh nghiệp và học thuật.

Những điểm quan trọng cần nhớ:

  1. Cấu trúc cơ bản: IF(logical_test, value_if_true, value_if_false).
  2. Lồng IF chỉ nên dùng khi số lượng điều kiện ít; nếu nhiều, hãy cân nhắc IFS, SWITCH hoặc lookup.
  3. Kết hợp với AND/OR để tạo điều kiện phức tạp.
  4. Sử dụng IFERROR để xử lý lỗi một cách gọn gàng.
  5. Tối ưu hiệu suất bằng cách giảm độ sâu lồng, dùng bảng tra cứu và cột trợ giúp.
  6. Kiểm tra và debug bằng công cụ Evaluate Formula và Formula Auditing.
  7. Mở rộng sang Power Query và DAX khi làm việc với dữ liệu lớn hoặc mô hình dữ liệu đa chiều.

Hy vọng qua bài viết chi tiết này, bạn đã nắm vững cách sử dụng hàm IF trong mọi mức độ, từ những công thức đơn giản đến các giải pháp phức tạp cho doanh nghiệp. Hãy thực hành, thử nghiệm và dần dần tích lũy các “mẫu công thức” riêng cho mình – vì trong thực tế, mỗi bài toán là một câu chuyện, và hàm IF chính là ngôn ngữ để kể câu chuyện đó 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