=SEARCH("apple",A2) trả về vị trí bắt đầu của apple trong A2, đếm từ 1, và không phân biệt chữ hoa chữ thường. =FIND("apple",A2) làm điều tương tự nhưng chỉ khớp khi đúng hoa thường. Khi không có văn bản đó, cả hai đều trả về #VALUE!.
| A | B | C | |
|---|---|---|---|
| 1 | Text | FIND("apple") | SEARCH("apple") |
| 2 | Apple pie | #VALUE! | 1 |
| 3 | Green apple | 7 | 7 |
| 4 | Banana bread | #VALUE! | #VALUE! |
#VALUE! Một đối số sai kiểu, chẳng hạn văn bản ở chỗ cần số.Apple pie bắt đầu bằng chữ A hoa, nên FIND không khớp và trả về #VALUE!, còn SEARCH trả về 1. Trong Green apple, cả hai đều trả về 7: dấu cách cũng được tính là một ký tự. Banana bread hoàn toàn không có apple.
Cú pháp
=FIND(find_text, within_text, [start_num])
=SEARCH(find_text, within_text, [start_num])
find_text: thứ cần tìm. Một ký tự hoặc một từ.within_text: ô cần tìm trong đó.start_num: vị trí bắt đầu tìm, mặc định là 1 nếu bỏ trống. Kết quả vẫn được đếm từ ký tự đầu tiên của ô.
Kiểm tra ô có chứa văn bản
Bản thân vị trí hiếm khi là thứ bạn cần. Thường câu hỏi là "ô này có chứa từ đó không?". Vị trí là một số còn không tìm thấy là một lỗi, nên ISNUMBER biến kết quả thành TRUE hoặc FALSE:
| A | B | C | |
|---|---|---|---|
| 1 | Note | Contains "late" | Status |
| 2 | Arrived late | TRUE | Check |
| 3 | On time | FALSE | OK |
| 4 | LATE by 2 days | TRUE | Check |
| 5 | Delivered | FALSE | OK |
SEARCH khớp với LATE ở A4 vì nó không phân biệt hoa thường. Lưu ý rằng nó cũng sẽ khớp với latest hay chocolate: SEARCH tìm theo ký tự, không theo nguyên từ. Tìm " late" với một dấu cách ở đầu sẽ thu hẹp phạm vi được một chút. Để đếm có bao nhiêu ô chứa một từ, =COUNTIF(A2:A5,"*late*") ngắn hơn; xem đếm ô chứa văn bản.
| A | B | |
|---|---|---|
| 1 | Subject | Urgent? |
| 2 | URGENT: server down | |
| 3 | Monthly report | |
| 4 | Refund request, urgent |
Đến lượt bạn: Trong B2, trả về TRUE nếu tiêu đề trong A2 chứa từ urgent với kiểu viết hoa bất kỳ, và FALSE nếu không. Công thức được kéo xuống tới B4.
Tìm lần xuất hiện thứ hai
start_num cho phép bạn bắt đầu tìm sau lần khớp đầu tiên. Đặt một hàm FIND bên trong một hàm FIND khác: hàm bên trong tìm dấu gạch ngang đầu tiên, còn hàm bên ngoài bắt đầu từ ký tự ngay sau đó.
| A | B | C | |
|---|---|---|---|
| 1 | Code | First dash | Second dash |
| 2 | NYC-2041-B | 4 | 9 |
| 3 | BOSTON-15-AA | 7 | 10 |
Có hai vị trí đó rồi, MID có thể lấy phần nằm giữa hai dấu gạch ngang: =MID(A2,B2+1,C2-B2-1) trả về 2041.
| A | B | |
|---|---|---|
| 1 | Position | |
| 2 | ana@coddy.tech |
Đến lượt bạn: Trong B2, trả về vị trí của @ trong địa chỉ email.
FIND và SEARCH trả về #VALUE!
Ở đây #VALUE! chỉ có nghĩa là "không tìm thấy". Hãy thay nó bằng thứ gì đó hữu ích:
| A | B | |
|---|---|---|
| 1 | Position of @ | |
| 2 | ana@coddy.tech | 4 |
| 3 | not an email | 0 |
Đừng so sánh kết quả gốc với một số, như =FIND("@",A2)>0: không tìm thấy là một lỗi, và phép so sánh sẽ trả về #VALUE! thay vì FALSE. Hãy kiểm tra bằng ISNUMBER, như ở phần bên trên.
Ký tự đại diện: chỉ có ở SEARCH
SEARCH nhận các ký tự đại diện ? (một ký tự bất kỳ) và * (một chuỗi ký tự bất kỳ). FIND coi chúng là ký tự bình thường. Trong Excel:
=SEARCH("b?d","a bad day") returns 3
=SEARCH("2*B","NYC-2041-B") returns 5
=SEARCH("~?","Why?") returns 4, the tilde means a real question mark
=FIND("?","Why?") returns 4, FIND has no wildcards
Xem thêm về *, ? và ~ trong các hàm Excel ở trang ký tự đại diện.
FIND, SEARCH và Ctrl+F
| FIND | SEARCH | Ctrl+F | |
|---|---|---|---|
| Chữ hoa chữ thường | Phải khớp | Bỏ qua | Bỏ qua, trừ khi đánh dấu Match case |
| Ký tự đại diện | Không | ?, *, ~ | ?, *, ~ |
| Không tìm thấy | #VALUE! | #VALUE! | Một thông báo |
| Kết quả | Một vị trí, tự tính lại | Một vị trí, tự tính lại | Chọn ô đó |
Để tìm một giá trị một lần, Home > Find & Select > Find (Ctrl+F, Cmd+F trên Mac) nhanh hơn dùng công thức. Để đánh dấu hoặc trích xuất trên mọi hàng và luôn được cập nhật, hãy dùng FIND hoặc SEARCH. Chọn FIND khi chữ hoa chữ thường mang ý nghĩa (mã sản phẩm như ab và AB), và SEARCH cho mọi thứ do người dùng gõ.
Câu hỏi thường gặp
FIND và SEARCH trong Excel khác nhau thế nào?
FIND phân biệt chữ hoa chữ thường và không nhận ký tự đại diện. SEARCH không phân biệt hoa thường và nhận ? và *. =FIND("a","Apple") là #VALUE!, còn =SEARCH("a","Apple") là 1.
Làm sao lấy phần văn bản giữa hai dấu gạch ngang trong Excel?
Tìm cả hai dấu gạch ngang rồi lấy phần ở giữa bằng MID: =MID(A2,FIND("-",A2)+1,FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1) trả về 2041 từ NYC-2041-B. Trong Microsoft 365, =TEXTBEFORE(TEXTAFTER(A2,"-"),"-") ngắn hơn.
Vì sao FIND trả về #VALUE!?
Văn bản không có trong ô, hoặc có nhưng khác chữ hoa chữ thường (FIND phân biệt hoa thường). Bọc hàm lại để trả về giá trị khác: =IFERROR(FIND("-",A2),0).
Làm sao tìm lần xuất hiện thứ hai của một ký tự?
Bắt đầu tìm từ ký tự ngay sau lần khớp đầu tiên: =FIND("-",A2,FIND("-",A2)+1). Tham số thứ ba là vị trí bắt đầu tìm.