Chào mọi người,
Dạo này mình làm báo cáo về phân tích địa lý, gặp phải vấn đề khá đau đầu là dữ liệu tên địa danh (tỉnh, thành phố, quận, huyện) bị sai định dạng lung tung. Có chỗ thì thừa khoảng trắng, có chỗ thì viết hoa đầu mỗi từ, có chỗ thì viết thường hết, rất khó để nhóm hoặc lọc chính xác.
Mình thử mấy cách thủ công thì mất thời gian quá, nhất là khi file có vài nghìn dòng. Thế là mình tìm tòi và phát hiện ra một cách khá hay để tự động chuẩn hóa lại toàn bộ tên địa danh này, giúp dữ liệu 'sạch' hơn hẳn.
Cách này mình dùng kết hợp một vài hàm, khá đơn giản mà hiệu quả:
=TRIM(PROPER(SUBSTITUTE(A1, " ", " ")))Giải thích một chút:
SUBSTITUTE(A1, " ", " "): Hàm này dùng để tìm và thay thế các khoảng trắng kép (hoặc nhiều hơn 2 khoảng trắng liên tiếp) bằng một khoảng trắng đơn. Cái này giúp xử lý các trường hợp gõ thừa Enter hoặc phím Space nhiều lần.TRIM(...): Hàm này loại bỏ tất cả khoảng trắng thừa ở đầu, cuối và các khoảng trắng lặp lại bên trong chuỗi (sau khi đã dùng SUBSTITUTE ở bước trên).PROPER(...): Hàm này sẽ chuyển đổi chữ cái đầu tiên của mỗi từ trong chuỗi thành chữ hoa và các chữ cái còn lại thành chữ thường. Ví dụ: "hà nội" thành "Hà Nội", "QUẬN 1" thành "Quận 1".
Lưu ý: Nếu bạn muốn tất cả về chữ thường thì bỏ hàm PROPER đi, chỉ cần dùng =TRIM(A1) hoặc =TRIM(SUBSTITUTE(A1, " ", " ")) tùy mức độ 'lộn xộn' của dữ liệu.
Mình thấy cách này khá ổn cho việc xử lý các định dạng tên cơ bản. Không biết có cao thủ nào có cách nào hay hơn hoặc dùng VBA thì chia sẻ thêm cho anh em học hỏi với nhé!
Cảm ơn mọi người đã đọc bài!