Người dùng Excel thường gặp phải sự nhầm lẫn giữa hàm FIND và hàm SEARCH vì chức năng của chúng khá tương đồng với nhau. Vậy, hàm FIND là gì? Hàm SEARCH là gì? Công dụng của mỗi hàm là gì và chúng khác nhau như thế nào? Hãy cùng Mytour khám phá qua bài viết được chia sẻ dưới đây!
Hàm FIND là gì?
Hàm FIND trong Microsoft Excel được sử dụng để tìm kiếm và trả về vị trí của một ký tự hoặc một chuỗi con trong chuỗi ký tự (hay chuỗi văn bản). Thông qua đó, bạn có thể xác định vị trí đầu tiên xuất hiện của một từ, một ký tự hoặc một chuỗi ký tự con nằm trong một chuỗi ký tự dài hơn.
Cú pháp
Cú pháp của hàm FIND: =FIND(find_text, within_text, [start_num])
Trong đó:
- Find_text: Đây là một thành phần bắt buộc, được sử dụng để chỉ định ký tự hoặc chuỗi ký tự con mà bạn muốn tìm kiếm.
- Within_text: Chuỗi văn bản được xác định để thực hiện tìm kiếm. Within_text thường được coi như ô tham chiếu, ngoài ra, bạn cũng có thể nhập trực tiếp chuỗi văn bản vào Within_text. Đây là một thành phần bắt buộc trong hàm.
- Start_num: Đây là một thành phần tùy chọn, cho phép bạn xác định vị trí của ký tự mà bạn muốn tìm kiếm. Nếu bỏ trống tùy chọn này, hàm sẽ tự động tìm kiếm từ ký tự đầu tiên trong chuỗi được chỉ định ở Within_text.
Lưu ý: Nếu hàm FIND không tìm thấy ký tự chỉ định trong find_text, bạn sẽ thấy lỗi hiển thị là #VALUE!
Ví dụ: Cú pháp =FIND(“d”,”find”) trả về kết quả là 4 vì “d” nằm ở vị trí thứ 4 trong từ “find”. Tuy nhiên, với =FIND(“a”, “find”) sẽ trả về lỗi vì không tìm thấy chữ “a” trong “find”.
Lưu ý khi sử dụng hàm FIND
Bạn cần chú ý những điều sau khi sử dụng hàm FIND:
- Hàm FIND phân biệt chữ hoa và chữ thường khi tìm kiếm.
- Không thể thay thế ký tự trong hàm tìm kiếm FIND của Excel.
- Nếu find_text có nhiều ký tự, hàm sẽ trả về vị trí của ký tự đầu tiên. Ví dụ, với =FIND(“ui”,”vui”), hàm trả về 2 vì “u” là ký tự thứ hai trong “vui”.
- Nếu within_text chứa nhiều ký tự của find_text, hàm sẽ trả về vị trí xuất hiện đầu tiên của ký tự đó. Ví dụ, với =FIND(“p”,”happy”), kết quả là 3 vì ký tự “p” đầu tiên trong “happy” nằm ở vị trí thứ 3.
- Nếu find_text là chuỗi rỗng, hàm sẽ trả về ký tự đầu tiên của within_text.
- Hàm sẽ trả về #VALUE! nếu không tìm thấy find_text trong within_text, Start_num lớn hơn độ dài của within_text, hoặc Start_num là số âm hoặc 0.
Hàm SEARCH là gì?
Giống như hàm FIND, hàm SEARCH dùng để tìm kiếm ký tự hoặc chuỗi ký tự trong văn bản. Cú pháp và đối số của hàm SEARCH tương tự như FIND:
=SEARCH(find_text, within_text, [start_num])
Tuy nhiên, hàm SEARCH khác với hàm FIND ở chỗ là hàm này cho phép sử dụng ký tự thay thế và không phân biệt chữ hoa chữ thường.
Ví dụ:
- Kết quả của công thức =SEARCH(“market”,“supermarket”) là 6 vì “market” bắt đầu từ vị trí thứ 6 trong chuỗi “supermarket”
- Kết quả của công thức =SEARCH(“e”,“Excel”) là 1 vì hàm này không phân biệt giữa “E” và “e”.
-
So sánh hàm FIND và hàm SEARCH
Hàm FIND và hàm SEARCH có công thức và cách sử dụng gần như nhau. Tuy nhiên, hai hàm vẫn có một vài điểm khác biệt như:
Phân biệt chữ hoa, chữ thường
Điểm khác biệt đầu tiên là hàm FIND phân biệt chữ hoa, chữ thường, còn hàm SEARCH thì không.
Ví dụ, với cú pháp =SEARCH(“e”,“Excel”) sẽ trả về kết quả là 1 vì không phân biệt giữa “E” hay “e”, trong khi đó hàm FIND lại trả về 4 vì có phân biệt chữ hoa, chữ thường.
Ký tự thay thế
Ngược lại, hàm SEARCH cho phép sử dụng các ký tự thay thế trong find_text, trong khi hàm FIND thì không.
Trong hàm SEARCH:
- Dấu chấm hỏi (?) thay thế cho 1 ký tự.
- Dấu sao (*) thay thế cho chuỗi ký tự bất kỳ.
- Nếu cần tìm một dấu sao (*) hoặc dấu chấm hỏi (?) trong chuỗi, bạn thêm dấu ngã (~) vào trước ký tự đó.
Ví dụ về hàm FIND và hàm SEARCH
Sau khi nghiên cứu cú pháp, cách sử dụng và sự khác biệt giữa hàm FIND và hàm SEARCH, chúng ta sẽ đi đến một số ví dụ để hiểu rõ hơn về hai hàm này:
Ví dụ 1: Tìm chuỗi trước – sau 1 ký tự cụ thể
Để trích tất cả các ký tự trong một chuỗi văn bản ở bên trái hoặc bên phải của một ký tự nào đó, bạn có thể kết hợp giữa hàm FIND hoặc SEARCH với hàm LEFT, RIGHT và hàm LEN.
Hàm LEFT và RIGHT
Trong đó:
- Hàm LEFT: Trích xuất một số lượng nhất định các ký tự từ phía bên trái của chuỗi. Cú pháp: =LEFT(text, num_chars), trong đó text là chuỗi bạn muốn trích xuất ký tự từ, còn num_chars là số lượng ký tự bạn muốn trích xuất từ phía bên trái của chuỗi.
- Hàm RIGHT: Trích xuất một số lượng nhất định các ký tự từ phía bên phải của chuỗi. Cú pháp: =RIGHT(text, num_chars), trong đó text là chuỗi bạn muốn trích xuất ký tự từ, còn num_chars là số lượng ký tự bạn muốn trích xuất từ phía bên phải của chuỗi.
- Hàm LEN: Dùng để tính chiều dài hoặc số ký tự của một chuỗi ký tự. Cú pháp: =LEN(text), trong đó text là chuỗi ký tự bạn muốn tính độ dài.
Cách thực hiện
Ví dụ, nếu bạn muốn tách phần Tên và Họ thành các cột riêng trong bảng tính, bạn có thể sử dụng hàm LEFT kết hợp với hàm SEARCH hoặc hàm FIND như sau:
=LEFT(A2,FIND(“ ”,A2)-1)
Hay
=LEFT(A2,SEARCH(“ ”,A2)-1)
Khi đó, công thức trên sẽ trích xuất các ký tự từ phía bên trái của chuỗi văn bản trong ô A2 cho đến trước khi gặp khoảng trắng đầu tiên. “-1” được sử dụng để loại bỏ khoảng trắng khỏi kết quả trả về. Ví dụ với tên Ronnie Anderson, kết quả sẽ là Ronnie.
Bên trên là cách trích xuất phần Tên thành một cột. Tiếp theo, chúng ta sẽ thực hiện trích xuất phần Họ thành một cột riêng bằng cách kết hợp hàm FIND/SEARCH, hàm RIGHT và hàm LEN.
Cú pháp sẽ là:
=RIGHT(A2,LEN(A2)-FIND(” “,A2))
Hay,
=RIGHT(A2,LEN(A2)-SEARCH(” “,A2))
Kết quả minh họa:
Ví dụ 2: Tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi
Bạn có thể áp dụng 1 trong 2 cách sau:
Cách 1
Ví dụ như bạn đang có một bảng tính với danh sách các SKU và cần tìm vị trí của dấu gạch (-) xuất hiện lần thứ hai trong chuỗi, bạn có thể sử dụng công thức sau:
=FIND(“-“,A2, FIND(“-“,A2)+1)
Trong đó, “-” và A2 được sử dụng để xác định vị trí của dấu gạch ngang trong ô A2, còn FIND(“-“,A2)+1 được sử dụng để tìm vị trí xuất hiện thứ hai của dấu gạch ngang.
Nếu bạn cần tìm vị trí xuất hiện lần thứ ba của dấu gạch ngang, bạn có thể sử dụng công thức sau:
=FIND(“-“,A2, FIND(“-“, A2, FIND(“-“,A2)+1) +2)
Cách 2
Ngoài ra, bạn có thể dùng CHAR và SUBSTITUTE để xác định vị trí xuất hiện lần thứ n của một ký tự trong chuỗi.
Hàm SUBSTITUTE: Dùng để thay thế một chuỗi con cụ thể bằng một chuỗi con khác trong văn bản. Cú pháp =SUBSTITUTE(text, old_text, new_text, [instance_num])
Trong đó:
- text là chuỗi văn bản chứa chuỗi ký tự con cần thay thế.
- old_text là chuỗi ký tự con mà bạn muốn thay thế.
- new_text là chuỗi ký tự con mới bạn muốn sử dụng để thay thế chuỗi ký tự con cũ.
- [instance_num] là tham số xác định vị trí xuất hiện cụ thể của old_text mà bạn muốn thay thế. Bỏ qua tùy chọn này, hàm sẽ thay thế tất cả old_text.
Hàm CHAR: Trả về ký tự có mã ASCII tương ứng. Cú pháp =CHAR(number), trong đó number là số nguyên biểu thị mã ASCII của ký tự cần trả về.
Kết hợp các hàm trên với hàm FIND hoặc SEARCH như sau:
=FIND(CHAR(1), SUBSTITUTE(A2, '-', CHAR(1), 3))
Trong đó, SUBSTITUTE(A2, '-', CHAR(1), 3) thay thế dấu gạch ngang (-) thứ 3 trong chuỗi của ô A2 bằng ký tự có mã ASCII là 1. Hàm FIND ở đầu dùng để tìm vị trí của ký tự có mã ASCII là 1 trong chuỗi đã thay thế bởi SUBSTITUTE. Kết quả trả về cho biết vị trí của dấu gạch ngang thứ 3 trong chuỗi ô A2.
Công thức chung sẽ là:
= FIND(CHAR(1), SUBSTITUTE(ô, ký tự, CHAR(1), lần thứ N xảy ra))
Ví dụ 3: Tìm chuỗi văn bản giữa các dấu ngoặc đơn
Nếu bạn muốn trích xuất chuỗi văn bản/ký tự nằm trong dấu ngoặc đơn bằng hàm FIND hoặc hàm SEARCH, bạn cần kết hợp với hàm MID.
Trong đó, hàm MID được dùng để trích xuất một phần của chuỗi ký tự dựa trên vị trí đầu tiên xuất hiện và số lượng ký tự được xác định từ trước. Cú pháp của hàm MID là =MID(text, start_num, num_chars).
Trong đó:
- text: Chuỗi ký tự bạn cần trích xuất.
- start_num: Vị trí đầu tiên trích xuất chuỗi ký tự con, đây là một số nguyên và không âm.
- num_chars: Số lượng ký tự bạn muốn trích xuất kể từ vị trí đầu tiên. Đây cũng là một số nguyên và không âm.
Khi kết hợp giữa hàm MID với hàm FIND/SEARCH, ta có:
=MID(A2,SEARCH('(', A2)+1, SEARCH(')', A2)-SEARCH('(', A2)-1)
Trong đó:
- SEARCH('))', A2) dùng để xác định vị trí của dấu đóng ngoặc.
- SEARCH('(', A2) sẽ tìm vị trí của dấu mở ngoặc.
- Sau đó, bạn trừ đi 1 để chỉ hiển thị kết quả không bao gồm cả hai dấu ngoặc với SEARCH('))', A2)-SEARCH('(', A2)-1
Do đó, bài viết đã giúp bạn hiểu rõ về hàm FIND, hàm SEARCH, sự khác biệt giữa hai hàm và một số ví dụ minh họa. Hy vọng bài viết hữu ích và đừng ngần ngại để lại câu hỏi dưới đây nếu cần giải đáp thêm!