30 hàm Excel dân văn phòng dùng hằng ngày (phân theo tình huống công việc)
Admin · Cập nhật 01/08/2026
Danh sách hàm Excel thực sự dùng trong công việc, phân theo tình huống: thống kê có điều kiện, xử lý văn bản, ngày tháng, logic, làm tròn và hàm mảng động. Kèm cú pháp, ví dụ tiếng Việt và lỗi thường gặp.
Excel có hơn 500 hàm. Trong công việc văn phòng thực tế, khoảng 30 hàm chiếm tới 95% nhu cầu — số còn lại bạn tra khi cần.
Bài này sắp xếp 30 hàm đó theo tình huống công việc, không theo bảng chữ cái. Với mỗi hàm có cú pháp, một ví dụ tiếng Việt dễ hình dung và cái bẫy thường gặp.
Ký hiệu: những hàm đánh dấu (365) chỉ có trên Microsoft 365 và Office 2021/2024. Với bản cũ hơn, bài viết đưa cách thay thế.
Tình huống 1: "Tổng doanh thu của khu vực miền Bắc là bao nhiêu?"
Đây là nhóm hàm dùng nhiều nhất trong văn phòng: tính toán có điều kiện.
| Hàm | Công dụng |
|---|---|
SUMIFS |
Cộng các giá trị thỏa nhiều điều kiện |
COUNTIFS |
Đếm số dòng thỏa nhiều điều kiện |
AVERAGEIFS |
Trung bình các giá trị thỏa nhiều điều kiện |
MAXIFS / MINIFS |
Lớn nhất / nhỏ nhất theo điều kiện |
Cú pháp SUMIFS (chú ý: vùng cần cộng đứng trước, ngược với SUMIF):
=SUMIFS(vùng_cộng, vùng_điều_kiện_1, điều_kiện_1, vùng_điều_kiện_2, điều_kiện_2, ...)
Ví dụ — tổng doanh thu miền Bắc trong tháng 7:
=SUMIFS(D:D, B:B, "Miền Bắc", C:C, ">="&DATE(2026,7,1), C:C, "<="&DATE(2026,7,31))
Ba điều cần nhớ:
- Điều kiện so sánh phải nằm trong dấu nháy kép, và khi ghép với một ô hay hàm thì dùng
&:">="&F2. - Dùng ký tự đại diện:
"*trường*"khớp mọi chuỗi có chứa "trường","?"khớp đúng một ký tự bất kỳ. SUMIFSkhông phân biệt hoa thường. "hà nội" và "Hà Nội" được tính là một.
Bẫy phổ biến: kết quả bằng 0 dù mắt thấy có dữ liệu — gần như luôn do vùng điều kiện chứa khoảng trắng thừa ("Miền Bắc " khác "Miền Bắc"). Cách xử lý ở bài Làm sạch dữ liệu trong Excel.
Tình huống 2: "Xếp loại tự động theo điểm / theo doanh số"
| Hàm | Công dụng |
|---|---|
IF |
Kiểm tra một điều kiện, trả về hai kết quả |
IFS (365) |
Kiểm tra nhiều điều kiện lần lượt, không cần lồng |
AND / OR / NOT |
Kết hợp nhiều điều kiện |
IFERROR |
Thay lỗi bằng giá trị bạn muốn |
SWITCH (365) |
So khớp một giá trị với danh sách trường hợp |
Cách viết cũ — lồng IF:
=IF(A2>=8.5,"Giỏi",IF(A2>=7,"Khá",IF(A2>=5,"Trung bình","Yếu")))
Cách viết dễ đọc hơn — IFS:
=IFS(A2>=8.5,"Giỏi", A2>=7,"Khá", A2>=5,"Trung bình", TRUE,"Yếu")
Điều kiện TRUE ở cuối đóng vai trò "các trường hợp còn lại". Nếu thiếu nó, giá trị không khớp điều kiện nào sẽ trả về lỗi #N/A.
Mẹo quan trọng: khi có từ 4 mức trở lên, đừng lồng IF. Hãy tạo một bảng phụ (ngưỡng – nhãn) rồi tra bằng XLOOKUP với chế độ khớp gần đúng. Cách này dễ sửa hơn hẳn: đổi ngưỡng chỉ cần sửa bảng, không cần đụng vào công thức.
IFERROR nên dùng có chừng mực. =IFERROR(công_thức, 0) che mọi lỗi, kể cả lỗi bạn cần biết. Với hàm tra cứu, =IFERROR(XLOOKUP(...), "Không tìm thấy") tốt hơn vì thông báo rõ chuyện gì đã xảy ra.
Tình huống 3: "Dữ liệu dán từ hệ thống về, chữ nghĩa lộn xộn"
| Hàm | Công dụng |
|---|---|
TRIM |
Xóa khoảng trắng thừa ở đầu, cuối và khoảng trắng đôi giữa từ |
CLEAN |
Xóa ký tự không in được (thường có khi dán từ web, PDF) |
UPPER / LOWER / PROPER |
Chuyển hoa / thường / hoa chữ cái đầu |
LEFT / RIGHT / MID |
Cắt chuỗi theo vị trí |
LEN |
Đếm số ký tự |
SUBSTITUTE |
Thay thế chuỗi con |
TEXTBEFORE / TEXTAFTER (365) |
Lấy phần trước / sau một dấu phân cách |
TEXTSPLIT (365) |
Tách chuỗi thành nhiều ô theo dấu phân cách |
TEXTJOIN |
Ghép nhiều ô, có dấu phân cách, bỏ qua ô trống |
TEXT |
Định dạng số/ngày thành chuỗi theo mẫu |
Vài ví dụ thường gặp:
Lấy tên đăng nhập từ email:
=TEXTBEFORE(A2,"@") → bản 365
=LEFT(A2, FIND("@",A2)-1) → bản cũ
Tách họ và tên (họ tên tiếng Việt, tên nằm cuối):
=TEXTAFTER(A2," ",-1) → lấy phần sau dấu cách cuối cùng (tên)
=TEXTBEFORE(A2," ",-1) → phần còn lại (họ và tên đệm)
Ghép địa chỉ đầy đủ, tự bỏ qua ô trống:
=TEXTJOIN(", ", TRUE, B2, C2, D2)
Hiển thị ngày theo định dạng Việt Nam trong một câu:
="Hạn nộp: " & TEXT(A2,"dd/mm/yyyy")
Nếu không dùng TEXT, Excel sẽ ghép ra dãy số như 46235 — vì bên trong Excel, ngày tháng chính là số.
Lưu ý về PROPER với tiếng Việt: hàm này viết hoa chữ cái đầu mỗi từ, nên "nguyễn văn an" thành "Nguyễn Văn An" — đúng ý. Nhưng nó cũng biến "TP.HCM" thành "Tp.Hcm". Đừng áp dụng máy móc cho cả cột.
Tình huống 4: "Tính số ngày, số tháng, tuổi, hạn hợp đồng"
| Hàm | Công dụng |
|---|---|
TODAY / NOW |
Ngày hôm nay / ngày giờ hiện tại (tự cập nhật) |
DATE |
Ghép năm, tháng, ngày thành một giá trị ngày |
YEAR / MONTH / DAY |
Tách thành phần của một ngày |
EOMONTH |
Ngày cuối tháng, cách N tháng so với mốc |
EDATE |
Ngày cùng thứ tự, cách N tháng |
DATEDIF |
Chênh lệch giữa hai ngày theo năm / tháng / ngày |
NETWORKDAYS |
Số ngày làm việc giữa hai mốc (trừ cuối tuần và ngày lễ) |
WEEKDAY |
Thứ mấy trong tuần |
Tính tuổi hoặc thâm niên chính xác:
=DATEDIF(A2, TODAY(), "y") & " năm " & DATEDIF(A2, TODAY(), "ym") & " tháng"
DATEDIF là hàm "ẩn": Excel không gợi ý khi bạn gõ, nhưng vẫn chạy bình thường. Tham số cuối nhận "y" (số năm trọn), "m" (số tháng trọn), "d" (số ngày), "ym" (số tháng lẻ sau khi trừ năm trọn).
Đếm ngày làm việc còn lại tới hạn, trừ ngày lễ:
=NETWORKDAYS(TODAY(), B2, DanhSachNgayLe)
Ngày cuối tháng này và cuối tháng sau:
=EOMONTH(TODAY(), 0) → cuối tháng này
=EOMONTH(TODAY(), 1) → cuối tháng sau
Lỗi kinh điển với ngày tháng: dữ liệu trông giống ngày nhưng Excel coi là chữ (căn trái thay vì căn phải, và mọi hàm ngày đều trả #VALUE!). Nguyên nhân thường là định dạng ngày trong file khác định dạng vùng của máy — ví dụ file dùng mm/dd/yyyy còn máy đặt dd/mm/yyyy. Cách sửa ở bài Làm sạch dữ liệu.
Tình huống 5: "Số liệu lệch vài đồng khi cộng lại"
| Hàm | Công dụng |
|---|---|
ROUND |
Làm tròn tới N chữ số thập phân |
ROUNDUP / ROUNDDOWN |
Làm tròn lên / xuống |
MROUND |
Làm tròn tới bội số gần nhất (ví dụ bội của 1.000 đồng) |
INT |
Lấy phần nguyên |
ABS |
Giá trị tuyệt đối |
Phân biệt hai chuyện thường bị lẫn:
- Định dạng hiển thị (
Ctrl+1→ 0 chữ số thập phân) chỉ làm số trông tròn; giá trị thật vẫn còn phần lẻ, nên cộng lại vẫn lệch. - Hàm
ROUNDlàm tròn giá trị thật.
Vì vậy, với các bảng tiền phải khớp tới từng đồng, hãy ROUND ngay tại bước tính, đừng chỉ chỉnh định dạng.
Làm tròn tiền tới bội 1.000 đồng:
=MROUND(A2, 1000)
Tình huống 6: "Lấy dữ liệu từ bảng khác"
Nhóm này quan trọng đến mức có bài riêng: VLOOKUP, XLOOKUP và INDEX MATCH. Tóm tắt:
| Hàm | Khi nào dùng |
|---|---|
XLOOKUP (365) |
Mặc định nên dùng — tra cứu hai chiều, có sẵn xử lý khi không tìm thấy |
VLOOKUP |
Khi cần tương thích với Excel bản cũ, cột khóa nằm bên trái |
INDEX + MATCH |
Khi cần linh hoạt tối đa hoặc file phải chạy trên bản cũ |
FILTER (365) |
Khi cần lấy nhiều dòng thỏa điều kiện, không chỉ một |
Tình huống 7: "Muốn danh sách tự sinh, không cần thao tác tay"
Nhóm hàm mảng động (365) — thay đổi cách làm việc của Excel nhiều nhất trong 10 năm qua:
| Hàm | Công dụng |
|---|---|
UNIQUE |
Trả về danh sách giá trị không trùng |
SORT / SORTBY |
Sắp xếp mà không cần thao tác Sort thủ công |
FILTER |
Lọc ra các dòng thỏa điều kiện |
SEQUENCE |
Sinh dãy số tự động |
LET |
Đặt tên cho phần trung gian trong công thức dài |
Ví dụ — lấy danh sách phòng ban duy nhất, đã sắp xếp:
=SORT(UNIQUE(B2:B500))
Ví dụ — liệt kê mọi đơn hàng của khách trong ô F1:
=FILTER(A2:D500, A2:A500=F1, "Không có đơn hàng")
Kết quả sẽ "tràn" (spill) ra các ô bên dưới và bên phải. Nếu vùng tràn bị vướng dữ liệu khác, Excel báo lỗi #SPILL! — chỉ cần dọn trống vùng đó.
Với Excel bản cũ, cách thay thế thực dụng nhất không phải công thức mảng phức tạp mà là PivotTable hoặc Advanced Filter.
Bảng tra nhanh: 30 hàm theo nhóm
| Nhóm | Hàm |
|---|---|
| Thống kê cơ bản | SUM, AVERAGE, COUNT, COUNTA, MAX, MIN |
| Thống kê có điều kiện | SUMIFS, COUNTIFS, AVERAGEIFS, MAXIFS |
| Logic | IF, IFS, AND, OR, IFERROR |
| Tra cứu | XLOOKUP, VLOOKUP, INDEX, MATCH, FILTER |
| Văn bản | TRIM, LEFT, RIGHT, MID, TEXTSPLIT, TEXTJOIN, TEXT |
| Ngày tháng | TODAY, DATEDIF, EOMONTH, NETWORKDAYS |
| Làm tròn | ROUND, MROUND |
| Mảng động | UNIQUE, SORT |
In bảng này ra và dán cạnh màn hình trong tháng đầu. Sau đó bạn sẽ không cần nó nữa.
Năm lỗi công thức và ý nghĩa thật của chúng
| Lỗi | Nghĩa là gì | Hướng xử lý |
|---|---|---|
#N/A |
Không tìm thấy giá trị cần tra | Kiểm tra khoảng trắng thừa, kiểu dữ liệu (số vs chữ) |
#VALUE! |
Sai kiểu dữ liệu trong phép tính | Có ô chứa chữ nằm trong vùng tính toán |
#REF! |
Tham chiếu tới ô đã bị xóa | Hoàn tác ngay, hoặc sửa lại tham chiếu |
#DIV/0! |
Chia cho 0 hoặc cho ô trống | Bọc bằng IF kiểm tra mẫu số |
#NAME? |
Sai tên hàm hoặc thiếu dấu nháy | Gõ sai tên hàm, hoặc dùng hàm 365 trên bản cũ |
Riêng #NAME? có một nguyên nhân ít ai ngờ: bạn mở file dùng XLOOKUP trên máy cài Office 2016. Excel không nhận hàm đó và biến nó thành _xlfn.XLOOKUP.
Bài tập thực hành
Bảng chi tiêu cá nhân. Nhập 60 dòng chi tiêu ba tháng gần nhất. Dùng
SUMIFStính tổng theo từng danh mục và từng tháng,AVERAGEIFStính mức chi trung bình,IFSgắn nhãn "Vượt ngân sách"/"Trong ngân sách".
Làm sạch danh sách thành viên. Lấy một danh sách có họ tên viết lộn xộn. Dùng TRIM + PROPER chuẩn hóa, TEXTAFTER tách tên, TEXTJOIN ghép lại theo định dạng "Tên (Họ và tên đệm)".
Theo dõi hạn nộp. Tạo bảng các đầu việc có cột hạn chót. Dùng NETWORKDAYS tính số ngày làm việc còn lại và IFS gắn nhãn "Quá hạn"/"Gấp"/"Còn thời gian".
Thay IF lồng bằng bảng tra. Lấy công thức xếp loại IF lồng 4 tầng của bạn, chuyển thành bảng ngưỡng + XLOOKUP khớp gần đúng. So sánh độ dễ sửa của hai cách.
Câu hỏi thường gặp
SUMIF và SUMIFS khác nhau thế nào?
SUMIF chỉ nhận một điều kiện và có thứ tự tham số ngược (vùng điều kiện trước, vùng cộng sau). SUMIFS nhận nhiều điều kiện và đặt vùng cộng lên đầu. Lời khuyên: luôn dùng SUMIFS kể cả khi chỉ có một điều kiện, để không phải nhớ hai thứ tự tham số khác nhau và để dễ thêm điều kiện về sau.
Vì sao COUNTIFS đếm ra số nhỏ hơn thực tế?
Thường do một trong ba nguyên nhân: dữ liệu có khoảng trắng ẩn; số được lưu dưới dạng chữ nên ">100" không khớp; hoặc điều kiện ngày tháng đang so sánh chuỗi chứ không so sánh giá trị ngày. Thử =COUNTIFS(A:A,"*") để đếm số ô chứa chữ và so với COUNT để phát hiện.
Nên dùng cả cột (A:A) hay giới hạn vùng (A2:A5000)?
Với Table (Ctrl + T) thì vấn đề không tồn tại vì vùng tự co giãn. Nếu không dùng Table, cả cột tiện nhưng làm file nặng hơn khi có nhiều công thức. Nguyên tắc: file nhỏ dùng cả cột cho tiện; file trên vài chục nghìn dòng thì nên giới hạn vùng hoặc chuyển sang Table.
Làm sao viết công thức dài mà vẫn đọc được?
Ba cách: dùng Alt + Enter để xuống dòng ngay trong thanh công thức; dùng LET để đặt tên cho các phần trung gian; và tách công thức phức tạp thành vài cột phụ rồi ẩn chúng đi. Công thức một dòng dài 300 ký tự không phải dấu hiệu giỏi — nó là món nợ kỹ thuật cho chính bạn ba tháng sau.
Hàm nào nên học trước nếu chỉ có một buổi tối?
SUMIFS, COUNTIFS, IFS, XLOOKUP và TRIM. Năm hàm này xử lý phần lớn yêu cầu trong các bài test tuyển dụng vị trí văn phòng.
Có nên dùng AI để viết công thức Excel?
Rất hữu ích để dựng nháp nhanh, đặc biệt với công thức lồng nhiều tầng. Nhưng bạn phải kiểm tra lại trên vài dòng dữ liệu đã biết đáp án — trợ lý AI đôi khi đưa ra hàm không tồn tại trong phiên bản Excel bạn đang dùng, hoặc nhầm thứ tự tham số giữa SUMIF và SUMIFS.
Nguồn tham khảo
- Excel functions (by category) – Microsoft Support
- SUMIFS function – Microsoft Support
- XLOOKUP function – Microsoft Support
- Dynamic array formulas and spilled array behavior – Microsoft Support
- Excel Functions List – Exceljet
Kết luận
Đừng học hàm theo danh sách. Hãy giữ bảng "tình huống → hàm" ở trên và mỗi lần gặp một việc mới, tìm đúng nhóm rồi tra cú pháp.
Sau khoảng 20 lần lặp lại như vậy, bạn sẽ nhận ra mình đã thuộc — không phải vì cố nhớ, mà vì đã dùng thật.