Có thể bạn quan tâm: Cách Thêm Đường Xu Hướng (trend Line) Vào Đồ Thị Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
Mở Đầu
Trong công việc hàng ngày, Excel là công cụ không thể thiếu giúp chúng ta xử lý, phân tích và trình bày dữ liệu một cách hiệu quả. Một trong những nhu cầu thường gặp là kiểm tra một ô có chứa một đoạn văn bản (partial text) nào đó hay không và thực hiện các hành động tùy thuộc vào kết quả. Điều này thường được thực hiện bằng cách kết hợp hàm IF với các hàm tìm kiếm như SEARCH, FIND, COUNTIF, COUNTIFS, hoặc ISNUMBER. Bài viết dưới đây sẽ cung cấp một hướng dẫn chi tiết, từ những kiến thức cơ bản nhất cho tới các kỹ thuật nâng cao, giúp bạn giải quyết mọi tình huống liên quan đến việc kiểm tra nội dung phần mềm trong Excel.
Có thể bạn quan tâm: Cách Lấy Văn Bản Từ Ô Trong Excel: Hướng Dẫn Chi Tiết, Mẫu Công Thức Và Mẹo Thực Tiễn
1. Kiến Thức Cơ Bản: IF, SEARCH, FIND và ISNUMBER
1.1. Cú pháp hàm IF
IF(logical_test, value_if_true, value_if_false)
- logical_test: điều kiện cần kiểm tra (ví dụ: A1>10, B2=”Yes”).
- value_if_true: giá trị trả về nếu điều kiện đúng.
- value_if_false: giá trị trả về nếu điều kiện sai (có thể bỏ qua).
1.2. Hàm SEARCH và FIND
| Hàm | Đặc điểm | Cú pháp | Khác biệt |
|---|---|---|---|
| SEARCH | Không phân biệt chữ hoa/thường | SEARCH(find_text, within_text, start_num) | Không phân biệt chữ hoa/thường, trả về vị trí đầu tiên của find_text. |
| FIND | Phân biệt chữ hoa/thường | FIND(find_text, within_text, start_num) | Phân biệt chữ hoa/thường, trả về vị trí đầu tiên. |
Ví dụ:
=SEARCH("apple", "I love Apple")→ trả về 8 (bởi vì “apple” xuất hiện tại vị trí 8, không phân biệt chữ hoa).=FIND("Apple", "I love Apple")→ trả về 8 (phân biệt hoa, nhưng vì từ trong ô cũng là “Apple” nên vẫn khớp).
Nếu không tìm thấy, cả hai hàm sẽ trả về lỗi #VALUE!.
1.3. Hàm ISNUMBER
Hàm ISNUMBER kiểm tra xem một giá trị có phải là số hay không, trả về TRUE hoặc FALSE.
Ví dụ: =ISNUMBER(SEARCH("apple", A1)) sẽ trả về TRUE nếu “apple” xuất hiện trong ô A1, ngược lại FALSE.
Có thể bạn quan tâm: Cách Lấy Màu Nền (cell Color) Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành
2. Cách Kiểm Tra Partial Text Cơ Bản Với IF
2.1. IF + SEARCH + ISNUMBER
=IF(ISNUMBER(SEARCH("apple", A2)), "Có chứa apple", "Không chứa apple")
- SEARCH trả về vị trí (số) nếu tìm thấy, hoặc lỗi #VALUE! nếu không.
- ISNUMBER chuyển vị trí thành TRUE, lỗi thành FALSE.
- IF dựa trên TRUE/FALSE để trả về kết quả mong muốn.
2.2. IF + FIND + ISNUMBER (phân biệt hoa thường)
=IF(ISNUMBER(FIND("Apple", A2)), "Có Apple", "Không có Apple")
Lưu ý: Nếu bạn muốn kiểm tra không phân biệt hoa thường, hãy dùng SEARCH; nếu muốn phân biệt, dùng FIND.
2.3. Sử Dụng COUNTIF Để Kiểm Tra Partial Text
COUNTIF có thể nhận wildcard (dấu và ?) để tìm kiếm phần chuỗi.
=IF(COUNTIF(A2, "apple")>0, "Có apple", "Không có apple")
- Dấu
đại diện cho bất kỳ chuỗi ký tự nào (có thể rỗng). COUNTIFtrả về số ô thỏa mãn, vì chúng ta chỉ xét một ô nên sẽ trả về 0 hoặc 1.
Ưu điểm: Đơn giản, không cần kết hợp ISNUMBER.
3. Nâng Cao: Kiểm Tra Nhiều Điều Kiện Partial Text
3.1. Kiểm Tra Nhiều Từ Khóa Với OR
Giả sử bạn muốn kiểm tra xem ô A2 có chứa “apple” hoặc “banana”.
=IF( OR( ISNUMBER(SEARCH("apple", A2)), ISNUMBER(SEARCH("banana", A2)) ), "Có apple hoặc banana", "Không có apple và banana")
3.2. Kiểm Tra Nhiều Từ Khóa Với AND
Nếu bạn muốn ô phải chứa cả “apple” và “banana”:
=IF( AND( ISNUMBER(SEARCH("apple", A2)), ISNUMBER(SEARCH("banana", A2)) ), "Có cả apple và banana", "Thiếu một trong hai")
3.3. Dùng COUNTIFS Với Wildcard
=IF( COUNTIFS(A2, "apple", A2, "banana")>0, "Có cả apple và banana", "Thiếu một trong hai")
Lưu ý: COUNTIFS chỉ trả về 1 nếu cả hai điều kiện đều thỏa mãn trong cùng một ô.
4. Ứng Dụng Thực Tế: Phân Loại Dữ Liệu
4.1. Phân Loại Đơn Giản (Ví Dụ: Nhóm Sản Phẩm)
Giả sử cột B chứa mô tả sản phẩm, bạn muốn tạo cột C phân loại:
| B (Mô tả) | C (Nhóm) |
|---|---|
| “Apple iPhone 12” | Smartphone |
| “Samsung Galaxy Tab” | Tablet |
| “Apple MacBook Pro” | Laptop |
| “Dell Inspiron Laptop” | Laptop |
| “Apple AirPods” | Accessory |
Công thức:
=IF(ISNUMBER(SEARCH("iPhone", B2)), "Smartphone", IF(ISNUMBER(SEARCH("Galaxy", B2)), "Tablet", IF( OR(ISNUMBER(SEARCH("MacBook", B2)), ISNUMBER(SEARCH("Inspiron", B2)) ), "Laptop", IF(ISNUMBER(SEARCH("AirPods", B2)), "Accessory", "Khác"))))
4.2. Sử Dụng SWITCH (Excel 2026 trở lên)
SWITCH giúp giảm độ phức tạp khi có nhiều điều kiện.
=SWITCH(TRUE, ISNUMBER(SEARCH("iPhone", B2)), "Smartphone", ISNUMBER(SEARCH("Galaxy", B2)), "Tablet", OR(ISNUMBER(SEARCH("MacBook", B2)), ISNUMBER(SEARCH("Inspiron", B2))), "Laptop", ISNUMBER(SEARCH("AirPods", B2)), "Accessory", "Khác")
4.3. Tạo Cột Trạng Thái Dựa Trên Nhiều Từ Khóa
Bạn có danh sách các từ khóa cảnh báo (ví dụ: “delay”, “error”, “failed”). Muốn đánh dấu ô Status là “Warning” nếu mô tả chứa bất kỳ từ nào trong danh sách.
Bước 1: Đặt danh sách từ khóa ở cột E (E2:E4).
E2: delay
E3: error
E4: failed
Bước 2: Sử dụng công thức mảng (Excel 365/2026) hoặc hàm SUMPRODUCT:
=IF( SUMPRODUCT(--ISNUMBER(SEARCH($E$2:$E$4, D2)))>0, "Warning", "OK")
SEARCH($E$2:$E$4, D2)trả về mảng các vị trí hoặc lỗi.ISNUMBERchuyển thành TRUE/FALSE.--chuyển TRUE/FALSE thành 1/0.SUMPRODUCTcộng lại; nếu >0 thì có ít nhất một từ khóa xuất hiện.
5. Xử Lý Lỗi Khi Không Tìm Thấy Partial Text

Có thể bạn quan tâm: Cách Tắt Hiển Thị Công Thức Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Khi dùng SEARCH hoặc FIND, nếu không tìm thấy sẽ trả về #VALUE!, gây lỗi cho các công thức phụ thuộc. Có một số cách để “bảo vệ” công thức:
5.1. Dùng IFERROR
=IFERROR( SEARCH("apple", A2), 0 )
Nếu không tìm thấy, trả về 0 (hoặc giá trị tùy ý). Khi kết hợp với IF:
=IF( IFERROR(SEARCH("apple", A2), 0 )>0, "Có apple", "Không có apple")
5.2. Dùng ISNUMBER Trước Khi So Sánh
Như đã đề cập, ISNUMBER(SEARCH(...)) đã tự động chuyển lỗi thành FALSE, do đó không cần IFERROR.
5.3. Tránh Lỗi Khi Dùng COUNTIF
COUNTIF không trả về lỗi; nó trả về 0 nếu không khớp, nên là lựa chọn an toàn cho các công thức đơn giản.
6. Kỹ Thuật Nâng Cao: Hàm LAMBDA và Tùy Chỉnh
Nếu bạn thường xuyên kiểm tra partial text, có thể tạo hàm tùy chỉnh bằng LAMBDA (Excel 365).
6.1. Định Nghĩa Hàm ContainsPartial
- Mở Formulas → Name Manager.
- Nhấn New, đặt tên:
ContainsPartial. - Trong Refers to nhập:
=LAMBDA(text, part, ISNUMBER(SEARCH(part, text)))
- Lưu lại.
Bây giờ bạn có thể dùng:
=IF(ContainsPartial(A2, "apple"), "Có apple", "Không có apple")
6.2. Hàm Nhiều Từ Khóa
=LAMBDA(text, parts, LET( arr, TEXTSPLIT(parts, ","), result, MAP(arr, LAMBDA(p, ISNUMBER(SEARCH(TRIM(p), text)))), OR(result) )
)
- TEXTSPLIT tách chuỗi
partsthành mảng (các từ khóa ngăn cách bằng dấu phẩy). - MAP kiểm tra từng từ khóa.
- OR trả về TRUE nếu bất kỳ từ nào khớp.
Sử dụng:
=IF( MyContains(A2, "apple, banana, orange"), "Có ít nhất một", "Không có")
7. Thực Hành: Bài Tập Và Giải Pháp
Bài 1: Kiểm Tra Địa Chỉ Email
Bạn có cột A chứa địa chỉ email. Muốn đánh dấu “Valid” nếu email có chứa “@” và “.com”.
Giải pháp:
=IF( AND(ISNUMBER(SEARCH("@", A2)), ISNUMBER(SEARCH(".com", A2)) ), "Valid", "Invalid")
Bài 2: Phân Loại Nhân Viên Dựa Trên Mã Phòng Ban
Mã phòng ban nằm trong cột B (ví dụ: “HR-001”, “IT-023”). Nếu chứa “HR” → “Nhân sự”, nếu chứa “IT” → “Công nghệ”, nếu chứa “FIN” → “Tài chính”, ngược lại “Khác”.
=SWITCH(TRUE, ISNUMBER(SEARCH("HR", B2)), "Nhân sự", ISNUMBER(SEARCH("IT", B2)), "Công nghệ", ISNUMBER(SEARCH("FIN", B2)), "Tài chính", "Khác")
Bài 3: Đánh Dấu “Critical” Khi Mô Tả Sự Cố Có Từ “crash” Hoặc “failure”
=IF( OR(ISNUMBER(SEARCH("crash", C2)), ISNUMBER(SEARCH("failure", C2)) ), "Critical", "Normal")
8. Tối Ưu Hóa Hiệu Suất Khi Xử Lý Dữ Liệu Lớn
Khi làm việc với hàng chục, hàng trăm nghìn dòng, việc lặp lại các công thức phức tạp có thể làm chậm Excel. Dưới đây là một số mẹo:
- Sử Dụng Bảng (Table): Khi dữ liệu được định dạng thành Table, công thức được tính toán chỉ khi dữ liệu thay đổi.
- Giảm Số Lần Tính Toán: Thay vì lặp lại
SEARCHcho cùng một từ khóa, lưu kết quả vào một cột phụ và tái sử dụng. - Sử Dụng Power Query: Power Query hỗ trợ Text.Contains (case‑insensitive) và là cách tối ưu để lọc/đánh dấu dữ liệu trước khi đưa vào bảng tính.
- Tránh Mảng Không Cần Thiết: Nếu không cần tính toán mảng, hãy dùng
COUNTIFhoặcSUMPRODUCTthay vì công thức mảng, vì chúng thường nhanh hơn.
Ví dụ Power Query:
Trong Power Query Editor, thêm cột tùy chỉnh:
= Table.AddColumn(PreviousStep, "ContainsApple", each Text.Contains(Description, "apple", Comparer.OrdinalIgnoreCase))
Sau khi tải lại, cột ContainsApple sẽ là TRUE/FALSE và có thể dùng trong Excel mà không cần công thức phức tạp.
9. Tổng Kết
Việc kiểm tra partial text trong Excel không chỉ là một kỹ năng cơ bản mà còn mở ra nhiều khả năng tự động hoá và phân tích dữ liệu mạnh mẽ. Bằng cách:
- Kết hợp IF với SEARCH, FIND, COUNTIF, COUNTIFS, ISNUMBER, và IFERROR,
- Sử dụng wildcard để đơn giản hoá công thức,
- Áp dụng các hàm logic OR, AND, SWITCH, và LAMBDA để giảm độ phức tạp,
- Tận dụng Power Query và LAMBDA cho các dự án lớn,
bạn sẽ có thể giải quyết hầu hết các yêu cầu kiểm tra nội dung văn bản trong Excel một cách nhanh chóng và chính xác. Hãy thực hành các ví dụ trên, tùy chỉnh chúng cho phù hợp với dữ liệu thực tế của bạn và khám phá thêm các tính năng mới của Excel để nâng cao năng suất làm việc.
Chúc bạn thành công và khai thác tối đa sức mạnh của Excel!

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ẻ.
