Hàm Bao Gồm Trong Excel: Tất Cả Những Bạn Cần Biết Để Tối Ưu Hoá Công Việc Xử Lý Dữ Liệu

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

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.

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àmMục đíchVí dụ hàm
Kiểm tra chuỗiXác định chuỗi có chứa ký tự/đoạn văn nào khôngSEARCH, FIND, ISNUMBER(SEARCH(...))
Lọc dữ liệuTrích xuất các dòng thỏa mãn điều kiệnFILTER, 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 caoTìm giá trị trong bảng và trả về kết quảVLOOKUP, HLOOKUP, XLOOKUP, INDEX+MATCH
Xử lý chuỗiCắt, nối, thay đổi định dạng chuỗiLEFT, RIGHT, MID, LEN, TRIM, TEXT, SUBSTITUTE

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_text trong within_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íSEARCHFIND
Phân biệt hoa thườngKhôngCó
Hỗ trợ ký tự đại diệnCó (dùng và ? trong một số trường hợp)Không
Tốc độ tính toánNhanhTươ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 array mà thỏa mãn điều kiện include.

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ọn Criteria range chứ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

  1. Kích thước mảng trả về: Đảm bảo không tràn ra ngoài các ô đã có dữ liệu.
  2. Độ 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?

Hàm Bao Gồm Trong Excel
Hàm Bao Gồm Trong Excel
Tiêu chíVLOOKUPINDEX+MATCHXLOOKUP
Tìm giá trị trong cột tráiKhôngCóCó
Trả về nhiều cộtKhô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ấyKhôngIFERRORif_not_found
Tìm ngược (bottom‑up)KhôngCó (MATCH với -1)search_mode = -1
Hiệu suất với dữ liệu lớnTrung bìnhTốtTố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àmMô tảCú pháp
LEFTLấy n ký tự đầuLEFT(text, num_chars)
RIGHTLấy n ký tự cuốiRIGHT(text, num_chars)
MIDLấ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:

  1. Lọc các giao dịch trong tháng 7/2026.
  2. Tính tổng doanh thu cho mỗi nhóm sản phẩm có chứa từ “USB”.
  3. Đá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

  1. Giảm số lần tính toán lặp lại: Sử dụng LET để lưu giá trị trung gian.
  2. 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.
  3. Thay thế SEARCH bằng FIND khi không cần phân biệt hoa thường: FIND nhanh hơn một chút.
  4. 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ùng SUMIFS dựa vào cột này.
  5. 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, MONTH và YEAR sẽ trả lỗi.
  6. Sử dụng XLOOKUP với if_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.

⚠️
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