Chào mọi người,
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 dữ liệu có định dạng lộn xộn trong Excel, đặc biệt khi cần ghép nối chúng lại với nhau theo một quy tắc nhất định. Đôi khi chúng ta nhận được dữ liệu từ nguồn ngoài, hoặc do người dùng nhập liệu không chuẩn, dẫn đến các chuỗi ký tự có khoảng trắng thừa, dấu phẩy không đều, hoặc các ký tự đặc biệt không mong muốn.
Ví dụ, mình có một cột chứa các thông tin như thế này:
Nguyễn Văn A , Bình Thạnh
Trần Thị B ; Quận 1
Lê Văn C. . Thủ ĐứcVà mình muốn ghép chúng lại thành một chuỗi gọn gàng, ví dụ: Nguyễn Văn A - Bình Thạnh.
Cách làm của mình là kết hợp hai hàm khá mạnh mẽ: SUBSTITUTE và TEXTJOIN.
- Đầu tiên, dùng
SUBSTITUTEđể loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi, cũng như thay thế các dấu phân cách không mong muốn (như dấu phẩy, dấu chấm phẩy, dấu chấm) bằng một dấu phân cách chung (ví dụ: dấu cách). - Sau đó, dùng
TEXTJOINđể ghép các phần đã được làm sạch lại với nhau, với dấu phân cách mong muốn (ví dụ: dấu gạch nối).
Công thức có thể trông như thế này (giả sử dữ liệu gốc ở ô A1, và chúng ta muốn tách theo dấu phẩy hoặc chấm phẩy):
=TEXTJOIN(" - ", TRUE, SUBSTITUTE(SUBSTITUTE(TRIM(A1), ",", " "), ";", " "))Lưu ý:
- Hàm
TRIMsẽ giúp loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi. - Bạn có thể lồng thêm nhiều hàm
SUBSTITUTEnếu có nhiều loại ký tự phân cách khác nhau cần xử lý. - Tham số thứ hai của
TEXTJOINlàTRUEđể bỏ qua các ô trống.
Cách này giúp mình tiết kiệm rất nhiều thời gian so với việc làm thủ công hoặc dùng các phương pháp phức tạp hơn. Hy vọng chia sẻ này hữu ích với mọi người!