Các hàm TÌM và TÌM KIẾM trong Excel với các ví dụ về công thức

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn giải thích cú pháp của các hàm TÌM và TÌM KIẾM trong Excel và cung cấp các ví dụ về công thức về các cách sử dụng không tầm thường nâng cao.

Trong bài viết trước, chúng ta đã đề cập đến những điều cơ bản về Excel Hộp thoại Tìm và Thay thế. Tuy nhiên, trong nhiều trường hợp, bạn có thể muốn Excel tự động tìm và trích xuất dữ liệu từ các ô khác dựa trên tiêu chí của bạn. Vì vậy, chúng ta hãy xem xét kỹ hơn những chức năng tìm kiếm của Excel.

    Hàm FIND trong Excel

    Hàm FIND trong Excel được sử dụng để trả về vị trí của một ký tự hoặc chuỗi con cụ thể trong một chuỗi văn bản.

    Cú pháp của hàm Tìm trong Excel như sau:

    FIND(find_text, within_text, [start_num])

    Bắt buộc phải có 2 đối số đầu tiên, cái cuối cùng là tùy chọn.

    • Find_text - ký tự hoặc chuỗi con bạn muốn tìm.
    • Within_text - chuỗi văn bản cần tìm được tìm kiếm bên trong. Thông thường, nó được cung cấp dưới dạng tham chiếu ô, nhưng bạn cũng có thể nhập trực tiếp chuỗi vào công thức.
    • Start_num - một đối số tùy chọn chỉ định ký tự nào sẽ bắt đầu tìm kiếm. Nếu bỏ qua, quá trình tìm kiếm sẽ bắt đầu từ ký tự đầu tiên của chuỗi trong_văn_bản.

    Nếu hàm TÌM không tìm thấy (các) ký tự trong văn bản tìm, thì lỗi #VALUE! lỗi được trả về.

    Ví dụ: công thức =FIND("d", "find") trả về 4 vì "d" là chữ cái thứ 4 trong từ " tìm ". Công thức =FIND("a", "find") một lần nữa, phần phức tạp nhất là đối số cuối cùng cho biết công thức sẽ trả về bao nhiêu ký tự. Biểu thức khá dài đó trong đối số num_chars thực hiện như sau:

    • Đầu tiên, bạn tìm vị trí của dấu ngoặc đơn đóng: SEARCH(")",A2)
    • Sau đó, bạn xác định vị trí của dấu ngoặc đơn mở: SEARCH("(",A2)
    • Sau đó, bạn tính toán sự khác biệt giữa vị trí của dấu ngoặc đơn đóng và mở rồi trừ 1 từ số đó, bởi vì bạn không muốn cả hai dấu ngoặc đơn trong kết quả: SEARCH(")",A2)-SEARCH("(",A2))-1

    Đương nhiên, không có gì ngăn cản bạn sử dụng hàm TÌM trong Excel thay vì TÌM KIẾM, vì phân biệt chữ hoa chữ thường hoặc không phân biệt chữ hoa chữ thường không tạo ra sự khác biệt trong ví dụ này.

    Hy vọng rằng điều này hướng dẫn đã làm sáng tỏ cách sử dụng các hàm TÌM KIẾM và TÌM KIẾM trong Excel. Trong hướng dẫn tiếp theo, chúng ta sẽ kiểm tra kỹ hàm REPLACE, vì vậy hãy chú ý theo dõi. Cảm ơn bạn đã đọc!

    Tải xuống sách bài tập thực hành

    Ví dụ về công thức TÌM và TÌM KIẾM

    trả về lỗi vì không có "a" trong " tìm".

    Hàm TÌM trong Excel - những điều cần nhớ!

    Để sử dụng đúng công thức TÌM trong Excel, hãy ghi nhớ những điều đơn giản sau:

    1. Hàm TÌM phân biệt chữ hoa chữ thường . Nếu bạn đang tìm kiếm đối sánh không phân biệt chữ hoa chữ thường, hãy sử dụng hàm SEARCH.
    2. Hàm FIND trong Excel không cho phép sử dụng ký tự đại diện .
    3. Nếu đối số văn bản tìm kiếm 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" ở chữ cái thứ 2 trong từ "happy".
    4. Nếu within_text chứa một số lần xuất hiện của find_text, lần xuất hiện đầu tiên được trả về. Ví dụ: FIND("l", "hello") trả về 3, là vị trí của ký tự "l" đầu tiên trong từ "hello".
    5. Nếu find_text là chuỗi rỗng "", công thức FIND trong Excel trả về ký tự đầu tiên trong chuỗi tìm kiếm.
    6. Hàm FIND trong Excel trả về #VALUE! lỗi nếu bất kỳ điều nào sau đây xảy ra:
      • Find_text không tồn tại trong within_text.
      • Start_num chứa nhiều ký tự hơn trong within_text.
      • Start_num là 0 (không) hoặc một số âm.

    Hàm TÌM KIẾM trong Excel

    Hàm TÌM KIẾM trong Excel rất giống với TÌM ở chỗ nó cũng trả về vị trí của một chuỗi con trong một chữsợi dây. Cú pháp và đối số có giống với cú pháp của hàm TÌM:

    SEARCH(text_text, within_text, [start_num])

    Không giống như hàm TÌM KIẾM, hàm TÌM KIẾM phân biệt chữ hoa chữ thường và nó cho phép sử dụng các ký tự đại diện , như được minh họa trong ví dụ sau.

    Và đây là một vài công thức TÌM KIẾM cơ bản của Excel:

    =SEARCH("market", "supermarket") trả về 6 vì chuỗi con "thị trường" bắt đầu ở ký tự thứ 6 của từ "siêu thị" .

    =SEARCH("e", "Excel") trả về 1 vì "e" là ký tự đầu tiên trong từ "Excel", bỏ qua trường hợp này.

    Giống như TÌM, hàm TÌM KIẾM của Excel trả về lỗi #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 trong_văn bản.
    • Số_bắt đầu bằng hoặc nhỏ hơn 0.

    Hơn nữa trong hướng dẫn này, bạn sẽ tìm thấy một vài ví dụ công thức có ý nghĩa hơn minh họa cách sử dụng hàm TÌM KIẾM trong trang tính Excel.

    TÌM trong Excel so với TÌM KIẾM trong Excel

    Như đã đề cập, các hàm TÌM và TÌM KIẾM trong Excel rất giống nhau về cú pháp và cách sử dụng. Tuy nhiên, chúng có một vài điểm khác biệt.

    1. TÌM phân biệt chữ hoa chữ thường so với TÌM KIẾM không phân biệt chữ hoa chữ thường

    Sự khác biệt cơ bản nhất giữa hàm TÌM KIẾM và hàm TÌM trong Excel là TÌM KIẾM không phân biệt chữ hoa chữ thường trong khi TÌM không phân biệt chữ hoa chữ thường.

    Ví dụ: , SEARCH("e", "Excel") trả về 1 vì nó bỏ quatrường hợp của "E", trong khi FIND("e", "Excel") trả về 4 vì nó lưu ý trường hợp này.

    2. Tìm kiếm bằng các ký tự đại diện

    Không giống như TÌM, hàm TÌM KIẾM trong Excel chấp nhận các ký tự đại diện trong đối số văn bản tìm kiếm:

    • Dấu chấm hỏi (?) khớp với một ký tự và
    • Dấu hoa thị (*) khớp với bất kỳ chuỗi ký tự nào.

    Để xem cách hoạt động của dấu hoa thị trên dữ liệu thực, hãy xem xét ví dụ sau:

    Như bạn thấy trong ảnh chụp màn hình ở trên, công thức SEARCH("function*2013", A2) trả về vị trí của ký tự đầu tiên ("f") trong chuỗi con nếu chuỗi văn bản được tham chiếu trong đối số within_text chứa cả "hàm" và "2013", bất kể có bao nhiêu ký tự khác ở giữa.

    Mẹo. Để tìm dấu chấm hỏi (?) hoặc dấu hoa thị (*) thực sự, hãy nhập dấu ngã (~) trước ký tự tương ứng.

    Các ví dụ về công thức TÌM và TÌM KIẾM trong Excel

    Trong thực tế, các hàm TÌM và TÌM KIẾM trong Excel hiếm khi được sử dụng riêng lẻ. 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à các ví dụ về công thức sau đây minh họa một số cách sử dụng thực tế.

    Ví dụ 1. Tìm một chuỗi đứng trước hoặc sau một ký tự đã cho

    Ví dụ này cho thấy cách bạn có thể tìm và trích xuất tất cả các ký tự trong chuỗi văn bản ở bên trái hoặc bên phải của một ký tự cụ thể. Để làm cho mọi thứ dễ hiểu hơn, hãy xem xétví dụ sau.

    Giả sử bạn có một cột tên (cột A) và bạn muốn tách Tên và Họ thành các cột riêng biệt.

    Để lấy tên, bạn có thể sử dụng TÌM (hoặc TÌM KIẾM) kết hợp với hàm LEFT:

    =LEFT(A2, FIND(" ", A2)-1)

    hoặc

    =LEFT(A2, SEARCH(" ", A2)-1)

    Như bạn có thể biết, hàm LEFT trong Excel trả về số lượng ký tự ngoài cùng bên trái được chỉ định 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 hàm LEFT biết cần trích xuất bao nhiêu ký tự. Khi đó, bạn trừ 1 khỏi vị trí của khoảng trắng vì bạn không muốn giá trị trả về bao gồm khoảng trắng.

    Để trích xuất họ, hãy sử dụng kết hợp các hàm RIGHT, FIND / SEARCH và LEN. Cần có hàm LEN để lấy 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

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Ảnh chụp màn hình sau đây minh họa kết quả:

    Đối với các tình huống phức tạp hơn, chẳng hạn như trích xuất tên đệm hoặc tách tên bằng hậu tố, vui lòng xem Cách tách ô trong Excel sử dụng công thức.

    Ví dụ 2. Tìm lần xuất hiện thứ N của một ký tự đã cho trong 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 như danh sách SKU và bạn muốn tìm vị trí của dấu gạch ngang thứ 2 trong một chuỗi. Công thức sau đây hoạt động hiệu quả:

    =FIND("-", A2, FIND("-",A2)+1)

    Hai công thức đầu tiêncác đối số rất dễ diễn giải: tìm dấu gạch ngang ("-") trong ô A2. Trong đối số thứ ba (start_num), bạn nhúng một hàm FIND khác để yêu cầu Excel bắt đầu tìm kiếm bắt đầu bằng ký tự xuất hiện ngay sau lần xuất hiện đầu tiên của dấu gạch ngang (FIND("-",A2)+1).

    Để trả về 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ị được trả về:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Một cách khác và có lẽ là đơn giản hơn để tìm lần xuất hiện thứ N của một ký tự nhất định là sử dụng hàm FIND trong Excel 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 bạn muốn tìm.

    Trong công thức trên, hàm SUBSTITUTE thay thế lần xuất hiện thứ 3 của dấu gạch ngang ("-") bằng CHAR( 1), là ký tự "Bắt đầu tiêu đề" không in được 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 nào khác từ 1 đến 31. Sau đó, hàm TÌM trả về vị trí của ký tự đó trong chuỗi văn bản. Vì vậy, công thức chung như sau:

    FIND(CHAR(1),SUBSTITUTE( ô , ký tự ,CHAR(1), Lần xuất hiện thứ N ))

    Thoạt nhìn, có vẻ như các công thức trên có ít giá trị thực tế, nhưng ví dụ tiếp theo sẽ cho thấy mức độ hữu ích của chúng trong việc giải quyết các nhiệm vụ thực tế.

    Lưu ý. Hãy nhớ rằng Excel TÌMchức năng phân biệt chữ hoa chữ thường. Trong ví dụ của chúng tôi, điều này không có gì 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 khớp phân biệt chữ hoa chữ thường , hãy sử dụng hàm TÌM KIẾM thay vì TÌM.

    Ví dụ 3. Trích xuất N ký tự theo sau một ký tự nhất định

    Để xác định vị trí chuỗi con có độ dài nhất định trong bất kỳ chuỗi văn bản nào, hãy sử dụng Excel FIND hoặc Excel SEARCH kết hợp với hàm MID. Ví dụ sau minh họa cách bạn có thể sử dụng các công thức như vậy trong thực tế.

    Trong danh sách SKU của chúng tôi, giả sử bạn muốn tìm 3 ký tự đầu tiên sau dấu gạch ngang đầu tiên và kéo chúng vào một cột khác.

    Nếu nhóm ký tự trước dấu gạch ngang đầu tiên luôn chứa cùng một số mục (ví dụ: 2 ký tự) thì đây sẽ là một nhiệm vụ tầm thường. Bạn có thể sử dụng hàm MID để trả về 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 dịch sang tiếng Anh, công thức cho biết: "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 con bạn cần trích xuất có thể bắt đầu ở bất kỳ đâu trong chuỗi văn bản. Trong ví dụ của chúng tôi, bạn có thể không biết có bao nhiêu ký tự đứng trước dấu gạch ngang đầu tiên. Để đối phó với thử thách này, hãy sử dụng hàm FIND để xác định điểm bắt đầu của chuỗi con mà bạn muốn truy xuất.

    Công thức FIND để trả vềvị trí của dấu gạch ngang thứ nhất như sau:

    =FIND("-",A2)

    Vì bạn muốn bắt đầu bằng ký tự theo sau dấu gạch ngang, hãy thêm 1 vào giá trị được trả về và nhúng hàm trên vào đố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 TÌM KIẾM của Excel hoạt động tốt như nhau:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Thật tuyệt, nhưng nếu nhóm ký tự theo sau dấu gạch ngang đầu tiên chứa một số lượng ký tự khác thì sao? Hmm... đâ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. Ở hàng 4 và 5, công thức nhóm thứ hai chứa 4 ký tự, nhưng chỉ 3 ký tự đầu tiên được trả về. Ở hàng 6 và 7, chỉ có 2 ký tự trong nhóm thứ hai và do đó, công thức Tìm kiếm trong Excel của chúng tôi trả về một dấu gạch ngang theo sau chúng.

    Nếu bạn muốn trả về tất cả các ký tự giữa lần xuất hiện đầu tiên và thứ 2 của một ký tự nhất định (dấu gạch ngang trong ví dụ này), bạn sẽ tiếp tục như thế nào? Đâ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, hãy xem xét từng đối số của nó:

    • đối số thứ nhất (văn bản). Đó là chuỗi văn bản chứa các ký tự mà bạn muốn trích xuất, ô A2 trong ví dụ này.
    • Đối số thứ 2 (vị trí_bắt đầu). Chỉ định vị trí của ký tự đầu tiên bạn muốn trích xuất. Bạn sử dụng hàm FIND để tìm dấu gạch ngang đầu tiên trong chuỗi và thêm 1 vàogiá trị đó vì bạn muốn bắt đầu bằng ký tự theo sau dấu gạch ngang: FIND("-",A2)+1.
    • Đối số thứ 3 (num_chars). Chỉ định số lượng ký tự bạn muốn trả về. Trong công thức của chúng tôi, đây là phần khó nhất. Bạn sử dụng hai hàm TÌM (hoặc TÌM KIẾM), một hàm xác định vị trí của dấu gạch ngang đầu tiên: TÌM("-",A2). Và cái kia trả về vị trí của dấu gạch ngang thứ hai: FIND("-", A2, FIND("-",A2)+1). Sau đó, bạn trừ cái trước khỏi cái sau, rồi trừ 1 vì bạn không muốn bao gồm một trong hai dấu gạch ngang. Kết quả là bạn sẽ nhận được số ký tự nằm giữa dấu gạch ngang thứ 1 và thứ 2, đây chính là thứ mà chúng tôi đang tìm kiếm. Vì vậy, bạn cung cấp giá trị đó cho đối số num_chars của hàm MID.

    Theo cách tương tự, bạn có thể trả về 3 ký tự sau dấu gạch ngang thứ 2:

    =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ứ 2 và thứ 3:

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    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 chỉ muốn tìm và trích xuất văn bản nằm trong (dấu ngoặc đơn).

    Để thực hiện việc này, bạn cần có hàm MID để trả về số lượng ký tự mong muốn từ một chuỗi và hàm TÌM hoặc TÌM KIẾM của Excel để xác định vị trí bắt đầu và số lượng 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ự như logic mà chúng ta đã thảo luận trong phần trước thí dụ. Và

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.