Hàm FIND và Hàm SEARCH

Công dụng: Dùng để tìm vị trí bắt đầu của một chuỗi con (substring) trong một chuỗi

Công thức:

__ =FIND(find_text, within_text [, start_num])

__
=SEARCH(find_text, within_text [, start_num])

___find_text: chuỗi văn bản cần tìm (chuỗi con)

___within_text: chuỗi văn bản chứa chuỗi cần tìm (chuỗi mẹ)

___start_num: vị trí bắt đầu tìm trong chuỗi within_text (mặc định là 1)


Một số lưu ý
:

- Kết quả của hai hàm này là một con số, chỉ vị trí bắt đầu (tính từ
start_num) của find_text trong within_text

- Dùng SEARCH() khi muốn tìm một chuỗi bất kỳ. Ví dụ: SEARCH(“e”, “Expenses”) sẽ cho kết quả là 1.

- Dùng FIND() khi muốn tìm chính xác một chuỗi có phân biệt chữ hoa, chữ thường. Ví dụ:
FIND(“e”, “Expenses”) sẽ cho kết quả là 4.

- Nếu không tìm thấy
find_text, hàm sẽ báo lỗi #VALUE

- Có thể dùng những ký tự đại diện như *, ? trong
find_text của hàm SEARCH()

- Với hàm SEARCH(), nếu muốn tìm chính ký tự * hoặc ? thì gõ dấu ~ trước ký tự đó ( ~* hoặc là ~?)

Trích xuất họ và tên
(ví dụ dùng để trích cho tên tiếng Anh, bỏ qua tên đệm)
Đây là dạng bài toán đã được rất nhiều bạn hỏi trên GPE.

Cách làm là dùng hàm FIND() để tìm những khoảng trắng phân cách giữa họ và tên, sau đó dùng hàm LEFT() để tách phần tên, và hàm RIGHT() để tách phần họ.


Để lấy phần tên (First Name), chúng ta dùng công thức sau (giả sử họ tên nằm ở cell A2):
=LEFT(A2, FIND(" ", A2) - 1)
Nghĩa là dùng hàm FIND() để tìm vị trí của ký tự trắng đầu tiên kể từ bên trái, ví dụ nó là vị trí thứ 5,
khi đó hàm LEFT() sẽ xác định được cái tên này gồm có 4 chữ (= 5-1).

Để lấy phần họ (Last Name), chúng ta dùng công thức:
=RIGHT(A2, LEN(A2) - FIND(" ", A2))
Bạn tự dịch câu này nhé!

Hình sau đây là một số ví dụ của bài vừa rồi.

Công thức ở D2: =RIGHT(A2, LEN(A2) - FIND(" ", A2)) & ", " & LEFT(A2, FIND(" ", A2) - 1)

Trích xuất họ, tên đệm và tên
(ví dụ với tên tiếng Anh, phần tên đệm được viết tắt)
Đây cũng là dạng bài toán đã được rất nhiều bạn hỏi trên GPE.
Cách làm giống như bài Trích xuất họ và tên ở trên, tuy nhiên có khác một chút, để trích thêm phần tên đệm.

Giả sử Họ và Tên (full name) nằm ở cell A2, và đang có giá trị là
Karen E. Hammond

Đầu tiên, như bài trên, dùng công thức sau để tách phần Tên (first name):
=LEFT(A2, FIND(" ", A2) - 1) Karen
Công thức FIND(" ", A2) sẽ cho kết quả là 6, là vị trí của khoảng trắng đầu tiên (sau chữ Karen).
Để tìm vị trí của khoảng trắng thứ hai, thì bạn phải gán vị trí bắt đầu tìm (start_num) là 7, hoặc là bằng kết quả của FIND(" ", A2) cộng thêm 1:
=FIND(" ", A2, FIND(" ",A2) + 1)
Rồi dùng kết quả của công thức này làm tham số cho hàm RIGHT() để trích ra phần Họ (last name):
=RIGHT(A2, LEN(A2) - FIND(" ", A2, FIND(" ", A2) +1)) Hammond
Để trích phần tên đệm, dùng hàm FIND() để tìm vị trí của dấu chấm (.) rồi đưa vào trong công thức của hàm MID() để tìm ký tự đứng trước dấu chấm:
=MID(A2, FIND(".", A2) - 1, 1)E

Hình sau đây là một minh họa cho phần vừa trình bày ở trên:

Comments