TÌM KIẾM Fx - Tìm chuỗi con trong chuỗi - Trang tính Excel, VBA & G

Tải xuống Sổ làm việc Ví dụ

Tải xuống sổ làm việc mẫu

Hướng dẫn này trình bày cách sử dụng Hàm TÌM KIẾM trong Excel trong Excel để xác định vị trí của văn bản trong một ô.

Tổng quan về chức năng TÌM KIẾM

Hàm TÌM KIẾM Tìm một ký tự hoặc chuỗi văn bản và trả về vị trí của nó trong ô. Không phân biệt chữ hoa chữ thường.

Để sử dụng hàm TÌM KIẾM Trang tính Excel, hãy chọn một ô và nhập:

(Chú ý cách các đầu vào công thức xuất hiện)

Hàm tìm kiếm Cú pháp và đầu vào:

= TÌM KIẾM (find_text, within_text, start_num)

find_text - Chuỗi văn bản mà bạn muốn tìm.

trong_text - Chuỗi văn bản gốc.

start_num - KHÔNG BẮT BUỘC. Số ký tự để bắt đầu tìm kiếm. Lưu ý: Điều này chỉ thay đổi phạm vi tìm kiếm, nó sẽ không ảnh hưởng đến số được trả về khi tìm thấy kết quả phù hợp. Ví dụ: tìm kiếm “s” trong chuỗi “sun” sẽ trả về 1 theo mặc định, nhưng nếu start_num được đặt thành 2, nó sẽ trả về 4.

Chức năng TÌM KIẾM là gì?

Hàm TÌM KIẾM trong Excel “tìm kiếm” một chuỗi văn bản trong một chuỗi khác. Nếu văn bản được tìm thấy, SEARCH trả về vị trí số của chuỗi.

TÌM KIẾM KHÔNG phân biệt chữ hoa chữ thường. Điều này có nghĩa là "văn bản" sẽ khớp với "TEXT". Để tìm kiếm văn bản có phân biệt chữ hoa chữ thường, hãy sử dụng Hàm FIND <>.

Cách sử dụng hàm TÌM KIẾM

Hàm TÌM KIẾM trong Excel hoạt động theo cách sau:

= TÌM KIẾM ("e", "voi")

Ở đây, Excel sẽ trả về 1, vì “e” là ký tự đầu tiên trong “voi”.

Dưới đây là một vài ví dụ khác.

Số bắt đầu (start_num)

Theo tùy chọn, bạn có thể xác định Số bắt đầu (start_num). start_num cho hàm SEARCH biết nơi bắt đầu tìm kiếm. Nếu bạn để trống, tìm kiếm sẽ bắt đầu ở ký tự đầu tiên.

= TÌM KIẾM (B3, C3)

Bây giờ, hãy đặt start_num thành 2, có nghĩa là TÌM KIẾM sẽ bắt đầu tìm kiếm từ ký tự thứ hai.

= TÌM KIẾM (B3, C3, D3)

Trong trường hợp này, SEARCH trả về 3: vị trí của chữ “e” thứ hai.

Quan trọng: start_num không ảnh hưởng đến giá trị trả về, TÌM KIẾM sẽ luôn bắt đầu đếm với ký tự đầu tiên.

Lỗi số bắt đầu (start_num)

Nếu bạn sử dụng một số bắt đầu, hãy đảm bảo rằng đó là một số nguyên dương, nhỏ hơn độ dài của chuỗi bạn muốn tìm kiếm, nếu không bạn sẽ gặp lỗi. Bạn cũng sẽ gặp lỗi nếu chuyển một ô trống làm số bắt đầu:

= TÌM KIẾM (B3, C3, D3)

Tìm kiếm không thành công Trả về lỗi #VALUE! Lỗi

Nếu SEARCH không thể tìm thấy giá trị tìm kiếm, Excel sẽ trả về lỗi #VALUE! lỗi.

Tìm kiếm phân biệt chữ hoa chữ thường

Ví dụ dưới đây chứng minh rằng hàm SEARCH không phân biệt chữ hoa chữ thường. Chúng tôi đã tìm kiếm “abc”, nhưng SEARCH trả về 1, vì nó khớp với “ABC”.

Tìm kiếm ký tự đại diện

Bạn có thể sử dụng các ký tự đại diện với TÌM KIẾM, cho phép bạn tìm kiếm các ký tự không xác định.

Dấu chấm hỏi trong văn bản tìm kiếm của bạn có nghĩa là “bất kỳ ký tự nào”. Vì vậy, “? 000” trong ví dụ dưới đây có nghĩa là “Tìm kiếm bất kỳ ký tự nào theo sau bởi ba số 0”.

Dấu hoa thị có nghĩa là “bất kỳ số ký tự không xác định nào”. Ở đây chúng tôi đang tìm kiếm “1 * C” và SEARCH trả về 2 vì nó khớp với “1-ABC”.

Trong ví dụ tiếp theo, chúng tôi đang tìm kiếm “000?” - nghĩa là, “000” được theo sau bởi bất kỳ ký tự nào. Chúng tôi có "000", nhưng nó nằm ở cuối chuỗi và do đó không có bất kỳ ký tự nào theo sau, vì vậy chúng tôi gặp lỗi

Tuy nhiên, nếu chúng tôi sử dụng dấu hoa thị thay vì dấu chấm hỏi - vì vậy “000 *” thay vì “000?”, Chúng tôi nhận được một kết quả phù hợp. Điều này là do dấu hoa thị có nghĩa là “bất kỳ số ký tự nào” - không bao gồm ký tự nào.

Cách tách Họ và Tên khỏi một ô bằng TÌM KIẾM

Nếu bạn có họ và tên trong cùng một ô và bạn muốn đặt cho mỗi ô một ô, bạn có thể sử dụng TÌM KIẾM cho điều đó - nhưng bạn cũng sẽ cần sử dụng một vài hàm khác.

Lấy tên

Hàm LEFT Excel trả về một số ký tự nhất định từ một chuỗi, bắt đầu từ bên trái.

Nếu chúng ta sử dụng TÌM KIẾM để trả về vị trí của khoảng trắng giữa họ và tên, trừ đi 1 từ đó, chúng ta biết tên đầu tiên dài bao nhiêu. Sau đó, chúng ta có thể chuyển nó sang LEFT.

Công thức tên đầu tiên là:

= LEFT (B3, TÌM KIẾM (““, B3) -1)

Lấy họ

Hàm RIGHT Excel trả về một số ký tự nhất định từ bên phải của một chuỗi.

Để nhận được một số ký tự bằng độ dài của họ, chúng ta sử dụng TÌM KIẾM để cho chúng ta biết vị trí của khoảng trắng, sau đó trừ số đó ra khỏi độ dài tổng thể của chuỗi - mà chúng ta có thể nhận được với LEN.

Công thức tên cuối cùng là:

= RIGHT (B3, LEN (B3) -SEARCH (““, B3))

Lưu ý rằng nếu dữ liệu tên của bạn chứa tên đệm, tên đệm sẽ được tách thành ô "Họ".

Sử dụng TÌM KIẾM để trả về ký tự thứ n trong một chuỗi

Như đã lưu ý ở trên, TÌM KIẾM trả về vị trí của kết quả phù hợp đầu tiên mà nó tìm thấy. Nhưng bằng cách kết hợp nó với CHAR và SUBSTITUTE, chúng ta có thể sử dụng nó để xác định các lần xuất hiện sau này của một ký tự, chẳng hạn như trường hợp thứ hai hoặc thứ ba.

Đây là công thức:

= TÌM KIẾM (CHAR (134), SUBSTITUTE (D3, C3, CHAR (134), B3))

Thoạt đầu, nó có thể hơi phức tạp, vì vậy hãy chia nhỏ nó ra:

  • Chúng tôi đang sử dụng SEARCH và chuỗi chúng tôi đang tìm kiếm là “CHAR (134)”. CHAR trả về một ký tự dựa trên mã ASCII của nó. CHAR (134) là một biểu tượng con dao găm - bạn có thể sử dụng bất kỳ thứ gì ở đây miễn là nó không xuất hiện trong chuỗi thực của bạn.
  • SUBSTITUTE đi qua một chuỗi và thay thế một ký tự hoặc chuỗi con cho một ký tự khác. Ở đây, chúng tôi đang thay thế chuỗi chúng tôi muốn tìm (ở C3) bằng CHAR (134). Lý do điều này hoạt động, là tham số thứ tư của SUBSTITUTE là số phiên bản mà chúng tôi đã lưu trữ trong B3.
  • Vì vậy, SUBSTITUTE hoán đổi ký tự thứ n trong chuỗi cho biểu tượng con dao găm, và sau đó SEARCH trả về vị trí của nó.

Đây là những gì nó trông như thế nào:

Tìm phần giữa của chuỗi

Hãy tưởng tượng bạn có nhiều số sê-ri với định dạng sau:

AB1XCDC-1BB / BB99

Bạn đã được yêu cầu kéo ra phần giữa của mỗi cái. Thay vì làm điều này bằng tay, bạn có thể kết hợp TÌM KIẾM với MID để tự động hóa tác vụ này.

Hàm MID Excel trả về một phần của chuỗi. Đầu vào của nó là một chuỗi văn bản, một điểm bắt đầu và một số ký tự.

Vì điểm bắt đầu chúng ta muốn là ký tự sau dấu gạch nối, chúng ta có thể sử dụng TÌM KIẾM để lấy vị trí của dấu gạch ngang và thêm 1 vào đó. Nếu số sê-ri ở B3, chúng tôi sẽ sử dụng:

= TÌM KIẾM ("-", B3) +1

Để có số ký tự mà chúng tôi muốn lấy ra từ đây, chúng tôi có thể sử dụng tìm kiếm để lấy vị trí của dấu gạch chéo lên, trừ đi vị trí của dấu gạch ngang, sau đó trừ đi 1 để đảm bảo chúng tôi không trả lại chính dấu gạch chéo:

= TÌM KIẾM ("/", B3) -SEARCH ("-", B3) -1

Sau đó, chúng tôi chỉ cần cắm hai công thức này vào MID:

TÌM KIẾM Vs TÌM

SEARCH và FIND là các chức năng tương tự. Cả hai đều trả về vị trí của một ký tự hoặc chuỗi con đã cho trong một chuỗi khác. Tuy nhiên, có hai điểm khác biệt chính:

  • FIND phân biệt chữ hoa chữ thường nhưng SEARCH thì không
  • FIND không cho phép ký tự đại diện, nhưng SEARCH thì có

Bạn có thể xem một vài ví dụ về những khác biệt này bên dưới:

TÌM KIẾM trong Google Trang tính

Hàm TÌM KIẾM hoạt động hoàn toàn giống trong Google Trang tính cũng như trong Excel:

Ghi chú bổ sung

Hàm TÌM KIẾM là một phiên bản không phân biệt chữ hoa chữ thường của Hàm TÌM KIẾM. TÌM KIẾM cũng hỗ trợ các ký tự đại diện. Tìm không thấy.

TÌM KIẾM Ví dụ trong VBA

Bạn cũng có thể sử dụng chức năng TÌM KIẾM trong VBA. Kiểu:
application.worksheet Chức năng.search (find_text, within_text, start_num)
Đối với các đối số của hàm (find_text, v.v.), bạn có thể nhập chúng trực tiếp vào hàm hoặc xác định các biến để sử dụng thay thế.

Quay lại danh sách tất cả các hàm trong Excel

wave wave wave wave wave