← Quay lại Blog Thủ thuật văn phòng

Các hàm Excel cơ bản cho dân văn phòng: 7 hàm dùng hằng ngày

2026-09-20 · Tân IT365
Bảng tính Excel với các hàm SUM, AVERAGE, IF và VLOOKUP cùng kết quả

Phần lớn thời gian làm báo cáo mất ở những việc lặp đi lặp lại: cộng tay từng cột, đếm số dòng theo từng phòng, mở hai bảng ra dò từng mã hàng để điền giá. Bảy hàm Excel trong bài này xử lý gần hết những việc đó, và đều có sẵn trong mọi bản Excel trên máy tính.

Bài đi từ dễ tới khó: công thức và tham chiếu ô, SUM và AVERAGE, IF lồng nhau, COUNTIF và SUMIF, VLOOKUP, IFERROR, rồi ví dụ bảng chấm công dùng cả bảy hàm.

Minh bạch: bài viết có thể chứa liên kết tiếp thị. Nếu anh/chị mua dịch vụ qua các liên kết này, Tân IT365 có thể nhận một khoản hoa hồng nhỏ. Khoản này không làm tăng giá anh/chị phải trả và không chi phối nội dung hướng dẫn.

1. Công thức Excel hoạt động thế nào: dấu =, địa chỉ ô, tham chiếu tương đối và tuyệt đối

Mọi công thức trong Excel bắt đầu bằng dấu =. Gõ =1+1 rồi Enter, ô hiện 2; gõ thiếu dấu bằng thì Excel coi đó là chữ và ô hiện nguyên "1+1".

Địa chỉ ô cho Excel biết lấy dữ liệu ở đâu. Bốn kiểu cần phân biệt:

Khác biệt quan trọng nhất nằm ở dấu $. Viết B2tham chiếu tương đối: copy xuống dòng dưới, Excel tự đổi thành B3, B4. Viết $B$2tham chiếu tuyệt đối: copy đi đâu vẫn trỏ đúng ô B2. Kiểu hỗn hợp $B2B$2 đã có trong bảng dưới. Bấm F4 liên tục khi đang ở trong địa chỉ ô để Excel xoay vòng bốn kiểu.

Kiểu tham chiếuVí dụKhi kéo công thứcDùng cho
Tương đốiB2Đổi cả cột và dòngCông thức áp cho từng dòng dữ liệu
Tuyệt đối$B$2Không đổiÔ hằng số: thuế suất, đơn giá, tỷ lệ
Hỗn hợp$B2 hoặc B$2Chỉ đổi một chiềuBảng hai chiều, bảng tra cứu

Phép tính dùng + - * / và luỹ thừa ^. Nhớ đặt ngoặc cho rõ: tiền hàng có VAT viết =B2*C2*(1+$F$1), vì =B2*C2+$F$1 sẽ cộng thẳng tỷ lệ vào số tiền.

Nên định dạng vùng dữ liệu thành Table (Ctrl+T) để công thức tự lan khi thêm dòng, và bấm Ctrl+` khi cần xem công thức thay vì kết quả.

2. SUM và AVERAGE: cộng và tính trung bình đúng cách

Hai hàm cơ bản nhất, cũng là hai hàm bị dùng sai nhiều nhất.

Thao tác nhanh: đặt con trỏ ở ô cần tổng dưới một cột số rồi bấm Alt+= — Excel tự đoán vùng.

Điểm cần hiểu rõ là cách hai hàm xử lý ô trống và ô chứa chữ:

Cách kiểm tra nhanh độ tin cậy của một cột, gõ cạnh bảng:

Ô kiểm traCông thứcÝ nghĩa
Đếm ô có số=COUNT(B2:B10)Cho biết đang có bao nhiêu giá trị số thật
Đếm ô có dữ liệu=COUNTA(B2:B10)Nếu lớn hơn COUNT thì trong cột có ô chứa chữ
Đếm ô trống=COUNTBLANK(B2:B10)Số dòng còn thiếu dữ liệu
Tổng khi đã lọc=SUBTOTAL(109,B2:B10)Chỉ cộng các dòng đang hiện, bỏ dòng bị lọc

Nếu COUNTA lớn hơn COUNT, đừng sửa từng ô: chọn cột đó rồi Data → Text to Columns → Finish, hoặc tạo cột phụ =VALUE(TRIM(B2)) và dán đè giá trị. Chặn dữ liệu bẩn từ đầu bằng Data Validation chỉ cho nhập số.

3. Hàm IF: điều kiện cơ bản và IF lồng nhiều lớp

IF là hàm ra quyết định: nếu điều kiện đúng thì trả về một giá trị, sai thì trả về giá trị khác.

=IF(điều kiện, giá trị khi đúng, giá trị khi sai)

Ví dụ một dòng dữ liệu ở ô B2 là điểm tổng kết:

Toán tử so sánh: =, >, <, >=, <=, <> (khác). Chú ý Excel không hiểu !=.

Khi cần chia thành nhiều mức, ta lồng IF vào phần "sai". Bảng xếp loại bốn mức:

MứcĐiều kiệnCông thức lồng đầy đủ
Xuất sắcTừ 9 trở lên=IF(B2>=9,"Xuất sắc",IF(B2>=8,"Giỏi",IF(B2>=6.5,"Khá","Chưa đạt")))
GiỏiTừ 8 đến dưới 9
KháTừ 6,5 đến dưới 8
Chưa đạtDưới 6,5

Nguyên tắc số một khi lồng IF: kiểm tra từ mức cao nhất xuống, vì Excel dừng ở điều kiện đúng đầu tiên. Viết =IF(B2>=6.5,"Khá",IF(B2>=8,"Giỏi",...)) thì người 9 điểm cũng bị xếp "Khá" — điều kiện sau không bao giờ được xét.

Hai lỗi hay gặp khác:

Từ Excel 2019 có thêm IFS: =IFS(B2>=9,"Xuất sắc",B2>=8,"Giỏi",B2>=6.5,"Khá",TRUE,"Chưa đạt") — dễ đọc hơn IF lồng nhưng không chạy trên Excel 2013, 2016.

4. COUNTIF và SUMIF: đếm và cộng theo điều kiện

Hai hàm này thay cho việc lọc rồi đếm bằng mắt — việc tốn thời gian nhất khi tổng hợp báo cáo.

Ví dụ với cột C ghi phòng ban, D ghi ngày công, G ghi thực lĩnh:

Công thứcViệc nó làm
=COUNTIF(C2:C50,"Kế toán")Đếm nhân viên phòng Kế toán
=SUMIF(C2:C50,"Kế toán",G2:G50)Tổng thực lĩnh của phòng Kế toán
=COUNTIF(D2:D50,">=24")Đếm người làm đủ 24 công trở lên
=SUMIF(D2:D50,"<20",G2:G50)Tổng tiền của nhóm thiếu công

Dấu * là ký tự đại diện trong điều kiện, dùng khi chỉ nhớ một phần giá trị:

Ba điều bắt buộc nhớ để không ra kết quả sai:

  1. Vùng đếm và vùng cộng phải cùng kích thước. SUMIF khoá theo ô đầu tiên, nên SUMIF(C2:C50,"Kế toán",G1:G49) vẫn chạy nhưng sai trong im lặng.
  2. Điều kiện dạng số phải để trong ngoặc kép hoặc nối bằng &: ">="&E1 để lấy ngưỡng từ ô E1.
  3. Ô trống không khớp "*". Đếm ô thật có dữ liệu thì dùng "<>" hoặc COUNTA.

Khi cần nhiều điều kiện, thêm chữ S: =COUNTIFS(C2:C50,"Kế toán",D2:D50,">=24")=SUMIFS(G2:G50,C2:C50,"Kế toán",D2:D50,">=24"). SUMIFS đảo cấu trúc so với SUMIF: vùng cộng đứng đầu, rồi mới đến các cặp vùng và điều kiện — chép công thức mẫu mà không để ý điểm này là nguyên nhân phổ biến của lỗi #VALUE! hoặc kết quả luôn bằng 0.

Cần tổng quan theo mọi nhóm trong một lần thì dùng Insert → PivotTable; COUNTIF và SUMIF phù hợp hơn khi báo cáo cần cố định, tự cập nhật.

5. VLOOKUP: tra cứu giữa hai bảng và các lỗi #N/A thường gặp

VLOOKUP giải bài toán quen thuộc: bảng chính chỉ có mã hàng, còn tên hàng và đơn giá nằm ở bảng phụ.

=VLOOKUP(giá trị cần tìm, bảng tra, số thứ tự cột cần lấy, kiểu tra)

Giả sử bảng tra ở $B$2:$D$20, cột B là mã hàng, C tên hàng, D đơn giá. Công thức ở ô E2: =VLOOKUP(A2,$B$2:$D$20,3,0) — tìm mã ở A2 và lấy giá trị ở cột thứ ba.

Tham sốCần điềnSai thì ra sao
Bảng traKhoá bằng $: $B$2:$D$20Không khoá thì kéo xuống là vùng tra trôi, #N/A hàng loạt
Số thứ tự cộtĐếm từ cột đầu của bảng tra, tính cả cột khoáĐếm nhầm là lấy sai dữ liệu; vượt số cột báo #REF!
Kiểu tra0 = tra chính xácĐể trống hoặc 1 là tra gần đúng, sai với bảng không sắp xếp

Điều kiện bắt buộc: cột khoá phải nằm ở cột trái nhất của vùng tra — VLOOKUP chỉ tìm từ trái sang phải, không tìm ngược. Nếu dữ liệu gốc xếp ngược, dùng INDEX + MATCH hoặc XLOOKUP() trên Excel 2021.

Lỗi #N/A nghĩa là "không tìm thấy". Nguyên nhân theo thứ tự hay gặp:

Với bảng danh mục, tham số cuối luôn là 0; chỉ dùng 1 cho bài toán thang bậc như tra thuế suất, và khi đó bảng buộc phải sắp xếp tăng dần.

6. IFERROR: che lỗi #N/A, #DIV/0! cho báo cáo sạch

Bảng báo cáo còn vài ô #N/A, #DIV/0! hay #VALUE! là bảng chưa in được. IFERROR xử lý việc này trong một câu lệnh.

=IFERROR(công thức, giá trị hiện khi lỗi)

Ghép với ba tình huống thường gặp:

Nhưng chỉ nên dùng IFERROR sau khi đã hiểu mình che lỗi gì. Ba lưu ý thực tế:

  1. IFERROR che mọi loại lỗi. Công thức gốc trỏ nhầm cột thì IFERROR giấu luôn lỗi đó, bảng nhìn "sạch" nhưng sai — hãy tạm xoá IFERROR để xem công thức gốc ra gì.
  2. Có hàm che riêng lỗi #N/A. =IFNA(công thức,"Không tìm thấy") chỉ che lỗi tra cứu, còn #DIV/0! hay #REF! vẫn hiện để biết có vấn đề thật.
  3. Che lỗi không đồng nghĩa đã đúng. Nếu số ô ra giá trị thay thế nhiều bất thường, đặt ngay ô kiểm tra =COUNTIF(E2:E100,"Không có trong danh mục") để biết có bao nhiêu mã đang lệch.
Lỗi hiện trên ôNghĩa làCách xử lý gọn
#N/AKhông tìm thấy giá trị traSửa khoá bằng TRIM/CLEAN, rồi bọc IFNA
#DIV/0!Chia cho 0 hoặc ô trống=IF(D2=0,"",G2/D2)
#VALUE!Sai kiểu dữ liệu trong phép tínhKiểm tra bằng ISNUMBER, ép kiểu bằng VALUE

Mẹo trình bày: trả về chuỗi rỗng "" khi bảng cần in gọn mắt, còn báo cáo gửi người khác đọc số thì trả về "Không có dữ liệu" để không ai hiểu nhầm ô trống là chưa nhập.

Cuối cùng: IFERROR bọc ngoài, IF và VLOOKUP lồng trong là được; không viết =SUM(IFERROR(...)) vì SUMIFS gọn và ổn định hơn.

7. Ví dụ thực hành: bảng chấm công dùng cả 7 hàm

Ghép cả bảy hàm vào một bảng chấm công tự cập nhật mỗi tháng.

Bước 1 — dựng bảng dữ liệu, đặt tên cột ở dòng 1:

~~~text | Mã NV | Họ tên | Phòng | Ngày công | Hệ số | Lương CB | Thực lĩnh | Xếp loại | |-------|--------|-------|-----------|-------|----------|-----------|----------| | NV01 | Nguyễn A | Kế toán | 24 | 1.0 | 6.000.000 | | | | NV02 | Trần B | Kỹ thuật | 26 | 1.2 | 8.000.000 | | | | NV03 | Lê C | Kinh doanh | 22 | 1.1 | 7.000.000 | | | ~~~

Bảng tra phụ đặt ở vùng J1:K4, cột J là tên phòng, cột K là hệ số.

Bước 2 — điền công thức từ trái sang phải:

  1. Hệ số: =VLOOKUP(C2,$J$2:$K$4,2,0) — khoá vùng bằng $ để kéo xuống không trôi.
  2. Thực lĩnh: =ROUND(D2*F2/26*E2,0).
  3. Xếp loại: =IF(D2>=26,"Vượt",IF(D2>=24,"Đủ công",IF(D2>=20,"Thiếu nhẹ","Thiếu nhiều"))).
  4. Che lỗi hệ số: =IFNA(VLOOKUP(C2,$J$2:$K$4,2,0),"Chưa khai hệ số").

Bước 3 — khối tổng hợp dưới bảng:

~~~text | Việc cần tính | Công thức | |---------------|-----------| | Tổng ngày công | =SUM(D2:D31) | | Ngày công trung bình | =AVERAGE(D2:D31) | | Số người đủ công | =COUNTIF(D2:D31,">=24") | | Số người phòng Kinh doanh | =COUNTIF(C2:C31,"Kinh doanh") | | Tổng thực lĩnh Kinh doanh | =SUMIF(C2:C31,"Kinh doanh",G2:G31) | | Lương bình quân Kinh doanh | =IFERROR(SUMIF(C2:C31,"Kinh doanh",G2:G31)/COUNTIF(C2:C31,"Kinh doanh"),0) | ~~~

Bước 4 — kiểm tra trước khi in: tổng =SUM(G2:G31) phải bằng tổng các SUMIF theo từng phòng cộng lại; so =COUNT(C2:C31) với =COUNTA(C2:C31) để biết cột có ô chứa chữ; bấm Ctrl+` rà lại xem có ô nào nhảy lệch không rồi bấm lần nữa để hiện kết quả.

Ba lỗi hay gặp: nhập "24 ngày" vào cột ngày công khiến SUM trả về 0; thêm dòng mới mà không sao chép công thức, nên định dạng vùng thành Table bằng Ctrl+T để công thức tự lan; và khoá vùng sai — bảng tra luôn khoá $J$2:$K$4, vùng dữ liệu thì không khoá.

Khi đã quen bảy hàm này, việc dựng file theo dõi công việc hay đối chiếu hoá đơn chỉ còn là gõ lại cùng bộ công thức với tên cột khác, và nên ghi chú lại trong một sheet "Ghi chú" của file.

Bài viết liên quan