Dạo này làm báo cáo nhiều, mình hay gặp tình huống copy dữ liệu từ web hoặc từ file PDF sang Excel bị dính rất nhiều khoảng trắng thừa ở đầu, cuối hoặc giữa các ký tự. Nhìn nó rất khó chịu và ảnh hưởng đến việc lọc, tìm kiếm hay sử dụng các hàm như VLOOKUP, INDEX-MATCH.
Trước đây mình hay dùng chức năng Find & Replace, nhưng mất công, nhất là với file nhiều dữ liệu. Sau đó, mình có tìm hiểu và phát hiện ra một cách cực kỳ đơn giản mà hiệu quả, muốn chia sẻ lại cho anh em trong diễn đàn mình để cùng nhau xử lý.
Cách này sử dụng kết hợp hai hàm rất quen thuộc là TRIM và SUBSTITUTE.
Trường hợp 1: Khoảng trắng thừa ở đầu và cuối chuỗi
Chỉ cần dùng hàm TRIM:
=TRIM(A1)Hàm này sẽ tự động loại bỏ hết các khoảng trắng thừa ở đầu và cuối, đồng thời chỉ giữ lại một khoảng trắng duy nhất giữa các từ (nếu có).
Trường hợp 2: Khoảng trắng thừa ở giữa các ký tự (ví dụ: 'Nguy ễn Văn A')
Trường hợp này thì TRIM không xử lý được. Mình sẽ dùng SUBSTITUTE để thay thế các khoảng trắng kép thành khoảng trắng đơn, sau đó mới dùng TRIM.
=TRIM(SUBSTITUTE(A1," "," "))Lưu ý là bạn có thể cần lặp lại hàm SUBSTITUTE nếu có nhiều hơn 2 khoảng trắng liền nhau. Tuy nhiên, cách làm gọn hơn là:
=TRIM(SUBSTITUTE(SUBSTITUTE(A1," "," ")," "," "))Hoặc một cách khác hiệu quả hơn cho mọi trường hợp khoảng trắng thừa, kể cả khoảng trắng không dính nhau:
=CLEAN(SUBSTITUTE(A1," "," "))Trong đó hàm CLEAN sẽ loại bỏ tất cả các ký tự không in được, bao gồm cả khoảng trắng thừa. Tuy nhiên, TRIM thường được ưa chuộng hơn vì nó chỉ tập trung vào khoảng trắng và giữ nguyên định dạng văn bản.
Anh em thử áp dụng xem sao. Nếu có cách nào hay hơn thì chia sẻ cho mình với nhé!