Khi sử dụng các hàm tách chuỗi trong Excel như MID, LEFT hoặc RIGHT thì bạn có thể tách được các chuỗi ở giữa, đầu hoặc cuối văn bản. Nhưng bạn cần phải xác định trước số ký tự, vị trí cần tách thì các hàm trên mới có thể tách chuỗi chính xác. Vấn đề là khi các chuỗi không cố định số lượng ký tự, hay rõ ràng hơn là số lượng ký tự cần tách không cố định thì việc chỉ sử dụng hàm MID, LEFT hoặc RIGHT sẽ không đáp ứng được.
Thay vì phải xác định vị trí và số ký tự thủ công thì có lẽ dùng một hàm tự động tìm ra vị trí của một ký tự trong chuỗi để tính ra vị trí cũng như số lượng ký tự cần tách khi sử dụng các hàm MID, LEFT hoặc RIGHT là cách tối ưu hơn. Trong Excel, hàm FIND là một trong số những hàm có thể giúp bạn tự động tìm ra vị trí của một ký tự và từ đó tính ra được số ký tự cần tách trong chuỗi một cách tự động.
Cách sử dụng hàm FIND trong Excel
Mô tả:
Hàm Find là hàm tìm kiếm vị trí của ký tự trong một văn bản, kết quả trả về là vị trí của ký tự đầu tiên được tìm thấy trong một văn bản.
Cú pháp:
=FIND(find_text; within_text; [start_num])
👉Trong đó:
- find_text: là ký tự hoặc một văn bản muốn tìm kiếm vị trí.
- within_text: văn bản mà bạn muốn tìm kiếm vị trí của find_text trong đó.
- [start_num]: chỉ định vị trí bắt đầu tìm kiếm trong within_text.
Ghi chú:
- Hàm FIND sẽ phân biệt chữ hoa và thường trong văn bản
- Hàm FIND không hỗ trợ tìm kiếm các ký tự đại diện như *find_text, find_text*, *find_text*…
- Dùng [start_num] để bỏ qua số ký tự đầu và bắt đầu tại vị trí được chỉ định, nếu bỏ qua [start_num] thì mặc định sẽ =1
Một số ví dụ về cách sử dụng hàm FIND để xác định vị trí của ký tự trong văn bản.
Ví dụ 1: Cách tìm vị trí của ký tự trong chuỗi bằng hàm FIND
👉Trong các ví dụ trên:
1) Hàm =FIND(“e”;A2) thì sẽ lấy được vị trí của ký tự e đầu tiên xuất hiện trong chuỗi Microsoft Excel 2013.
2) Hàm =FIND(“E”;A3): khác với ví dụ trên thì ở hàm này mình tìm vị trí của ký tự E (viết hoa).
3) Hàm =FIND(“o”;A4;6): trong chuỗi Microsoft Word 2013 có 3 ký tự o nhưng mà mình muốn lấy vị trí ký tự o thứ 2 nên sử dụng [start_num] =6 để bỏ qua ký tự o thứ nhất.
4) Hàm =FIND(“Word”;A5): ở hàm này mình sử dụng hàm FIND để tìm kiếm vị trí find_text = Word thì hàm FIND sẽ tìm kiếm từ Word trong văn bản, nếu Word xuất hiện trong chuỗi thì hàm sẽ trả về vị trí của ký tự đầu tiên của từ Word nằm trong văn bản. Nếu từ Word không xuất hiện thì hàm sẽ trả về #VALUES!
Ví dụ 2: Kết hợp sử dụng hàm FIND và hàm LEFT để tách chuỗi ký tự đầu.
Hàm =LEFT(A2;FIND(“-“;A2)-1): hàm này sẽ tách chuỗi ký tự đầu trong Cells A2 tính từ phía bên trái qua phải đến khi gặp ký tự “–“. Như trong hàm bạn sẽ thấy:
- FIND(“-“;A2)-1: sẽ trả về vị trí của ký tự “-” đầu tiên mà nó tìm kiếm trong chuỗi và đem trừ 1 vì mình không lấy ký tự “-” trong kết quả. Như vậy, kết quả FIND(“-“;A2)-1 chính là số ký tự sẽ được tách trong hàm =LEFT(A2;FIND(“-“;A2)-1)
Ví dụ 3: Sử dụng hàm FIND và hàm MID để tách chuỗi ký tự ở giữa theo số ký tự cố định.
Khi bạn cần tách ký tự ở giữa có số ký tự cố định và nằm sau ký tự dễ nhận biết thì có thể dùng hàm FIND để tự động tìm kiếm vị trí theo ký tự dễ nhận biết đó. Như ví dụ sau đây: mình sẽ tìm vị trí của ký tự “-” đầu tiên trong chuỗi và sử dụng hàm MID để tách 2 ký tự sau vị trí của ký tự “–“.
Sử dụng hàm: =MID(A2; FIND(“-“;A2)+1; 2), trong đó:
- FIND(“-“;A2)+1: sẽ trả về vị trí mà bạn muốn tách chuỗi trong Cells A2. Và hàm MID sẽ tách 2 ký tự bắt đầu từ vị trí vừa tìm được bằng hàm FIND.
Ví dụ 4: Sử dụng hàm FIND và hàm MID để tách chuỗi ký ở giữa theo số lượng ký tự không cố định.
Trong trường hợp, số ký tự cần tách ở giữa không cố định thì cách ở ví dụ 2 sẽ không áp dụng được. Thay vào đó bạn có thể áp dụng cách dưới đây.
Sử dụng hàm =MID(A2;FIND (“-“;A2)+1; FIND(“-“;A2;FIND (“-“;A2)+1)- (FIND(“-“;A2)+1)). Trong đó:
- Hàm FIND (“-“;A2)+1: sẽ trả về vị trí mà bạn muốn tách chuỗi trong Cells A2.
- Trong hàm FIND(“-“;A2;FIND (“-“;A2)+1)- (FIND(“-“;A2)+1)):
- 1) FIND(“-“;A2;FIND (“-“;A2)+1): kết quả sẽ lấy được vị trí của ký tự “–” thứ 2 trong chuỗi.
- 2) FIND(“-“;A2)+1): sẽ lấy được vị trí của ký tự “-” thứ nhất trong chuỗi.
- 👉Như vậy, khi đem 1) trừ 2), kết quả sẽ được số ký tự cần tách trong chuỗi
OK! Như vậy qua 4 ví dụ trên mình và các bạn đã giải quyết được bài toán là dùng hàm FIND để tự động tìm ra vị trí của một ký tự và từ đó tính ra được số ký tự cần tách trong chuỗi khi sử dụng với hàm LEFT hay hàm MID.
Hy vọng với những gì mình đã chia sẻ trên đây có thể giúp các bạn áp dụng vào công việc của mình để đem lại hiệu quả hơn trong quản lý dữ liệu bằng Excel.
Chúc các bạn thành công!