Có thể bạn quan tâm: Cách Sử Dụng Công Thức Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Lời mở đầu
Trong môi trường làm việc hiện đại, việc xử lý và phân tích dữ liệu nhanh chóng, chính xác là yếu tố then chốt quyết định hiệu suất và chất lượng của một doanh nghiệp. Microsoft Excel, với khả năng linh hoạt và mạnh mẽ, đã trở thành công cụ không thể thiếu đối với hầu hết các chuyên gia, từ kế toán, nhà quản lý, nhà phân tích dữ liệu cho đến những người làm công việc văn phòng thông thường. Đặc biệt, các hàm trong Excel là “xương sống” của mọi công việc tính toán, lọc, tổng hợp và báo cáo.
Bài viết này sẽ tập trung vào hàm bao gồm (các hàm INCLUDE, CONTAINS, SEARCH, FIND, FILTER, COUNTIF, SUMIF, SUMIFS, COUNTIFS, XLOOKUP, VLOOKUP, HLOOKUP, INDEX, MATCH, TEXT, LEFT, RIGHT, MID, LEN, TRIM và một số hàm mới trong Office 365/Excel 2026). Chúng ta sẽ khám phá từng hàm một cách chi tiết, đưa ra các ví dụ thực tế, so sánh ưu nhược điểm và cung cấp các bí quyết tối ưu hoá để bạn có thể áp dụng ngay vào công việc hàng ngày.
Lưu ý: Bài viết được cấu trúc thành nhiều phần, mỗi phần sẽ tập trung vào một nhóm hàm có chức năng liên quan. Bạn đọc có thể lựa chọn đọc theo nhu cầu hoặc tham khảo toàn bộ để có cái nhìn tổng quan.
Có thể bạn quan tâm: Cách Khôi Phục File Excel Bị Hỏng Hoặc Mất Dữ Liệu: Hướng Dẫn Chi Tiết Từ A Đến Z
1. Tổng quan về “Hàm Bao Gồm” trong Excel
1.1. Định nghĩa và vai trò
“Hàm bao gồm” không phải là một hàm duy nhất mà là một tập hợp các hàm cho phép kiểm tra, tìm kiếm, lọc và thống kê các giá trị trong một dãy hoặc một ô. Chúng giúp:
- Xác định sự tồn tại của một chuỗi ký tự, số liệu hoặc mẫu (pattern) trong dữ liệu.
- Lọc và trích xuất các bản ghi thỏa mãn điều kiện nhất định.
- Đếm, tổng hợp dữ liệu dựa trên tiêu chí bao gồm/không bao gồm.
- Tự động hoá các quy trình xử lý dữ liệu lặp lại.
1.2. Phân loại hàm
| Nhóm hàm | Mục đích | Ví dụ hàm |
|---|---|---|
| Kiểm tra chuỗi | Xác định chuỗi có chứa ký tự/đoạn văn nào không | SEARCH, FIND, ISNUMBER(SEARCH(...)) |
| Lọc dữ liệu | Trích xuất các dòng thỏa mãn điều kiện | FILTER, ADVANCED FILTER |
| Đếm và tổng hợp | Đếm hoặc tính tổng dựa trên tiêu chí | COUNTIF, COUNTIFS, SUMIF, SUMIFS |
| Tra cứu & tra cứu nâng cao | Tìm giá trị trong bảng và trả về kết quả | VLOOKUP, HLOOKUP, XLOOKUP, INDEX+MATCH |
| Xử lý chuỗi | Cắt, nối, thay đổi định dạng chuỗi | LEFT, RIGHT, MID, LEN, TRIM, TEXT, SUBSTITUTE |
Có thể bạn quan tâm: Cách Di Chuyển Cột Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Kiểm Tra Sự Tồn Tại Của Chuỗi: SEARCH, FIND và ISNUMBER
2.1. Hàm SEARCH
- Cú pháp:
SEARCH(find_text, within_text, start_num) - Chức năng: Tìm vị trí xuất hiện của
find_texttrongwithin_text. Không phân biệt hoa thường. - Trả về: Số nguyên (vị trí) hoặc lỗi
#VALUE!nếu không tìm thấy.
Ví dụ thực tế: Giả sử cột A chứa danh sách email, bạn muốn đánh dấu những email có miền “gmail.com”.
=IF(ISNUMBER(SEARCH("@gmail.com", A2)), "Gmail", "Khác")
2.2. Hàm FIND
- Cú pháp:
FIND(find_text, within_text, start_num) - Khác biệt: Phân biệt hoa thường (case-sensitive) và không hỗ trợ ký tự đại diện (, ?).
Ví dụ: Kiểm tra xem ô B2 có chứa từ “Report” (chữ “R” viết hoa) hay không.
=IF(ISNUMBER(FIND("Report", B2)), "Có", "Không")
2.3. Kết hợp ISNUMBER
Cả SEARCH và FIND trả về vị trí hoặc lỗi. Để chuyển đổi thành giá trị logic TRUE/FALSE, dùng ISNUMBER.
=ISNUMBER(SEARCH("abc", C2)) // TRUE nếu có "abc", FALSE nếu không
2.4. Khi nào dùng SEARCH, khi nào dùng FIND?
| Tiêu chí | SEARCH | FIND |
|---|---|---|
| Phân biệt hoa thường | Không | Có |
| Hỗ trợ ký tự đại diện | Có (dùng và ? trong một số trường hợp) | Không |
| Tốc độ tính toán | Nhanh | Tương đương |
3. Lọc Dữ Liệu Dựa Trên Điều Kiện Bao Gồm: FILTER và Advanced Filter
3.1. Hàm FILTER (Excel 365/2026)
- Cú pháp:
FILTER(array, include, if_empty) - Mô tả: Trả về một mảng các dòng trong
arraymà thỏa mãn điều kiệninclude.
Ví dụ 1: Lọc danh sách sản phẩm (cột A) có chứa từ “USB”.
=FILTER(A2:A100, ISNUMBER(SEARCH("USB", A2:A100)), "Không có kết quả")
Ví dụ 2: Lọc các giao dịch trong tháng 5 năm 2026.
=FILTER(A2:D1000, (MONTH(B2:B1000)=5)(YEAR(B2:B1000)=2026), "Không có giao dịch")
3.2. Advanced Filter (phiên bản cũ)
- Cách dùng: Vào
Data→Advanced, chọnCriteria rangechứa điều kiện. - Lợi thế: Không cần công thức, thích hợp cho người không quen VBA.
3.3. Lưu ý khi dùng FILTER
- Kích thước mảng trả về: Đảm bảo không tràn ra ngoài các ô đã có dữ liệu.
- Độ tương thích: FILTER chỉ hoạt động trên Excel 365/2026 trở lên. Với các phiên bản cũ, dùng công thức mảng (CSE) hoặc VBA.
4. Đếm và Tổng Hợp Dựa Trên Tiêu Chí Bao Gồm: COUNTIF, COUNTIFS, SUMIF, SUMIFS
4.1. COUNTIF – Đếm một tiêu chí
- Cú pháp:
COUNTIF(range, criteria) - Tiêu chí: Có thể là chuỗi, số, biểu thức so sánh, hoặc ký tự đại diện
và?.
Ví dụ: Đếm số đơn hàng có trạng thái “Đã giao”.
=COUNTIF(C2:C500, "Đã giao")
Đếm các ô chứa “Apple” trong một dãy:
=COUNTIF(A2:A200, "Apple")
4.2. COUNTIFS – Đếm nhiều tiêu chí
- Cú pháp:
COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, …)
Ví dụ: Đếm số hóa đơn của khách hàng “Nguyễn Văn A” trong tháng 3/2026.
=COUNTIFS(A2:A1000, "Nguyễn Văn A", B2:B1000, ">=01/03/2026", B2:B1000, "<=31/03/2026")
4.3. SUMIF – Tổng hợp một tiêu chí
- Cú pháp:
SUMIF(range, criteria, sum_range)
Ví dụ: Tổng doanh thu từ các đơn hàng có trạng thái “Hoàn thành”.
=SUMIF(D2:D500, "Hoàn thành", E2:E500) // D: trạng thái, E: doanh thu
4.4. SUMIFS – Tổng hợp nhiều tiêu chí
- Cú pháp:
SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, …)
Ví dụ: Tổng doanh thu của khách “Công ty XYZ” trong năm 2026.
=SUMIFS(F2:F2000, A2:A2000, "Công ty XYZ", C2:C2000, ">=01/01/2026", C2:C2000, "<=31/12/2026")
4.5. Ký tự đại diện trong COUNTIF/COUNTIFS và SUMIF/SUMIFS
: bất kỳ chuỗi ký tự nào (có thể rỗng)?: một ký tự duy nhất~: ký tự escape để tìm ký tự thực tếhoặc?
Ví dụ: Đếm ô chứa ký tự “” thực sự:
=COUNTIF(A2:A100, "~")
5. Tra Cứu Nâng Cao: VLOOKUP, HLOOKUP, XLOOKUP, INDEX + MATCH
5.1. VLOOKUP – Tra cứu dọc
- Cú pháp:
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup) range_lookup= FALSE → tìm khớp chính xác; TRUE → tìm gần đúng (cần sắp xếp).
Ví dụ: Lấy giá bán của sản phẩm có mã “SP001”.
=VLOOKUP("SP001", A2:C1000, 3, FALSE)
5.2. HLOOKUP – Tra cứu ngang
- Cú pháp:
HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)
Ví dụ: Lấy giá trị trong hàng 5 của cột chứa “Q1”.
=HLOOKUP("Q1", A1:Z5, 5, FALSE)
5.3. XLOOKUP – Thay thế VLOOKUP/HLOOKUP
- Cú pháp:
XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode) - Ưu điểm: Không cần chỉ số cột/row, hỗ trợ tìm ngược, tìm gần đúng, trả về mảng.
Ví dụ: Tìm tên nhân viên dựa trên mã.
=XLOOKUP("NV123", A2:A500, B2:B500, "Không tìm thấy", 0, 1)
5.4. Kết hợp INDEX + MATCH – Linh hoạt và mạnh mẽ
- Cú pháp:
INDEX(array, row_num, column_num) - Cú pháp MATCH:
MATCH(lookup_value, lookup_array, match_type)
Ví dụ: Lấy lương của nhân viên có ID “EMP045”.
=INDEX(C2:C1000, MATCH("EMP045", A2:A1000, 0))
5.5. Khi nào nên dùng XLOOKUP thay cho VLOOKUP/INDEX+MATCH?

Có thể bạn quan tâm: Hoán Đổi Cột Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
| Tiêu chí | VLOOKUP | INDEX+MATCH | XLOOKUP |
|---|---|---|---|
| Tìm giá trị trong cột trái | Không | Có | Có |
| Trả về nhiều cột | Không (cần lặp) | Có (sử dụng mảng) | Có (return_array) |
| Tùy chọn nếu không tìm thấy | Không | IFERROR | if_not_found |
| Tìm ngược (bottom‑up) | Không | Có (MATCH với -1) | search_mode = -1 |
| Hiệu suất với dữ liệu lớn | Trung bình | Tốt | Tốt nhất (được tối ưu) |
6. Xử Lý Chuỗi Nâng Cao: LEFT, RIGHT, MID, LEN, TRIM, TEXT, SUBSTITUTE
6.1. LEFT, RIGHT, MID – Cắt chuỗi
| Hàm | Mô tả | Cú pháp |
|---|---|---|
| LEFT | Lấy n ký tự đầu | LEFT(text, num_chars) |
| RIGHT | Lấy n ký tự cuối | RIGHT(text, num_chars) |
| MID | Lấy n ký tự từ vị trí bất kỳ | MID(text, start_num, num_chars) |
Ví dụ: Tách mã vùng (3 ký tự đầu) và số điện thoại (các ký tự còn lại) từ ô A2 “+84 912345678”.
=LEFT(A2, 3) // +84
=RIGHT(A2, LEN(A2)-4) // 912345678
6.2. LEN – Độ dài chuỗi
=LEN(A2) // Đếm số ký tự, bao gồm dấu cách
6.3. TRIM – Xóa dấu cách thừa
=TRIM(A2) // Loại bỏ dấu cách đầu/cuối và giảm dấu cách liên tiếp thành một
6.4. TEXT – Định dạng số và ngày
=TEXT(B2, "dd/mm/yyyy") // Định dạng ngày
=TEXT(C2, "#,##0") // Định dạng số với dấu phân cách hàng nghìn
6.5. SUBSTITUTE – Thay thế chuỗi
=SUBSTITUTE(A2, "Old", "New") // Thay “Old” bằng “New”
6.6. Kết hợp các hàm để chuẩn hoá dữ liệu
Mục tiêu: Chuẩn hoá danh sách email, loại bỏ khoảng trắng và chuyển sang chữ thường.
=LOWER(TRIM(A2))
7. Các Hàm Mới trong Office 365/Excel 2026 Hỗ Trợ “Bao Gồm”
7.1. LET – Định nghĩa biến tạm
Giúp giảm tính toán lặp lại trong công thức phức tạp.
=LET( txt, A2, pos, SEARCH("ABC", txt), IF(ISNUMBER(pos), "Có", "Không")
)
7.2. LAMBDA – Tạo hàm tùy chỉnh
= LAMBDA(str, IF(ISNUMBER(SEARCH("XYZ", str)), "Có", "Không"))
Sau khi đặt tên trong Name Manager (ví dụ: HasXYZ), dùng:
=HasXYZ(A2)
7.3. XMATCH – Tương tự MATCH nhưng mạnh mẽ hơn
=XMATCH("SP001", A2:A500, 0, 1) // 0 = khớp chính xác, 1 = tìm từ đầu
7.4. FILTERXML – Lọc dữ liệu XML (đôi khi dùng để trích xuất chuỗi trong JSON)
=FILTERXML("<root><item>Apple</item><item>Banana</item></root>", "//item")
8. Thực hành: Xây Dựng Một Bảng Tổng Hợp Đơn Giản
8.1. Kịch bản
Bạn có một bảng dữ liệu bán hàng (cột A: Ngày, B: Mã SP, C: Tên SP, D: Số lượng, E: Đơn giá). Yêu cầu:
- Lọc các giao dịch trong tháng 7/2026.
- Tính tổng doanh thu cho mỗi nhóm sản phẩm có chứa từ “USB”.
- Đánh dấu các giao dịch có số lượng > 100.
8.2. Bước thực hiện
Bước 1: Lọc tháng 7/2026 (sử dụng FILTER).
=FILTER(A2:E1000, (MONTH(A2:A1000)=7)(YEAR(A2:A1000)=2026), "Không có dữ liệu")
Bước 2: Xác định các dòng có “USB” trong tên sản phẩm.
=LET( data, FILTER(A2:E1000, (MONTH(A2:A1000)=7)(YEAR(A2:A1000)=2026)), prod, INDEX(data,,3), // cột Tên SP mask, ISNUMBER(SEARCH("USB", prod)), filtered, FILTER(data, mask), SUMPRODUCT(INDEX(filtered,,4), INDEX(filtered,,5)) // Số lượng Đơn giá
)
Bước 3: Đánh dấu số lượng > 100 (sử dụng Conditional Formatting).
- Chọn cột D (Số lượng) →
Home→Conditional Formatting→New Rule→Use a formula... - Công thức:
=$D2>100 - Định dạng: nền màu đỏ.
8.3. Kết quả
- Bảng lọc hiển thị 45 giao dịch trong tháng 7/2026.
- Tổng doanh thu USB = 1,235,000 VND.
- Các ô số lượng >100 được tô đỏ, giúp nhanh chóng nhận diện.
9. Tối Ưu Hóa Hiệu Suất Khi Sử Dụng Hàm Bao Gồm
- Giảm số lần tính toán lặp lại: Sử dụng
LETđể lưu giá trị trung gian. - Tránh sử dụng mảng động trên toàn cột (A:A): Chỉ dùng phạm vi thực tế (A2:A5000) để giảm tải.
- Thay thế
SEARCHbằngFINDkhi không cần phân biệt hoa thường:FINDnhanh hơn một chút. - Sử dụng bảng phụ (helper column) để lưu kết quả trung gian: Ví dụ, một cột “CóUSB” =
ISNUMBER(SEARCH("USB", C2)), sau đó dùngSUMIFSdựa vào cột này. - Kiểm tra định dạng dữ liệu: Đảm bảo các ô chứa ngày thực sự là kiểu ngày, không phải văn bản; nếu không,
MONTHvàYEARsẽ trả lỗi. - Sử dụng
XLOOKUPvớiif_not_foundđể tránh#N/A.
10. Một số trường hợp sử dụng thực tế
10.1. Kiểm tra danh sách trùng lặp (Duplicate)
=IF(COUNTIF($A$2:$A$1000, A2)>1, "Trùng", "Độc")
10.2. Phân loại khách hàng dựa trên mức chi tiêu
=IF(SUMIFS(E:E, A:A, A2) > 5000000, "VIP", "Thường")
10.3. Tự động gán mã màu dựa trên trạng thái
=CHOOSE(MATCH(B2, {"Mới","Đang xử lý","Hoàn thành","Hủy"}, 0), "Yellow","Orange","Green","Red")
10.4. Tạo danh sách dropdown động (Data Validation) chỉ hiển thị các mục có “Active”
=FILTER(ProductsName, ProductsStatus="Active")
11. Kết luận
“Hàm bao gồm” trong Excel không chỉ là một công cụ kiểm tra đơn thuần mà là một bộ công cụ mạnh mẽ giúp bạn:
- Tự động hoá công việc lặp lại.
- Tăng độ chính xác trong việc lọc, thống kê và báo cáo.
- Tiết kiệm thời gian bằng cách giảm thiểu thao tác thủ công và lỗi nhập liệu.
Việc nắm vững các hàm SEARCH, FIND, FILTER, COUNTIF, SUMIF, XLOOKUP, INDEX, MATCH, cùng các hàm xử lý chuỗi sẽ mở ra một thế giới mới cho khả năng phân tích dữ liệu của bạn. Hãy thực hành, kết hợp các hàm một cách linh hoạt và luôn chú ý tới tối ưu hoá hiệu suất để Excel luôn là người bạn đồng hành đáng tin cậy trong công việc.
Bài học cuối cùng: Không có công thức “đúng cho mọi trường hợp”. Hãy luôn dựa vào mục tiêu thực tế, dữ liệu cụ thể và khả năng mở rộng khi xây dựng mô hình tính toán. Khi bạn đã thành thạo các hàm bao gồm, việc giải quyết bất kỳ bài toán dữ liệu nào trong Excel sẽ trở nên nhẹ nhàng và hiệu quả hơn bao giờ hết.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
