Với bài viết này, Học Excel Online sẽ hướng dẫn này giải thích cú pháp của hàm FIND và SEARCH và đưa ra các ví dụ về công thức rất hữu ích trong công việc. Nào hãy cùng tìm hiểu nhé.
Xem nhanh
Hàm FIND trong Excel là hàm dò tìm ký tự 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])
Hai đối số đầu tiên là bắt buộc, cuối cùng là tùy chọn.
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 “.
Để sử dụng chính xác công thức FIND – hàm dò tìm ký tự trong excel, hãy ghi nhớ những điều đơn giản sau đây:
Hàm SEARCH trong Excel rất giống với hàm 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ố công thức 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:
Xem ngay: Học Excel nâng cao ở đâu?
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.
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.
Không giống như hàm FIND, hàm SEARCH cho phép sử dụng các ký tự đại diện trong đối số find_text:
Hãy xem nó hoạt động như thế nào trên dữ liệu thực tế:
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.
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ìm một chuỗi trước hoặc theo sau một ký tự nhất định
Ví dụ này cho thấy cách bạn có thể tìm và trích ra 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ự cụ thể.
Giả sử bạn có một cột họ và tên (cột A) và bạn muốn kéo Tên và Họ sang các cột riêng.
Để có được tên, bạn có thể sử dụng hàm FIND (hoặc SEARCH) kết hợp với hàm LEFT:
=LEFT(A2, FIND(” “, A2)-1)
hoặc là
=LEFT(A2, SEARCH(” “, A2)-1)
Hàm Excel LEFT trả về số ký tự bên từ bên trái qua trong một chuỗi. Và bạn sử dụng hàm FIND để xác định vị trí của khoảng trắng (“”) để cho phép LEFT biết được có bao nhiêu ký tự để trích xuất. Tại đó, bạn -1 từ vị trí của khoảng trắng vì bạn không muốn giá trị trả lại gồm cả khoảng trắng.
Để trích xuất phần HỌ, sử dụng kết hợp các hàm RIGHT, FIND / SEARCH và LEN. Hàm LEN để nhận được tổng số ký tự trong chuỗi, từ đó bạn trừ đi vị trí của khoảng trắng:
=RIGHT(A2,LEN(A2)-FIND(” “,A2))
hoặc là
=RIGHT(A2,LEN(A2)-SEARCH(” “,A2))
Ảnh chụp màn hình sau minh họa kết quả:
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)
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.
Ví dụ 3.Trích xuất N ký tự sau một ký tự nhất định
Để tìm một chuỗi phụ có độ dài nhất định trong bất kỳ chuỗi văn bản nào, sử dụng hàm FIND hoặc Excel SEARCH kết hợp với hàm MID.
Trong danh sách các SKU của chúng ta, giả sử bạn muốn tìm 3 ký tự đầu tiên sau dấu gạch đầu tiên và kéo chúng vào một cột khác.
Nếu nhóm các ký tự trước dấu gạch đầu tiên luôn có cùng độ dài (ví dụ: 2 ký tự), đây sẽ là một việc dễ. Bạn có thể sử dụng hàm MID để trả lại 3 ký tự từ một chuỗi, bắt đầu từ vị trí 4 (bỏ qua 2 ký tự đầu tiên và dấu gạch ngang):
=MID(A2, 4, 3)
Công thức thức cho hoạt động như sau: “Tìm trong ô A2, bắt đầu trích xuất từ ký tự 4, và trả về 3 ký tự”.
Tuy nhiên, trong các trang tính thực tế, chuỗi phụ bạn cần trích xuất có thể bắt đầu bất cứ đâu trong chuỗi văn bản. Trong ví dụ của chúng ta, bạn có thể không biết bao nhiêu ký tự đứng trước dấu gạch đầu tiên. Để giải quyết vấn đề này, hãy sử dụng hàm FIND để xác định điểm xuất phát của chuỗi con mà bạn muốn truy xuất.
Công thức FIND để trả lại vị trí của đầu tiên của dấu gạch ngang như sau:
=FIND(“-“,A2)
Bởi vì bạn muốn bắt đầu với ký tự ngay sau dấu gạch ngang, hãy thêm 1 vào giá trị trả về và nhúng hàm ở trên trong đối số thứ hai (start_num) của hàm MID:
=MID(A2, FIND(“-“,A2)+1, 3)
Trong trường hợp này, hàm SEARCH hoạt động tốt:
=MID(A2, SEARCH(“-“,A2)+1, 3)
Thật tuyệt vời, nhưng nếu nhóm các ký tự trước dấu gạch đầu tiên có độ dài khác nhau? đây có thể là một vấn đề:
Như bạn thấy trong ảnh chụp màn hình ở trên, công thức hoạt động hoàn hảo cho hàng 1 và 2. Trong các hàng 4 và 5, nhóm thứ hai chứa 4 ký tự, nhưng chỉ có 3 ký tự đầu tiên được trả về. Trong các hàng 6 và 7, chỉ có 2 ký tự trong nhóm thứ hai và do đó công thức Search của chúng ta trả về một dấu gạch ngang nữa.
Tài liệu hữu ích: Hướng dẫn học Excel cơ bản
Nếu bạn muốn trả về tất cả các ký tự giữa 2 lần xuất hiện của một ký tự nào đó (trong ví dụ này là dấu gạch ngang)? Thì đây là câu trả lời:
=MID(A2, FIND(“-“,A2)+1, FIND(“-“, A2, FIND(“-“,A2)+1) – FIND(“-“,A2)-1)
Để hiểu rõ hơn về công thức MID này, chúng ta hãy xem xét từng phần tử của nó:
Tương tự như vậy, bạn có thể trả lại 3 ký tự sau dấu thứ hai:
=MID(A2, FIND(“-“,A2, FIND(“-“, A2, FIND(“-“,A2)+1) +2), 3)
Hoặc, trích xuất tất cả các ký tự giữa dấu gạch ngang thứ hai và thứ ba :
=MID(A2, FIND(“-“, A2, FIND(“-“,A2)+1)+1, FIND(“-“,A2, FIND(“-“, A2, FIND(“-“,A2)+1) +2) – FIND(“-“, A2, FIND(“-“,A2)+1)-1)
Đăng kí ngay khóa học Word Excel cơ bản
Ví dụ 4. Tìm văn bản giữa các dấu ngoặc đơn
Giả sử bạn có một số chuỗi văn bản dài trong cột A và bạn muốn tìm và trích xuất văn bản nằm trong dấu ngoặc đơn.
Để làm điều này, bạn cần hàm MID để trả về số ký tự mong muốn từ một chuỗi, và cả hàm FIND hoặc SEARCH để xác định vị trí bắt đầu và số ký tự cần trích xuất.
=MID(A2,SEARCH(“(“,A2)+1, SEARCH(“)”,A2)-SEARCH(“(“,A2)-1)
Logic của công thức này tương tự với logic mà chúng ta đã bàn tới trong ví dụ trước. Và cũng như thế, phần phức tạp nhất là đối số cuối cùng cho biết công thức có bao nhiêu ký tự được trả lại. Biểu thức trong đối số num_chars khá dài:
Đương nhiên, không có gì ngăn cản bạn sử dụng hàm FIND thay vì SEARCH, bởi vì không cần quan tâm đến việc phân biệt chữ hoa và thường trong ví dụ này.
Để có thể ứng dụng tốt Excel vào trong công việc, chúng ta không chỉ nắm vững được các hàm mà còn phải sử dụng tốt cả các công cụ của Excel. Những hàm nâng cao giúp áp dụng tốt vào công việc như SUMIFS, COUNTIFS, SUMPRODUCT, INDEX + MATCH… Những công cụ thường sử dụng là Data validation, Conditional formatting, Pivot table…
Toàn bộ những kiến thức này các bạn đều có thể học được trong khóa học Excel cơ bản đến chuyên gia dành cho người đi làm