Chào các bạn,
Hôm nay mình muốn chia sẻ một mẹo nhỏ mà mình hay dùng để xử lý các chuỗi ký tự bị lộn xộn, ví dụ như có lẫn cả chữ, số, ký tự đặc biệt, hoặc định dạng không đồng nhất. Đôi khi chúng ta nhận được dữ liệu từ nguồn khác về, nhìn rất khó chịu và cần làm sạch trước khi xử lý.
Thay vì phải ngồi copy-paste thủ công hay dùng các công cụ phức tạp, mình thường áp dụng cách kết hợp một vài hàm Excel đơn giản. Cụ thể là sự kết hợp giữa TRIM, SUBSTITUTE và đôi khi là LEFT, RIGHT, MID.
Ví dụ, nếu bạn có một cột dữ liệu với các chuỗi như:
ABC 123 !@#XYZ-456***789 DEF
Và bạn muốn loại bỏ hết khoảng trắng thừa, ký tự đặc biệt, chỉ giữ lại chữ và số. Chúng ta có thể làm như sau:
- Đầu tiên, dùng
TRIMđể loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi:=TRIM(A1) - Tiếp theo, dùng
SUBSTITUTEđể thay thế các ký tự không mong muốn. Cái này hơi thủ công một chút nếu có quá nhiều ký tự đặc biệt, nhưng với các ký tự phổ biến thì khá hiệu quả. Ví dụ, để xóa dấu gạch ngang và dấu sao:=SUBSTITUTE(SUBSTITUTE(TRIM(A1),"-",""),"*","") - Nếu muốn loại bỏ luôn cả các ký tự đặc biệt khác, bạn có thể lồng thêm
SUBSTITUTEhoặc dùng các hàm khác để kiểm tra từng ký tự. Tuy nhiên, cách này có thể hơi dài và phức tạp.
Một cách khác nhanh hơn nếu bạn chỉ cần loại bỏ các ký tự không phải là chữ hoặc số là có thể dùng VBA, nhưng nếu chỉ cần xử lý một vài cột thì công thức trên là đủ dùng.
Các bạn có cách nào hay hơn để xử lý dạng dữ liệu này không? Chia sẻ cùng mọi người nhé!