Cách tìm chuỗi văn bản trong một chuỗi khác bằng hàm SEARCH, SEARCHB trong Excel

Hàm SEARCH, SEARCHB trong Excel là hàm giúp ta định vị vị trí một chuỗi ký tự nằm trong một chuỗi văn bản thứ hai, sau đó sẽ trả về số thứ tự của vị trí bắt đầu chuỗi văn bản thứ nhất tính từ ký tự thứ thứ nhất của chuỗi văn bản thứ hai.

Cách tìm chuỗi văn bản trong một chuỗi khác bằng hàm SEARCH, SEARCHB trong Excel

Hàm SEARCH, SEARCHB và FIND/FINDB có điểm giống và khác nhau thế nào? Mời bạn đọc theo dõi bài viết sau đây của Thủ Thuật 123.

Cấu trúc hàm

= SEARCH (find_text, within_text, [start_num])

= SEARCHB(find_text, within_text, [start_num])

Trong đó:

  • SEARCH là tên hàm dùng để định vị một chuỗi văn bản nằm trong chuỗi văn bản thứ hai và trả về số của vị trí bắt đầu của chuỗi văn bản thứ nhất tính từ ký tự thứ nhất của chuỗi văn bản thứ hai.
  • SEARCHB là hàm SEARCH dùng với những ngôn ngữ sử dụng bộ ký tự byte kép (DBCS)
  • Find_text: Là chuỗi văn bản cần tìm. Đây là giá trị bắt buộc.
  • Within_text: Là chuỗi văn bản chứa chuỗi văn bản cần tìm. Đây là giá trị bắt buộc.
  • Start_num: Là vị trí ký tự bắt đầu tìm trong chuỗi văn bản within_text. Ký tự thứ nhất trong chuỗi within_text là ký tự số 1. Nếu bỏ qua giá trị start_num thì mặc định nó sẽ lấy là 1.

Ví dụ và cách sử dụng hàm SEARCH và SEARCHB

Ví dụ 1

Ảnh dưới là ví dụ mô tả công thức SEARCH tìm ký tự M đầu tiên trong chuỗi và trả về thứ tự của ký tự đó trong chuỗi.

Mô tả công thức SEARCH tìm ký tự M đầu tiên trong chuỗi và trả về thứ tự của ký tự đó trong chuỗi

Ở ví dụ trên Thủ Thuật 123 không điền giá trị Start_num nên mặc định Excel hiểu là 1 (bắt đầu tìm từ ký tự đầu tiên của chuỗi within_text).

Ví dụ 2

Với chuỗi văn bản tham chiếu như trên, bạn cần tìm vị trí của ký tự "n" từ ký tự thứ 5 của chuỗi, công thức hàm sẽ như sau:

Tìm vị trí của ký tự n từ ký tự thứ 5 của chuỗi

Hàm SEARCH sẽ tìm ký tự bắt đầu từ Start_num (ở ví dụ trên là từ ký tự thứ 5) trong chuỗi văn bản within_text. Vậy nên kết quả trả về là thứ tự của ký tự cần tìm trong chuỗi văn bản tìm kiếm vẫn tính từ đầu chuỗi kể cả bạn quy định Start_num.

Ví dụ 3: sử dụng kết hợp hàm SEARCH và hàm MID, LEFT, RIGHT, REPLACE

Với ví dụ tương tự như trên, bạn cần thực hiện các yêu cầu sau:

  • Lấy thông tin Họ bằng hàm LEFT;
  • Thay thế "Minh" bằng "Huệ" sử dụng hàm REPLACE;

Vậy bạn sẽ làm như thế nào?

Để lấy thông tin Họ (tức là chuỗi ký tự trước dấu cách), bạn cần tìm vị trí của dấu cách đầu tiên bằng hàm SEARCH rồi sử dụng hàm LEFT lấy các ký tự trước dấu cách bằng cách trừ đi vị trí của dấu cách cho 1.

Bạn cần tìm vị trí của dấu cách đầu tiên bằng hàm SEARCH rồi sử dụng hàm LEFT lấy các ký tự trước dấu cách bằng cách trừ đi vị trí của dấu cách cho 1

Công thức hàm sẽ như sau:  =LEFT(B3,SEARCH(" ",B3)-1)

Cách đổi thông tin "Minh" thành Huệ bằng công thức =REPLACE(B3,SEARCH("Minh",B3),4,"Huệ") ta thu được kết quả:

Đổi thông tin Minh thành Huệ bằng công thức thu được kết quả

Cách sử dụng hàm SEARCHB tương tự khi bạn sử dụng bộ ký tự byte kép (DBCS).

Lưu ý

  • Nếu như đối số Within_text Find_text là dạng chữ, bạn phải đặt vào dấu nháy kép "".
  • SEARCH và SEARCHB không  phân biệt chữ hoa chữ thường và cho phép dùng ký tự đại diện. Một dấu chấm hỏi khớp bất kỳ ký tự đơn nào; một dấu sao phù hợp với bất kỳ chuỗi ký tự nào. Nếu bạn muốn tìm một dấu chấm hỏi hay dấu sao thực, hãy gõ một dấu ngã (~) trước ký tự đó. Điểm này trái ngược với hàm FIND và FINDB.
  • Nếu find_text không xuất hiện trong within_text, thì hàm SEARCH và SEARCHB trả về giá trị lỗi #VALUE!.
  • Nếu start_num không lớn hơn không, thì hàm SEARCH và SEARCHB trả về giá trị lỗi #VALUE!.
  • Nếu start_num lớn hơn độ dài của within_text, thì hàm SEARCH và SEARCHB trả về giá trị lỗi #VALUE!.

Trên đây Thủ Thuật 123 đã hướng dẫn bạn cách sử dụng hàm SEARCH và SEARCHB trong Excel. Chúc các bạn thành công!

Viết bình luận