SEARCH
SEARCH(chuỗi_con, chuỗi, [từ_vị_trí])Tìm vị trí của một chuỗi con, không phân biệt hoa thường và chấp nhận ký tự đại diện. Trong thực tế hay dùng chung với ISNUMBER để làm cột phân loại kiểu "tên hàng có chứa chữ này thì xếp nhóm kia".
Các đối số
| Đối số | Bắt buộc? | Ý nghĩa |
|---|---|---|
| chuỗi_con | Bắt buộc | Phần cần tìm. Dấu ? thay một ký tự bất kỳ, dấu * thay bao nhiêu ký tự cũng được. |
| chuỗi | Bắt buộc | Chuỗi bị đem ra dò. |
| từ_vị_trí | Tuỳ chọn | Bắt đầu dò từ ký tự thứ mấy, mặc định là 1. |
Trả về gì
Vị trí ký tự đầu tiên khớp, đếm từ 1. Không thấy thì ra #VALUE!.
Ví dụ
=ISNUMBER(SEARCH("hà nội", C2))Địa chỉ khách có chứa Hà Nội hay không, viết hoa thường kiểu gì cũng bắt được
Kết quả: TRUE
=IF(ISNUMBER(SEARCH("thép", B2)), "Vật tư", "Khác")Phân nhóm mặt hàng theo một từ khoá trong tên hàng
Kết quả: Vật tư
=SEARCH("?-", A2)Tìm chỗ có đúng một ký tự rồi tới dấu gạch
Kết quả: 2
Lưu ý khi dùng
- Bọc ISNUMBER là cách dùng phổ biến nhất: nó biến kết quả thành TRUE/FALSE, khỏi phải lo #VALUE! ở những dòng không chứa.
- SEARCH tìm theo chuỗi con nên từ ngắn dính vào từ dài: tìm "HN" sẽ khớp cả trong "KHNK". Từ khoá quá ngắn thì thêm dấu ngăn vào hai đầu cho chắc.
Bẫy hay dính
Mã hàng hoặc tên hàng có chứa dấu * hoặc dấu ? thật: SEARCH hiểu chúng là ký tự đại diện nên khớp bừa vào những dòng không hề chứa mã đó, cột phân loại vẫn đầy TRUE trông rất thuyết phục. Chữa bằng cách đặt dấu ngã trước nó, SEARCH("~*", A2), hoặc đổi hẳn sang FIND vì FIND không hiểu ký tự đại diện.
Chọn cái nào
FIND hay SEARCH
FIND phân biệt hoa thường và không nhận ký tự đại diện. SEARCH thì ngược lại. Dữ liệu viết lẫn lộn hoa thường thì gần như luôn dùng SEARCH.
=ISNUMBER(SEARCH("hn", A2))