Excel hỗ trợ 2 hàm tìm kiếm là FIND và SEARCH, nếu bạn chưa nắm rõ được cách dùng 2 hàm này thì đây là bài viết giành cho bạn. Cùng thủ thuật vn tìm hiểu về hàm FIND và SEARCH trong Excel nhờ các ví dụ minh họa dưới đây nhé.
HÀM FIND trong Excel
Hàm FIND trong Excel được sử dụng để trả lại vị trí của một ký tự hay chuỗi phụ trong một chuỗi văn bản.
Cú pháp của hàm Find như sau:
FIND (find_text, within_text, [start_num])
Trong đó
- Hai đối số đầu tiên là bắt buộc, cuối cùng là tùy chọn.
- Find_text – ký tự hoặc chuỗi phụ bạn muốn tìm.
- Within_text – chuỗi văn bản được tìm kiếm. Thông thường nó được xem như một ô tham chiếu, nhưng bạn cũng có thể gõ chuỗi trực tiếp vào công thức.
- Start_num – một đối số tùy chọn xác định vị trí của ký tự mà bạn bắt đầu tìm kiếm. Nếu không nhập, Excel sẽ tìm kiếm bắt đầu từ ký tự thứ nhất của chuỗi Within_text.
Nếu hàm FIND không tìm thấy ký tự find_text, Excel sẽ trả về lỗi #VALUE!.
Ví dụ
Công thức =FIND("d","find") trả về 4 vì “d” là ký tự thứ 4 trong từ ” find “. Công thức =FIND("A","Find") trả về lỗi vì không có “a” trong ” find “.
Những điều cần nhớ khi sử dụng FIND
Để sử dụng chính xác công thức FIND trong Excel, hãy ghi nhớ những điều đơn giản sau đây:
- Hàm FIND phân biệt chữ hoa chữ thường .
- Hàm FIND trong Excel không cho phép sử dụng ký tự thay thế .
- Nếu đối số find_text chứa nhiều ký tự, hàm FIND sẽ trả về vị trí của ký tự đầu tiên . Ví dụ, công thức FIND (“ap”, “happy”) trả về 2 vì “a” là ký tự thứ hai trong từ ” happy”.
- Nếu trong phần within_text chứa nhiều lần xuất hiện của tệp tin find_text, lần xuất hiện đầu tiên sẽ được trả về. Ví dụ, FIND (“l”, “hello”) trả về 3, là vị trí của chữ “l” đầu tiên trong từ “hello”.
- Nếu find_text là một chuỗi trống “”, công thức FIND Excel trả về ký tự đầu tiên trong chuỗi tìm kiếm.
- Hàm FIND của Excel trả về #VALUE! nếu xảy ra bất kỳ trường hợp nào sau đây:
- Find_text không tồn tại trong within_text.
- Start_num chứa nhiều ký tự hơn within_text.
- Start_num là 0 (không) hoặc một số âm.
Hàm search trong excel
Hàm SEARCH trong Excel rất giống với FIND ở chỗ nó cũng trả về vị trí của một chuỗi phụ trong một chuỗi văn bản. Cú pháp và các đối số cũng tương tự như FIND:
SEARCH (find_text, within_text, [start_num])
Không giống như FIND, hàm Search không phân biệt chữ hoa chữ thường và cho phép sử dụng các ký tự thay thế.
Dưới đây là một số ví dụ cơ bản của SEARCH:
=SEARCH(“market”, “supermarket”) Trả về 6 vì chuỗi “market ” bắt đầu từ ký tự thứ 6 của từ “supermarket”.
=SEARCH(“e”, “Excel”) Trả về 1 vì “e” là ký tự đầu tiên trong từ “Excel”, bất kể E hoa.
Giống như FIND, hàm SEARCH của Excel trả về #VALUE! Lỗi nếu:
- Không tìm thấy giá trị của đối số find_text.
- Đối số start_num lớn hơn độ dài của within_text.
- Start_num bằng hoặc nhỏ hơn 0 (không).
- Excel SEARCH function
So sánh FIND và SEARCH
Như đã đề cập, hàm FIND và SEARCH trong Excel rất giống nhau về cú pháp và cách sử dụng. Tuy nhiên, chúng cũng có một vài sự khác biệt.
- FIND phân biệt chữ Hoa, SEARCH không phân biệt chữ hoa. Sự khác biệt cơ bản nhất giữa hàm SEARCH và FIND là SEARCH là không phân biệt chữ hoa chữ thường, trong khi FIND phân biệt chữ hoa chữ thường.
- Ví dụ, SEARCH (“e”, “Excel”) trả về 1 vì nó nhận “E” hoa , trong khi FIND (“e”, “Excel”) trả về 4 vì nó phân biệt E và e.
- Search với ký tự thay thế: Không giống như FIND, hàm SEARCH cho phép sử dụng các ký tự đại diện trong đối số find_text:
- Dấu chấm hỏi (?) thay cho một ký tự, và
- Dấu hoa thị (*) thay cho bất kỳ chuỗi ký tự nào.
Ví dụ:
Như bạn thấy trong ảnh chụp màn hình ở trên, công thức SEARCH (“functio*2013”, A2) trả về vị trí của ký tự đầu tiên (“f”) trong chuỗi phụ nếu chuỗi văn bản được đề cập trong within_text có chứa cả “function ” Và “2013”, bất kể có bao nhiêu ký tự khác ở giữa.
Mẹo. Để thực sự tìm một dấu hỏi (?) hoặc dấu sao (*), gõ một dấu ngã (~) trước ký tự tương ứng.
Ví dụ minh hoa cách sử dụng FIND và Search
Trong thực tế, các hàm FIND và SEARCH hiếm khi được sử dụng. Thông thường, bạn sẽ sử dụng chúng kết hợp với các hàm khác như MID, LEFT hoặc RIGHT,
Ví dụ 1. Tách họ và tên ra khỏi chuỗi họ và tên
Cắt lấy phần Tên Lót + Tên trước sau đó cắt tiếp tên riêng
- Để trích xuất tên lót + tên ta dùng hàm sau:
=TRIM(MID(B9,SEARCH(" ",B9,1),LEN(B9)))
Phân tích
- Sử dụng hàm mid để trích xuất 1 chuỗi từ chuỗi họ và tên kể từ vị trí xuất hiện dấu cách đầu tiên, số ký tự cắt lấy luôn chiều dài của chuỗi
- Ví dụ chuỗi Trương Tam Phong sử dụng làm MID cắt được chuỗi Tam Phong.
- Sau đó sử dụng hàm TRIM để cắt kí tự trắng thừa ở chuỗi Tam Phong.
Tiếp tục sử dụng làm MID để lấy Tên từ chuỗi Tên lót + Tên
=TRIM(MID(D9,SEARCH(" ",D9,1),LEN(D9)))
Sử dụng hàm MID để cắt lấy phần Tên lót ở chuỗi Tên lót + Tên
=TRIM(MID(B4,1,SEARCH(" ",B4,1)))
Phân tích:
- Hàm search cho ra vị trí xuất hiện dấu cách trong chuỗi
- Hàm mid cắt chuỗi kể từ vị trí đầu tiên đến vị trí xuất hiện dấu cách
- Hàm Trim loại bỏ khoảng trắng thừa của chuỗi
Sử dụng hàm MID để trích xuất Họ từ chuỗi Họ và tên
=TRIM(MID(B4,1,SEARCH(" ",B4,1)))
Phân tích:
- Hàm search cho ra vị trí xuất hiện dấu cách trong chuỗi
- Hàm mid cắt chuỗi kể từ vị trí đầu tiên đến vị trí xuất hiện dấu cách
- Hàm Trim loại bỏ khoảng trắng thừa của chuỗi
Ví dụ 2. Tìm sự xuất hiện thứ N của một ký tự nhất định trong một chuỗi văn bản
Giả sử bạn có một số chuỗi văn bản trong cột A, chẳng hạn một danh sách SKU, và bạn muốn tìm vị trí của dấu gạch thứ hai (-) trong một chuỗi. Ta có công thức sau đây:
=FIND(“-“, A2, FIND(“-“,A2)+1)
Hai đối số đầu tiên xác định dấu gạch ngang (“-“) trong ô A2. Số thứ ba (start_num), bạn nhúng một hàm FIND để Excel để bắt đầu tìm kiếm từ Lần thứ 2 xuất hiện của dấu gạch ngang (FIND ( “-“, A2) +1).
Để trả lại vị trí của lần xuất hiện thứ 3 , bạn nhúng công thức trên vào đối số start_num của một hàm FIND khác và thêm 2 vào giá trị trả về:
=FIND(“-“,A2, FIND(“-“, A2, FIND(“-“,A2)+1) +2)
FIND formulas to find the position of 2nd and 3rd occurrences of a specific character in a string
Một cách khác và có thể là một cách đơn giản hơn để tìm sự xuất hiện thứ N của một ký tự nhất định là sử dụng hàm FIND kết hợp với CHAR và SUBSTITUTE:
=FIND(CHAR(1),SUBSTITUTE(A2,”-“,CHAR(1),3))
Trong đó “-” là ký tự được đề cập và “3” là lần xuất hiện thứ N mà bạn muốn tìm.
Trong công thức trên, hàm SUBSTITUTE sẽ thay thế lần xuất hiện thứ 3 của dấu gạch (“-“) với CHAR (1), là ký tự “Bắt đầu của Tiêu đề” không bắt buộc ký tự trong hệ thống ASCII. Thay vì CHAR (1), bạn có thể sử dụng bất kỳ ký tự không in được khác từ 1 đến 31. Và sau đó, hàm FIND trả về vị trí của ký tự đó trong chuỗi văn bản. Vì vậy, công thức chung là như sau:
= FIND (CHAR (1), SUBSTITUTE ( ô , ký tự , CHAR (1), lần thứ N xảy ra )
Thoạt nhìn, có vẻ như các công thức trên ít có giá trị thực tiễn, nhưng ví dụ tiếp theo sẽ cho thấy sự hữu ích của chúng trong việc giải quyết các công việc thực sự.
Chú ý. Hãy nhớ rằng hàm FIND phân biệt chữ hoa chữ thường. Trong ví dụ của chúng ta, điều này không có sự khác biệt, nhưng nếu bạn đang làm việc với các chữ cái và bạn muốn một chúng không phân biệt chữ hoa chữ thường , hãy sử dụng hàm SEARCH thay vì FIND.