Các hàm SEARCH, SEARCHB trong Excel được dùng để định vị chuỗi văn bản bên trong chuỗi văn bản thứ hai, hoạt động gần giống hàm FIND/FINDB nhưng không phân biệt chữ hoa/thường. Cùng bài viết hướng dẫn tìm kiếm văn bản với hàm SEARCH nhé!
1Công thức hàm SEARCH, SEARCHB
Hàm SEARCH và SEARCHB trong Excel được dùng để định vị một chuỗi văn bản bên trong chuỗi văn bản thứ hai và trả về số vị trí bắt đầu của chuỗi văn bản thứ nhất từ ký tự đầu tiên của chuỗi văn bản thứ hai.
Ví dụ:
=SEARCH("ful","beautiful")
Kết quả trả về là 7, vì từ "ful" bắt đầu từ ký tự thứ bảy của từ "beautiful".
Công thức của hàm SEARCH và SEARCHB như sau:
=SEARCH(find_text,within_text,start_num)
=SEARCHB(find_text,within_text,start_num)
Trong đó:
- find_text (Bắt buộc): Văn bản bạn muốn tìm.
- within_text (Bắt buộc): Văn bản mà trong đó bạn muốn tìm kiếm giá trị của đối số find_text.
- start_num (Tùy chọn): Số thứ tự của ký tự trong đối số within_text mà từ đó bạn muốn bắt đầu tìm kiếm.
Cách thức hoạt động của hàm SEARCH và SEARCHB:
- Các hàm SEARCH và SEARCHB có thể không khả dụng ở mọi ngôn ngữ.
- Hàm SEARCHB chỉ đếm 2 byte mỗi ký tự khi đặt ngôn ngữ DBCS (Tiếng Nhật, Tiếng Trung Quốc (Giản thể), Tiếng Trung Quốc (Phồn thể) và Tiếng Hàn Quốc) là ngôn ngữ mặc định. Nếu không, hàm SEARCHB hoạt động giống như hàm SEARCH, đếm 1 byte mỗi ký tự.
Lưu ý:
- Hàm SEARCH và SEARCHB không phân biệt chữ hoa chữ thường. Nếu bạn muốn tìm kiếm phân biệt chữ hoa chữ thường, bạn có thể dùng hàm FIND và FINDB.
- Có thể dùng các ký tự đại diện trong điều kiện: Ví dụ: Dấu ? đại diện cho một ký tự bất kỳ "?ĐH?", dấu * đại diện cho nhiều ký tự bất kỳ "ĐH*".
- Để tìm điều kiện là những dấu ? hoặc * thì bạn hãy gõ thêm dấu ~ ở trước dấu ? hay *. (Ví dụ: "~?", "~*")
- Nếu bỏ qua đối số start_num, đối số này được mặc định là 1.
2Ví dụ hàm SEARCH
Ví dụ 1: Xác định vị trí của một hoặc một chuỗi ký tự
- Ở mẫu 1: Hàm tìm vị trí của chữ "y" đầu tiên trong chuỗi tại ô B2. Ở đây do start_num để trống nên sẽ được mặc định là 1 (tìm từ ký tự đầu tiên trong chuỗi).
- Ở mẫu 2: Hàm tìm vị trí của chữ "y" đầu tiên trong chuỗi tại ô B3, bắt đầu từ ký tự thứ 3.
- Ở mẫu 3: Hàm tìm vị trí của cụm "day" xuất hiện đầu tiên trong chuỗi tại ô B4.
- Ở mẫu 4: Hàm tìm vị trí của cụm từ nằm tại ô B7 ("supermarket") xuất hiện đầu tiên trong chuỗi tại ô B5.
Ví dụ 2: Dùng hàm SEARCH kết hợp hàm REPLACE để thay thế phần văn bản theo ý muốn
Ví dụ, bạn muốn thay thế "supermarket" trong chuỗi tại ô A2 bằng "cinema".
Để làm điều này, trước tiên, bạn cần tìm vị trí của cụm từ "supermarket" (được đặt tại ô A4) trong chuỗi "I went to the supermarket" (tại ô A2), sau đó thay thế 11 ký tự này bằng chuỗi "cinema". Bạn nhập công thức như sau:
=REPLACE(A2,SEARCH(A4,A2),11,"cinema")
Giải thích công thức: Ở đây chúng ta sẽ lồng hàm SEARCH vào hàm REPLACE để hàm REPLACE thay thế chuỗi ký tự xác định bằng một chuỗi mong muốn qua việc nhờ hàm SEARCH tìm ra đối số start_num.
Công thức hàm REPLACE:
=REPLACE(old_text, start_num, num_chars, new_text)
Trong đó:
- Old_text (Bắt buộc): Văn bản mà bạn muốn thay thế một vài ký tự trong đó. Ở đây là phần văn bản ở ô A2 ("supermarket").
- Start_num (Bắt buộc): Vị trí của ký tự trong văn bản cũ mà bạn muốn thay thế bằng văn bản mới. Ở đây bạn sẽ dùng hàm SEARCH để xác định vị trí.
- Num_chars (Bắt buộc): Số lượng ký tự trong văn bản cũ mà bạn muốn hàm REPLACE thay thế bằng văn bản mới. Ở đây số lượng ký tự của từ "supermarket" là 11 nên bạn sẽ cần nhập 11.
- New_text (Bắt buộc): Văn bản sẽ thay thế các ký tự trong old_text. Ở đây là "cinema".
Kết quả như sau:
Ví dụ 3: Dùng hàm SEARCH kết hợp hàm MID để trả về văn bản theo nhu cầu
Bạn có thể ứng dụng hàm MID kết hợp với SEARCH để trả về văn bản theo ý muốn. Ví dụ, bạn muốn thêm một cột dữ liệu về đơn vị phân theo PX (PX1, PX2, PX3, PX4) để dễ kiểm soát mà không bị rối mắt bởi các phần ký tự còn lại trong tên đơn vị.
Bạn nhập công thức:
=MID(D2,SEARCH("PX?",D2),3)
Giải thích công thức: Ở đây chúng ta sẽ lồng hàm SEARCH vào hàm MID để hàm MID trả về kết quả là chuỗi ký tự mong muốn qua việc nhờ hàm SEARCH tìm ra đối số start_num.
Công thức hàm MID:
=MID(text, start_num, num_chars)
- Văn bản (Bắt buộc): Chuỗi văn bản có chứa các ký tự mà bạn muốn trích xuất. Ở đây chuỗi này nằm ở ô D2.
- Start_num (Bắt buộc): Ví trí của ký tự thứ nhất mà bạn muốn trích xuất trong văn bản. Ở đây bạn sẽ dùng hàm SEARCH để xác định, SEARCH("PX?",D2). Dấu "?" đại diện cho một ký tự bất kỳ sau chữ "PX" (đã đề cập trong mục lưu ý trước).
- Num_chars (Bắt buộc): Chỉ rõ số ký tự mà bạn muốn hàm MID trả về từ văn bản. Ở đây là 3.
Kết quả trả về sẽ như ô được tô vàng trong hình dưới. Bạn có thể dùng tính năng sao chép công thức trong Excel để điền kết quả cho các hàng còn lại.
3Một số lưu ý khi sử dụng hàm SEARCH
Khi thao tác với hàm SEARCH bạn cần lưu ý một số điều sau để thuận tiện và tránh xảy ra lỗi:
- Bạn có thể dùng hàm SEARCH để xác định vị trí của ký tự hoặc chuỗi văn bản bên trong một chuỗi văn bản khác, sau đó dùng hàm MID/MIDB để trả về văn bản hoặc dùng hàm REPLACE/REPLACEB để thay đổi văn bản (Như đã đề cập ở ví dụ 2 và 3 phần trước).
- Hàm SEARCH/SEARCHB không phân biệt chữ hoa chữ thường. Nếu bạn muốn tìm kiếm phân biệt chữ hoa chữ thường, bạn có thể dùng hàm FIND/FINDB.
- Hàm SEARCH của Excel trả về lỗi #VALUE! nếu:
- Không tìm thấy giá trị của đối số find_text.
- Đối số start_num lớn hơn độ dài của within_text.
- Start_num bằng hoặc nhỏ hơn 0 (không).
Trên đây là hướng dẫn cách dùng hàm SEARCH/SEARCHB trong Excel. Hy vọng bài viết sẽ giúp ích cho bạn trong việc thao tác với dữ liệu nhé!