Người dùng Excel thường có 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 Hoàng Hà Mobile 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 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 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 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 xem như ô tham chiếu, ngoài ra, bạn cũng có thể gõ 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ự thứ nhất trong chuỗi chỉ định ở Within_text.
Lưu ý: Nếu hàm FIND không tìm được ký tự chỉ định trong find_text, bạn sẽ nhìn thấy lỗi hiển thị là #VALUE!
Chẳng hạn như: Cú pháp =FIND(“d”,”find”) cho kết quả là 4 vì “d” nằm ở vị trí thứ 4 trong từ “find”, còn với =FIND(“a”, “find”) sẽ trả về lỗi vì không tìm thấy chữ “a” tương ứng trong “find”.
Lưu ý khi sử dụng hàm FIND
Bạn cần lưu ý một số điều sau khi sử dụng hàm FIND:
- Hàm FIND có sự phân biệt giữa chữ hoa và chữ thường.
- Không thể sử dụng ký tự thay thế với hàm tìm trong Excel.
- Nếu find_text chứa nhiều ký tự, hàm sẽ trả về kết quả vị trí của ký tự đầu tiên. Chẳng hạn như với =FIND(“ui”,”vui”), hàm sẽ trả về 2 vì “u” là ký tự thứ hai của “vui”.
- Nếu within_text chứa cùng lúc nhiều ký tự của find_text, hàm sẽ trả về lần xuất hiện đầu tiên của ký tự. Chẳng hạn như =FIND(“p”,”happy”), kết quả trả về là 3 vì chữ “p” đầu tiên của “happy” nằm ở vị trí thứ 3.
- Nếu trong đối số find_text chứa chuỗi trống, hàm sẽ trả về kết quả là ký tự đầu tiên tương ứng với chuỗi tìm kiếm.
- Hàm sẽ trả về kết quả lỗi là #VALUE! nếu xảy ra 1 trong 3 trường hợp: Không tìm thấy Find_text trong within_text, Start_num có nhiều số lượng ký tự hơn so với within_text, hoặc Start_num là số 0 hoặc số âm.
Hàm SEARCH là gì?
Tương tự với hàm FIND, hàm SEARCH cũng được sử dụng để tìm kiếm một ký tự hoặc chuỗi ký tự con trong một chuỗi văn bản. Thậm chí, cú pháp và đối số của hàm SEARCH cũng khá giống với hàm FIND:
=SEARCH (find_text,within_text,[start_num])
Tuy nhiên, hàm SEARCH khác 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 giữa chữ hoa với chữ thường.
Ví dụ:
- Kết quả của công thức =SEARCH(“market”,“supermarket”) là 6 vì “market” có ký tự đầu tiên bắt đầu ở vị trí thứ 6 của chuỗi văn bản “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ới “e”.
- Tương tự hàm FIND, kết quả của hàm SEARCH sẽ trả về lỗi #VALUE! khi: Không tìm thấy ký tự có trong find_text, số ký tự của start_num dài hơn so với within_text, Start_num nhỏ hơn hoặc bằng 0.
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 dùng gần như giống nhau. Tuy nhiên, giữa 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 có sự phân biệt giữa chữ hoa, chữ thường, còn hàm SEARCH thì không.
Ví dụ như với cú pháp =SEARCH(“e”,“Excel”) sẽ trả về kết quả là 1 vì nó không có sự phân biệt giữa “E” hay “e”, trong khi đó hàm FIND lại trả về 4 vì hàm này có sự phân biệt giữa “E” với “e”.
Ký tự thay thế
Ngược lại, hàm SEARCH cho phép người dùng sử dụng các ký tự thay thế trong find_text, còn 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 bạn cần tìm một dấu sao (*) hay dấu hỏi (?) trong chuỗi, bạn thêm vào trước ký tự đó một dấu ngã (~).
Ví dụ về hàm FIND và hàm SEARCH
Sau khi tìm hiểu cú pháp, cách sử dụng và sự khác nhau giữa hàm FIND với hàm SEARCH, chúng ta sẽ đến với một số ví dụ để nắm rõ hơn về 2 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 1 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 1 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 hay 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
Chẳng hạn như bạn muốn đưa phần Tên và Họ thành các cột riêng trong bảng tính, ta có cú pháp kết hợp giữa hàm LEFT 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ự nằm ở phía bên trái của một chuỗi văn bản nằm trong A2 cho đến trước khi bắt gặp khoảng trắng đầu tiên. “-1” được hiểu là bạn không muốn trong kết quả trả về có bao gồm cả khoảng trắng. Ví dụ với tên Ronnie Anderson, chúng ta có kết quả là Ronnie.
Bên trên là cách trích xuất phần Tên thành một cột. Chúng ta sẽ tiếp tục đến với cách trích xuất phần Họ thành một cột riêng với sự kết hợp của 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 sự xuất hiện lần thứ n của 1 ký tự cụ thể 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à bạn cần tìm kiếm vị trí của dấu gạch (-) nằm ở vị trí thứ 2 trong chuỗi, bạn có thể nhập cú pháp sau:
=FIND(“-“,A2, FIND(“-“,A2)+1)
Trong đó, “-” và A2 được dùng để xác định dấu gạch ngang ở ô A2, còn FIND(“-“,A2)+1 được dùng để tiếp tục tìm lần xuất hiện thứ 2 của dấu gạch ngang.
Nếu muốn tìm vị trí xuất hiện lần thứ ba của dấu gạch ngang, bạn tiếp tục sử dụng cú pháp sau:
=FIND(“-“,A2, FIND(“-“, A2, FIND(“-“,A2)+1) +2)
Cách 2
Ngoài ra, bạn cũng có thể sử dụng CHAR và SUBSTITUTE để tìm vị trí xuất hiện lần thứ n của ký tự nào đó.
Hàm SUBSTITUTE: Được dùng để thay thế cho một chuỗi con cụ thể bằng một chuỗi con khác trong chuỗi 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 bạn 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 mà 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ả các old_text.
Hàm CHAR: Được dùng để 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ự bạn muốn trả về.
Kết hợp các hàm trên với hàm FIND hoặc SEARCH sẽ là:
=FIND(CHAR(1),SUBSTITUTE(A2,”-“,CHAR(1),3))
Trong đó, SUBSTITUTE(A2,”-“,CHAR(1),3) để thay thế cho dấu gạch ngang (-) thứ 3 trong chuỗi của ô A2 với ký tự có mã ASCII là 1. Thay thế thứ 3 này được xác định bởi tham số 3 cuối cùng. Hàm FIND ở đầu tiên được dùng để tìm vị trí của ký tự có mã ASCII là 1 trong chuỗi đã được thay thế bởi SUBSTITUTE. Như vậy, kết quả trả về sẽ cho bạn 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 như 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 chữ 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 để tìm vị trí của dấu đóng ngoặc.
- SEARCH(“(“,A2) sẽ xác định vị trí của dấu mở ngoặc.
- Sau đó, bạn trừ đi 1 con số để không hiển thị cả 2 dấu ngoặc trong kết quả với SEARCH(“)”,A2)-SEARCH(“(“,A2))-1
Như vậy, bài viết trên đã giúp bạn nắm rõ về hàm FIND, hàm SEARCH, sự khác biệt của hai hàm và một số bài tập ví dụ. Hy vọng bài viết sẽ hữu ích và đừng quên để lại câu hỏi bên dưới nếu có bất cứ thắc mắc nào nhé!
Xem thêm:
- Hàm lọc dữ liệu có điều kiện trong Excel và các lỗi thường gặp
- Tổng hợp các cách chuyển Excel sang PDF đơn giản nhất