Bài viết này mô tả cú pháp công thức và cách dùng hàm SEARCH trong Microsoft Excel.
Mô tả
Hàm SEARCH định vị một chuỗi văn bản nằm trong chuỗi văn bản thứ hai và trả về số vị trí bắt đầu của chuỗi văn bản thứ nhất từ ký tự đầu tiên của chuỗi văn bản thứ hai. Ví dụ, để tìm vị trí của chữ "n" trong từ "printer", bạn có thể dùng hàm sau đây:
=SEARCH("n","printer")
Hàm này trả về 4 vì "n" là ký tự thứ tư trong từ "printer."
Bạn cũng có thể tìm kiếm các từ trong những từ khác. Ví dụ, hàm này
=SEARCH("base","database")
trả về 5, vì từ "base" bắt đầu từ ký tự thứ năm của từ "database". Bạn có thể sử dụng hàm SEARCH để xác định vị trí của một ký tự hoặc chuỗi văn bản trong một chuỗi văn bản khác, rồi sử dụng hàm MID để trả về văn bản hoặc sử dụng hàm REPLACE để thay đổi văn bản. Các hàm này được minh họa ở Ví dụ 1 trong bài viết này.
Cú pháp
SEARCH(find_text,within_text,[start_num])
Hàm SEARCH có các đối số sau đây:
-
find_text Bắt buộc. Văn bản bạn muốn tìm.
-
within_text Bắt buộc. Văn bản mà trong đó bạn muốn tìm kiếm giá trị của đối số find_text.
-
start_num Tùy chọn. Số thứ tự của ký tự trong đối số within_text mà từ đó bạn muốn bắt đầu tìm kiếm.
Chú thích
-
Hàm SEARCH không phân biệt chữ hoa chữ thường. Nếu bạn muốn tìm kiếm phân biệt chữ hoa chữ thường, bạn có thể sử dụng hàm FIND.
-
Bạn có thể dùng các ký tự đại diện — dấu chấm hỏi (?) và dấu sao (*) — trong đối số find_text. Một dấu chấm hỏi khớp bất kỳ ký tự đơn nào; một dấu sao phù hợp với bất kỳ chuỗi ký tự nào. Nếu bạn muốn tìm một dấu chấm hỏi hay dấu sao thực, hãy gõ một dấu ngã (~) trước ký tự đó.
-
Nếu không tìm thấy giá trị find_text, trả về giá trị lỗi #VALUE! .
-
Nếu bỏ qua đối số start_num, đối số này được giả định là 1.
-
Nếu start_num không lớn hơn 0 (không) hoặc nếu nó lớn hơn độ dài của đối số within_text, trả về giá trị lỗi #VALUE! .
-
Hãy dùng start_num để bỏ qua số ký tự đã xác định. Dùng hàm SEARCH làm ví dụ, giả sử bạn đang làm việc với chuỗi văn bản "AYF0093.YoungMensApparel". Để tìm vị trí của chữ "Y" đầu tiên trong phần mô tả của chuỗi văn bản, hãy đặt start_num bằng 8 để không tìm kiếm phần số sê-ri (trong trường hợp này là "AYF0093") của văn vản đó. Hàm SEARCH bắt đầu thao tác tìm kiếm ở vị trí ký tự thứ tám, tìm ký tự đã xác định ở đối số find_text tại ví trí tiếp theo và trả về số 9. Hàm SEARCH luôn trả về số ký tự tính từ đầu đối số within_text, bằng cách đếm số ký tự bạn bỏ qua nếu đối số start_num lớn hơn 1.
Ví dụ
Sao chép dữ liệu ví dụ trong bảng sau đây và dán vào ô A1 của một bảng tính Excel mới. Để các công thức hiển thị kết quả, hãy chọn chúng, nhấn F2 và sau đó nhấn Enter. Nếu cần, bạn có thể điều chỉnh độ rộng cột để xem toàn bộ dữ liệu.
Dữ liệu |
||
---|---|---|
Câu lệnh |
||
Profit Margin |
||
lề |
||
The "boss" is here. |
||
Công thức |
Mô tả |
Kết quả |
=SEARCH("e",A2,6) |
Vị trí của chữ "e" đầu tiên trong chuỗi tại ô A2, bắt đầu từ vị trí thứ sáu. |
7 |
=SEARCH(A4,A3) |
Vị trí của "margin" (chuỗi để tìm kiếm nằm ở ô A4) trong "Profit Margin" (ô thực hiện tìm kiếm là A3). |
8 |
=REPLACE(A3,SEARCH(A4,A3),6,"Amount") |
Thay thế "Margin" bằng "Amount" bằng cách trước tiên tìm vị trí của "Margin" tại ô A3, sau đó thay thế ký tự này và năm ký tự tiếp theo bằng chuỗi "Amount". |
Profit Amount |
=MID(A3,SEARCH(" ",A3)+1,4) |
Trả về bốn ký tự đầu tiên tiếp theo ký tự khoảng trắng thứ nhất trong "Profit Margin" (ô A3). |
Marg |
=SEARCH("""",A5) |
Vị trí của dấu ngoặc kép đầu tiên (") tại ô A5. |
5 |
=MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1) |
Chỉ trả về văn bản trong dấu ngoặc kép tại ô A5. |
boss |
Quan trọng:
-
Hàm SEARCHB không được dùng nữa.
-
Trong sổ làm việc được đặt là Tương thích Phiên bản 2, HÀM SEARCH đã cải thiện hành vi với Các cặp Thay thế, tính chúng là một ký tự thay vì hai. Bộ chọn Biến thể (thường được sử dụng với biểu tượng cảm xúc) sẽ vẫn được tính là các ký tự riêng biệt. Đọc thêm tại đây: Tiêu chuẩn Unicode