Excel If Contains Partial Text: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

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.

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ểmCú phápKhác biệt
SEARCHKhông phân biệt chữ hoa/thườngSEARCH(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.
FINDPhân biệt chữ hoa/thườngFIND(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.

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).
  • COUNTIF trả 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.
  • ISNUMBER chuyển thành TRUE/FALSE.
  • -- chuyển TRUE/FALSE thành 1/0.
  • SUMPRODUCT cộ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

Excel If Contains Partial Text
Excel If Contains Partial Text

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

  1. Mở Formulas → Name Manager.
  2. Nhấn New, đặt tên: ContainsPartial.
  3. Trong Refers to nhập:
=LAMBDA(text, part, ISNUMBER(SEARCH(part, text)))
  1. 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 parts thà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:

  1. 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.
  2. Giảm Số Lần Tính Toán: Thay vì lặp lại SEARCH cho 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.
  3. 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.
  4. 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 COUNTIF hoặc SUMPRODUCT thay 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!

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