Có thể bạn quan tâm: Hàm Kiểm Tra Kiểu Dữ Liệu Trong Excel: Cách Xác Định Và Xử Lý Dữ Liệu Một Cách Chính Xác
Giới thiệu
Những năm gần đây, Excel đã trở thành một công cụ không thể thiếu trong công việc quản lý dữ liệu, từ những bảng tính đơn giản cho đến các hệ thống phân tích phức tạp. Khi dữ liệu được nhập vào từ nhiều nguồn khác nhau – bảng dữ liệu thủ công, CSV, web scraping, hay các ứng dụng bên thứ ba – một vấn đề thường xuyên gặp phải là ký tự trống (space) xuất hiện không mong muốn. Đó có thể là ký tự trắng thường xuất hiện ở đầu, cuối hoặc ngay giữa các chuỗi ký tự, làm tổn hại đến tính chính xác của công thức, lọc dữ liệu và các truy vấn nâng cao.
Để xử lý vấn đề này, Excel cung cấp một loạt các hàm và công cụ giúp loại bỏ ký tự trống một cách hiệu quả. Trong bài viết này, chúng ta sẽ đi sâu vào cách sử dụng hàm TRIM (TRĂN), CLEAN (DỮ LIỆU), SUBSTITUTE (THAY THẾ), cùng với một số thủ thuật nâng cao như sử dụng hàm LET và TEXTJOIN, để loại bỏ ký tự trắng một cách toàn diện. Ngoài ra, chúng ta cũng sẽ khám phá cách tự động hóa quá trình này bằng cách viết một macro VBA và áp dụng các công thức vào dữ liệu lớn.
Với độ dài hơn 1500 từ, bài viết sẽ cung cấp không chỉ lý thuyết mà còn nhiều ví dụ thực tiễn, hướng dẫn từng bước, mẹo vặt và lời khuyên khi làm việc với dữ liệu thực tế.
Có thể bạn quan tâm: Hàm Gộp Nội Dung Nhiều Ô Trong Excel: Hướng Dẫn Chi Tiết Và Thực Tiễn
1. Tại sao ký tự trống lại gây lỗi trong Excel?
1.1 Các loại ký tự trống phổ biến
| Loại ký tự | Mô tả | Ảnh hưởng |
|---|---|---|
| Space (U+0020) | Ký tự trắng thường gặp | Gây lỗi trong công thức, so sánh chuỗi |
| Tab (U+0009) | Ký tự tabulation | Đánh dấu cột, làm khó việc lọc |
| Line Break (U+000A) | Dòng mới | Gây lỗi khi nhập dữ liệu trong ô |
| Non-breaking space (U+00A0) | Ký tự trắng không ngắt dòng | Khó nhận diện bằng hàm TRIM |
1.2 Tác động thực tế
- So sánh chuỗi: Khi dùng hàm
VLOOKUPhoặcINDEX MATCH, ký tự trống trong dữ liệu nguồn sẽ khiến công thức không tìm thấy giá trị. - Tính toán số liệu: Các chuỗi số có ký tự trống sẽ bị Excel coi là chuỗi, gây lỗi chuyển đổi kiểu dữ liệu.
- Phân loại dữ liệu: Khi dùng
PivotTable, ký tự trống tạo ra các mục riêng biệt, làm dữ liệu bị phân tán. - Truy vấn dữ liệu: Khi kết nối với dữ liệu SQL hoặc Power Query, ký tự trống làm mất tính chính xác trong điều kiện lọc.
Có thể bạn quan tâm: Hàm Excel Làm Tròn Số Sau Dấu Phẩy
2. Hàm TRIM (TRĂN) – Giải pháp cơ bản
2.1 Cú pháp
TRIM(text)
text: Chuỗi cần loại bỏ ký tự trống.
2.2 Cách hoạt động
- Loại bỏ ký tự trắng ở đầu và cuối chuỗi.
- Giữ lại một khoảng trắng duy nhất nếu có nhiều khoảng trắng liên tiếp giữa các từ.
2.3 Ví dụ thực tế
Giả sử ô A1 chứa chuỗi " Example Text ".
| Công thức | Kết quả | Giải thích |
|---|---|---|
=TRIM(A1) | Example Text | Loại bỏ 3 ký tự trắng đầu và 2 ký tự trắng cuối |
=LEN(A1) | 17 | Độ dài bao gồm khoảng trắng |
=LEN(TRIM(A1)) | 12 | Độ dài sau khi loại bỏ |
2.4 Giới hạn của TRIM
- Không loại bỏ ký tự tab, line break, non-breaking space.
- Không loại bỏ ký tự đặc biệt khác như dấu trống mở rộng (U+2003).
- Đối với dữ liệu lớn, việc áp dụng
TRIMcho hàng nghìn ô có thể chậm.
3. Hàm CLEAN (DỮ LIỆU) – Xóa ký tự không in được
3.1 Cú pháp
CLEAN(text)
text: Chuỗi cần loại bỏ ký tự không in được.
3.2 Cách hoạt động
- Loại bỏ ký tự điều khiển (control characters) trong dải 0-31 của bảng ASCII.
- Không loại bỏ ký tự trắng thông thường.
3.3 Ví dụ
| Chuỗi gốc | Công thức | Kết quả |
|---|---|---|
"Example\nText" | =CLEAN(A1) | ExampleText |
"Example\tText" | =CLEAN(A1) | ExampleText |
3.4 Kết hợp với TRIM
Hình thức phổ biến nhất là =TRIM(CLEAN(A1)). Điều này giúp loại bỏ cả ký tự trắng đầu/ cuối và ký tự điều khiển.
4. Hàm SUBSTITUTE (THAY THẾ) – Thay thế ký tự cụ thể
4.1 Cú pháp
SUBSTITUTE(text, old_text, new_text, instance_num)
text: Chuỗi gốc.old_text: Ký tự hoặc chuỗi cần thay thế.new_text: Chuỗi thay thế.instance_num(tùy chọn): Lần xuất hiện cần thay thế, nếu bỏ qua thì thay thế tất cả.
4.2 Sử dụng để loại bỏ ký tự trống
4.2.1 Loại bỏ non-breaking space (U+00A0)
=SUBSTITUTE(A1, CHAR(160), "")
4.2.2 Loại bỏ tab
=SUBSTITUTE(A1, CHAR(9), "")
4.2.3 Loại bỏ ký tự line break
=SUBSTITUTE(A1, CHAR(10), " ")
4.3 Kết hợp với TRIM
Ví dụ: Loại bỏ non-breaking space và tab, sau đó trim.
=TRIM(SUBSTITUTE(SUBSTITUTE(A1, CHAR(9), ""), CHAR(160), ""))
5. Hàm LET (LET) – Đặt tên biến để tái sử dụng công thức
5.1 Cú pháp

Có thể bạn quan tâm: Hàm Liệt Kê Các Giá Trị Trong Excel: Hướng Dẫn Chi Tiết Và Ứng Dụng Thực Tiễn
LET(name1, value1, name2, value2, …, calculation)
5.2 Ví dụ áp dụng
Giả sử ta muốn làm sạch dữ liệu lớn, có nhiều ký tự trống không mong muốn.
=LET( raw, A1, cleaned, SUBSTITUTE(SUBSTITUTE(raw, CHAR(9), ""), CHAR(160), ""), result, TRIM(CLEAN(cleaned)), result
)
- Bạn lưu ý: Hàm LET giúp giảm độ dài công thức, tăng tính đọc hiểu và hiệu suất tính toán.
6. Hàm TEXTJOIN (THÊM CHUỖI) – Tổ hợp chuỗi sạch
6.1 Cú pháp
TEXTJOIN(delimiter, ignore_empty, text1, text2, …)
delimiter: Ký tự ngăn cách.ignore_empty: Bật/tắt bỏ qua ô trống.text1, text2, …: Chuỗi cần ghép.
6.2 Ứng dụng
Khi cần gộp nhiều ô có dữ liệu trống mà vẫn loại bỏ ký tự trắng, ta có thể kết hợp:
=TEXTJOIN(" ", TRUE, TRIM(CLEAN(A1)), TRIM(CLEAN(A2)), TRIM(CLEAN(A3)))
7. Macro VBA – Tự động làm sạch dữ liệu
7.1 Lý do sử dụng VBA
- Xử lý dữ liệu độ lớn (thousands, millions rows).
- Tùy chỉnh cao: Loại bỏ ký tự đặc biệt, thay đổi cấu trúc dữ liệu.
- Tự động: Chạy nhanh, không cần người dùng thao tác công thức.
7.2 Ví dụ macro
Sub CleanData() Dim rng As Range Dim cell As Range Dim txt As String ' Chọn vùng cần làm sạch Set rng = Application.InputBox("Chọn vùng dữ liệu", Type:=8) Application.ScreenUpdating = False For Each cell In rng If Not IsEmpty(cell) Then txt = cell.Value ' Loại bỏ ký tự trắng đầu/ cuối txt = Trim(txt) ' Loại bỏ ký tự điều khiển txt = CleanString(txt) ' Thay thế non-breaking space txt = Replace(txt, Chr(160), "") ' Ghi lại cell.Value = txt End If Next cell Application.ScreenUpdating = True MsgBox "Làm sạch dữ liệu hoàn tất!"
End Sub Function CleanString(str As String) As String Dim i As Long Dim cleanStr As String cleanStr = "" For i = 1 To Len(str) If Asc(Mid(str, i, 1)) > 31 Then cleanStr = cleanStr & Mid(str, i, 1) End If Next i CleanString = cleanStr
End Function
Giải thích:
– InputBox(Type:=8) cho phép người dùng chọn vùng làm sạch.
– Hàm CleanString loại bỏ các ký tự ASCII <= 31 (control characters).
– Macro thực hiện trên từng ô một, có thể mở rộng cho hàng nghìn ô.
8. Power Query – Giải pháp mạnh mẽ cho dữ liệu lớn
8.1 Mở Power Query
- Chọn dữ liệu → Data → From Table/Range.
- Power Query Editor mở ra.
8.2 Thêm bước làm sạch
- Sử dụng hàm Text.Trim:
Text.Trim(Column1). - Sử dụng Text.Clean:
Text.Clean(Column1). - Thay thế ký tự:
Text.Replace(Column1, " ", "")(non-breaking space).
8.3 Tự động hoá
- Khi dữ liệu bảng thay đổi, Power Query tự động refresh và giữ nguyên các bước làm sạch.
9. Kiểm tra dữ liệu sau khi làm sạch
9.1 So sánh độ dài
| Công thức | Mô tả |
|---|---|
=LEN(A1) | Độ dài gốc |
=LEN(TRIM(CLEAN(A1))) | Độ dài sau làm sạch |
9.2 Kiểm tra ký tự đặc biệt
=IF(SUMPRODUCT(--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<32)), "Có ký tự control", "Không")
9.3 Kiểm tra dữ liệu trùng lặp
- Sử dụng
Conditional Formatting→ Duplicate Values.
10. Thực hành: Tạo một bảng dữ liệu mẫu
| # | Dữ liệu gốc |
|---|---|
| 1 | " Hello World " |
| 2 | "Example Text" (non-breaking space) |
| 3 | "Tab\tSeparated" |
| 4 | "Line\nBreak" |
| 5 | "NormalText" |
10.1 Áp dụng công thức
| Ô | Công thức | Kết quả |
|---|---|---|
| B1 | =TRIM(CLEAN(A1)) | Hello World |
| B2 | =SUBSTITUTE(A2, CHAR(160), "") | ExampleText |
| B3 | =SUBSTITUTE(A3, CHAR(9), "") | TabSeparated |
| B4 | =SUBSTITUTE(A4, CHAR(10), " ") | Line Break |
| B5 | =A5 | NormalText |
11. Lưu ý khi làm sạch dữ liệu
- Bảo tồn dữ liệu gốc: Luôn sao chép dữ liệu gốc trước khi làm sạch.
- Kiểm tra tính nhất quán: Đôi khi ký tự trắng có thể có ý nghĩa trong dữ liệu (ví dụ: tên đôi).
- Sử dụng hàm
TRIMcẩn thận: Nếu dữ liệu cần giữ nguyên khoảng trắng giữa các từ, tránh dùngTRIM. - Kiểm tra không làm mất dữ liệu: Đảm bảo macro và công thức không thay đổi dữ liệu quan trọng.
12. Tổng kết và lời khuyên
- Bắt đầu với
TRIM: Đây là công cụ đơn giản nhất, thường đủ cho hầu hết các trường hợp. - Sử dụng
CLEANkhi có ký tự điều khiển: Đặc biệt khi dữ liệu được xuất từ hệ thống cũ hoặc qua email. - Thay thế ký tự đặc biệt:
SUBSTITUTElà công cụ linh hoạt nhất để loại bỏ những ký tự như non-breaking space, tab, line break. - Tự động hóa: VBA và Power Query giúp tiết kiệm thời gian khi làm việc với dữ liệu lớn.
- Kiểm tra kết quả: Luôn so sánh độ dài và kiểm tra ký tự control để đảm bảo dữ liệu đã sạch.
- Đánh giá hiệu suất: Khi làm việc trên hàng triệu dòng, hãy chuyển sang Power Query hoặc VBA thay vì công thức trong ô.
13. Tài nguyên tham khảo
- Microsoft Office Support: Hàm TRIM, CLEAN, SUBSTITUTE, LET, TEXTJOIN.
- Power Query M Language: Tài liệu chi tiết về
Text.Trim,Text.Clean,Text.Replace. - VBA Developer Center: Hướng dẫn viết macro cho làm sạch dữ liệu.
- Community Forums: Stack Overflow, Excel Forum – nơi chia sẻ script VBA và công thức tùy chỉnh.
14. Kết luận
Ký tự trống trong Excel không chỉ gây khó khăn khi nhập dữ liệu mà còn ảnh hưởng lớn tới độ chính xác của các công thức và báo cáo. Bằng cách nắm vững các hàm TRIM, CLEAN, SUBSTITUTE, LET, TEXTJOIN và kết hợp chúng với VBA hoặc Power Query, bạn có thể xử lý và loại bỏ ký tự trống một cách hiệu quả, ngay cả khi làm việc với dữ liệu hàng triệu dòng. Việc áp dụng những phương pháp này sẽ giúp bạn tăng tốc độ làm việc, giảm thiểu lỗi và nâng cao độ tin cậy của dữ liệu – những yếu tố quan trọng nhất trong bất kỳ dự án phân tích dữ liệu nào.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
