Ở bài học trước chúng ta đã làm quen với 2 hàm tìm kiếm và định vị ký tự hoặc chuỗi văn bản trong một chuỗi khác đó là
Hàm Find và
Hàm FindB. Hôm nay chúng ta làm quen với 2 hàm nữa cũng có chức năng giống như vậy tuy nhiên 2 Hàm này có sự khác biệt về cách trả về vị trí của chuỗi văn bản cần tìm.
Trước tiên ta ôn lại cú pháp của 2 Hàm Find và Hàm FindB
Cú pháp:FIND(
find_text,
within_text,
start_num)
FINDB(find_text,within_text,start_num)
Và cú pháp của
Hàm Search và
Hàm SearchB cũng tương tự như vậy, bạn xem nhé
SEARCH(
find_text,
within_text,
start_num)
SEARCHB(find_text,within_text,start_num)
Và ý nghĩa của các đối số:
Find_text Là đoạn văn, 1 Ký tự, 1 từ, bạn muốn tìm kiếm vị trí của nó
Within_text : Là đoạn văn, hoặc một chuỗi các ký tự cần mà để bạn tìm kiếm
Start_num : Là vị trí bắt đầu tìm. Tham số này rất quan trọng vì nó giúp giới hạn việc tìm kiếm và cho ra kết quả ta mong muốn.
Điểm mới của 2 hàm này là:
Không phân biệt chữ, hoa chữ thường còn
hàm Find và Hàm FindB có phần biệt chữ hoa, chữ thường nhé
Hàm FindB và Hàm SearchB có xét đến Double-Byte C-haracter Set. (Ký tự mang 2 bytes: Trung Quốc, Hàn Quốc, Nhật Bản)
Hãy xem ví dụ trong
Hàm FindBBây giờ ta xét ví dụ nhé: Ở đây thay vì nhập các tham số trực tiếp vào hàm, tôi để các tham số này dưới dạng tham chiếu vào các ô
Cụ thể:
Find_Text = B1 hoặc C1 Hoặc D1 hoặc E1
Within_Text = B2
Start_Num = B3 hoặc C3
Trường hợp 1:- Khi Find_Text là chữ
n=B1 (in thường) và Start_Num = 1(B3), thì cả 4 hàm đều cho biết vị trí find_text là 1 trong chuỗi "
nuoc Viet Nam"
- Khi Find_Text là chữ
a=C1 (in thường) và Start_Num = 1 (B3), thì cả 4 hàm đều cho biết vị trí find_text là 12 trong chuỗi "
nuoc Viet Nam"
- Khi Find_Text là chữ
N=D1 (in Hoa) và Start_Num = 1(B3), thì lúc này có sự khác biệt,
Hàm Search và
- Khi Find_Text là chữ
b=E1 (in thường) và Start_Num = 2(C3), thì cả 4 hàm đều trả về #Value: Không tìm thấy chữ b trong chuỗi "
nuoc Viet Nam"
Ứng dụng của cách hàm tìm kiếm này trong cách hàm xử lý chuỗi rất hay, Bạn hãy đọc cách ứng dụng của nó qua các Hàm Left, Hàm Right, Hàm Mid v.v.
Ở đây tôi giới thiệu một ứng dụng nhỏ của nó dùng trong
Hàm Replace hoặc
Hàm SubstituteTa tìm chữ n - in thường trong đoạn "nuoc Viet Nam" và thay thế chữ n thành chữ N
Lúc này ta nên nghĩ đến hàm Find hoặc Hàm FindB có
phân biệt chữ Hoa và chữ Thường nhé
=REPLACE("nuoc Viet Nam",Find("n","nuoc Viet Nam",1),1;"N")
Và kết quả sẽ là: Nuoc Viet Nam.
Bạn hãy Copy và xem kết quả để kiểm chứng
Thêm một lưu ý nữa, ở phần trên thì chúng ta chỉ cho hàm tìm kiếm 1 ký tự, vậy nếu ta yêu cầu tìm vị trí của 1 chữ thì như thế nào nhỉ.
=Search("Viet","nuoc Viet Nam",1)
=SEARCH("Viet Nam","nuoc Viet Nam",1)
Và so với
=SEARCH("V","nuoc Viet Nam",1)
Cả 3 công thức trên đều trả về cùng kết quả =6 vì sao vậy,
Khi Find_text có nhiều hơn 1 ký tự (1 khối ký tự) thì Hàm cũng sẽ tìm chính xác cả một khối và trả về vị trí của khối đó nếu tìm thấy.
Vị trí của khối find_text chính là vị trí ký tự đầu tiên của khối so với chuỗi văn bản Within_text nhé.
Ở ví dụ trên, Ký tự đầu tiên của khối Find_text "Viet" và "Viet Nam" là chữ "
V"=6
Chúc bạn thành công.