Trong môi trường làm việc hiện đại, Excel là một trong những công cụ mạnh mẽ và phổ biến nhất để xử lý dữ liệu. Tuy nhiên, khi làm việc với các tập dữ liệu lớn, chúng ta thường gặp phải những vấn đề liên quan đến ký tự đặc biệt (special characters). Những ký tự này có thể là dấu cách không mong muốn, ký tự không hiển thị, hoặc các ký tự đặc biệt như @, #, $, %, ^, &, , (, ), … Chúng không chỉ gây khó khăn trong việc lọc, sắp xếp, hay phân tích dữ liệu mà còn có thể làm hỏng công thức, gây lỗi khi xuất file sang các hệ thống khác.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những kiến thức cơ bản về ký tự đặc biệt trong Excel cho tới các kỹ thuật nâng cao để tìm kiếm, xác định và xử lý chúng một cách hiệu quả. Chúng ta sẽ khám phá:
- Khái niệm và loại ký tự đặc biệt trong Excel.
- Cách sử dụng các hàm tích hợp (
FIND,SEARCH,LEN,SUBSTITUTE,TRIM,CLEAN,CODE,UNICODE, …) để phát hiện ký tự đặc biệt. - Sử dụng công cụ Find & Replace (Tìm và Thay thế) một cách thông minh.
- Áp dụng Conditional Formatting (định dạng có điều kiện) để đánh dấu các ô chứa ký tự không mong muốn.
- Viết VBA Macro để tự động quét toàn bộ workbook và tạo báo cáo chi tiết.
- Kỹ thuật lọc dữ liệu bằng Power Query và Power BI để loại bỏ ký tự đặc biệt.
- Mẹo thực tiễn khi làm việc với dữ liệu nhập từ các nguồn đa ngôn ngữ, file CSV, hoặc hệ thống ERP.
Cuối cùng, chúng tôi sẽ tổng hợp lại các best practices (thực hành tốt nhất) để bạn có thể duy trì dữ liệu sạch, đồng nhất và sẵn sàng cho các bước phân tích tiếp theo.
Có thể bạn quan tâm: Cách Tìm Các Ô Trống Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành
1. Hiểu Rõ Về Ký Tự Đặc Biệt Trong Excel
1.1. Định Nghĩa
Ký tự đặc biệt trong Excel là bất kỳ ký tự nào không phải là chữ cái (A‑Z, a‑z) hoặc chữ số (0‑9) mà có thể xuất hiện trong ô dữ liệu. Chúng bao gồm:
| Nhóm ký tự | Ví dụ | Ghi chú |
|---|---|---|
| Dấu câu | !, ?, ,, . | Thường xuất hiện trong mô tả, bình luận. |
| Dấu đặc biệt tài chính | $, €, £, ¥ | Được dùng trong cột tiền tệ. |
| Ký tự điều khiển | CHAR(10) (dòng mới), CHAR(13) (carriage return) | Thường gây lỗi khi xuất CSV. |
| Dấu cách không chuẩn | CHAR(160) (non‑breaking space) | Không được nhận diện bởi TRIM. |
| Ký tự Unicode | ✓, ✗, ☑, ♥ | Được dùng trong báo cáo, biểu tượng. |
| Ký tự không hiển thị | CHAR(0) (null), CHAR(1)‑CHAR(31) | Đánh dấu dữ liệu hỏng. |
| Ký tự ngôn ngữ | ñ, ø, ß, é | Đối với dữ liệu đa ngôn ngữ. |
1.2. Nguyên Nhân Xuất Hiện
- Sao chép dữ liệu từ web, email hoặc PDF: thường kèm theo các ký tự không hiển thị hoặc ký tự ngắt dòng.
- Nhập dữ liệu từ hệ thống ERP/CRM: có thể chèn ký tự phân cách (delimiter) không chuẩn.
- Xuất/nhập file CSV: các ký tự dấu phẩy, dấu chấm phẩy, hoặc dấu ngoặc kép có thể gây lỗi.
- Mã hoá ký tự không đồng nhất: UTF‑8, ANSI, Unicode.
Hiểu rõ nguồn gốc sẽ giúp bạn lựa chọn phương pháp phù hợp để xử lý.
Có thể bạn quan tâm: Cách Tìm Và Xử Lý Các Giá Trị Trùng Lặp Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Các Hàm Excel Cơ Bản Để Tìm Kiếm Ký Tự Đặc Biệt
2.1. Hàm FIND và SEARCH
FIND(find_text, within_text, start_num): Tìm vị trí chính xác (phân biệt hoa thường) củafind_text. Trả về lỗi#VALUE!nếu không tìm thấy.SEARCH(find_text, within_text, start_num): Tương tựFINDnhưng không phân biệt hoa thường và hỗ trợ ký tự đại diệnvà?.
Ví dụ: Kiểm tra xem ô A2 có chứa ký tự @ không:
=ISNUMBER(FIND("@", A2))
Nếu kết quả là TRUE → có ký tự @.
2.2. Hàm LEN và SUBSTITUTE
LEN(text): Đếm số ký tự trongtext.SUBSTITUTE(text, old_text, new_text, instance_num): Thay thếold_textbằngnew_text.
Kết hợp hai hàm này để đếm số lần xuất hiện một ký tự:
=LEN(A2) - LEN(SUBSTITUTE(A2, "@", ""))
Kết quả trả về số ký tự @ trong ô A2.
2.3. Hàm CODE và UNICODE
CODE(text): Trả về mã ASCII của ký tự đầu tiên (chỉ hoạt động với ký tự 1‑byte).UNICODE(text): Trả về mã Unicode (hỗ trợ ký tự đa byte).
Ví dụ: Xác định mã Unicode của ký tự đầu tiên trong ô B5:
=UNICODE(LEFT(B5,1))
Bạn có thể so sánh với các giá trị chuẩn (ví dụ: 160 cho non‑breaking space) để phát hiện ký tự không mong muốn.
2.4. Hàm TRIM và CLEAN
TRIM(text): Loại bỏ các dấu cách thừa (space) ở đầu và cuối, đồng thời giảm nhiều dấu cách liên tiếp thành một.CLEAN(text): Loại bỏ các ký tự không hiển thị (ASCII 0‑31).
Lưu ý: TRIM không loại bỏ CHAR(160) (non‑breaking space). Để xử lý, bạn cần kết hợp:
=TRIM(SUBSTITUTE(A2, CHAR(160), " "))
Có thể bạn quan tâm: Financial Report Format In Excel: Hướng Dẫn Chi Tiết Từ A Đến Z Để Tạo Báo Cáo Tài Chính Chuyên Nghiệp
3. Sử Dụng Find & Replace (Tìm và Thay Thế) Thông Minh
3.1. Tìm Kiếm Ký Tự Không Thể Nhập Trực Tiếp
Bạn có thể nhập ký tự đặc biệt bằng cách sử dụng mã ASCII:
- Mở Find & Replace (
Ctrl + H). - Trong ô Find what, nhập
Ctrl + J(điều này sẽ nhập ký tựCHAR(10)– line feed). Đối vớiCHAR(13), nhậpCtrl + Shift + J. - Để tìm các ký tự
CHAR(160), nhậpAlt + 0160trên bàn phím số.
3.2. Thay Thế Bằng Giá Trị Chuẩn
Ví dụ: Thay tất cả dấu cách không chuẩn (CHAR(160)) bằng dấu cách chuẩn (SPACE):
- Find what:
Alt + 0160 - Replace with: một dấu cách bình thường (nhấn phím Space).
Bạn có thể chạy Replace All cho toàn bộ sheet hoặc workbook.
3.3. Sử Dụng Wildcards
?đại diện cho một ký tự bất kỳ.đại diện cho một chuỗi ký tự bất kỳ.
Ví dụ: Để tìm mọi ô chứa ký tự @ hoặc #:
- Find what:
@(tìm mọi email) hoặc#(tìm mọi hashtag).
4. Định Dạng Có Điều Kiện (Conditional Formatting) Đánh Dấu Ký Tự Đặc Biệt
4.1. Công Thức Đánh Dấu Ô Có Dấu Cách Không Chuẩn

Có thể bạn quan tâm: Cách Tìm Và Quản Lý Các Liên Kết Ngoại Trong Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
- Chọn vùng dữ liệu cần kiểm tra (ví dụ:
A2:A1000). - Vào Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format.
- Nhập công thức:
=ISNUMBER(FIND(CHAR(160), A2))
- Chọn định dạng (màu nền đỏ) → OK.
Các ô chứa CHAR(160) sẽ được tô màu đỏ, giúp bạn nhanh chóng xác định và xử lý.
4.2. Đánh Dấu Ô Chứa Ký Tự Không Phải ASCII
=UNICODE(LEFT(A2,1))>127
Công thức này kiểm tra ký tự đầu tiên có mã Unicode > 127 (tức là ký tự ngoài bảng ASCII). Áp dụng cho toàn bộ cột để phát hiện ký tự đa ngôn ngữ hoặc ký tự đặc biệt.
5. Tự Động Hóa Bằng VBA Macro
Khi dữ liệu lớn (hàng triệu) và cần quét toàn bộ workbook, VBA là giải pháp tối ưu.
5.1. Macro Đếm và Liệt Kê Ký Tự Đặc Biệt
Sub FindSpecialChars() Dim ws As Worksheet, rng As Range, cell As Range Dim dict As Object, key As Variant Set dict = CreateObject("Scripting.Dictionary") For Each ws In ThisWorkbook.Worksheets Set rng = ws.UsedRange For Each cell In rng If Not IsError(cell.Value) Then Dim txt As String: txt = CStr(cell.Value) Dim i As Long For i = 1 To Len(txt) Dim ch As String: ch = Mid(txt, i, 1) Dim code As Long: code = AscW(ch) If code < 32 Or code = 160 Or code > 127 Then Dim keyStr As String keyStr = "Code:" & code & " Char:" & ch If Not dict.Exists(keyStr) Then dict.Add keyStr, 1 Else dict(keyStr) = dict(keyStr) + 1 End If Next i End If Next cell Next ws ' Xuất báo cáo Dim outWs As Worksheet Set outWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) outWs.Name = "SpecialCharReport" outWs.Range("A1").Value = "Mã Unicode" outWs.Range("B1").Value = "Ký tự" outWs.Range("C1").Value = "Số lần xuất hiện" Dim r As Long: r = 2 For Each key In dict.Keys Dim parts() As String: parts = Split(key, " ") outWs.Cells(r, 1).Value = Replace(parts(0), "Code:", "") outWs.Cells(r, 2).Value = Replace(parts(1), "Char:", "") outWs.Cells(r, 3).Value = dict(key) r = r + 1 Next key MsgBox "Hoàn thành! Báo cáo nằm ở sheet '" & outWs.Name & "'.", vbInformation
End Sub
Giải thích:
AscWtrả về mã Unicode của ký tự.- Nếu mã < 32 (ký tự điều khiển) hoặc = 160 (non‑breaking space) hoặc > 127 (ngoài ASCII), nó sẽ được ghi lại.
- Kết quả được xuất ra một sheet mới, liệt kê mỗi ký tự và số lần xuất hiện.
5.2. Macro Thay Thế Tự Động
Nếu muốn tự động thay thế CHAR(160) bằng dấu cách chuẩn:
Sub ReplaceNBSP() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Cells.Replace What:=Chr(160), Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Next ws MsgBox "Thay thế non‑breaking space hoàn tất!", vbInformation
End Sub
6. Xử Lý Ký Tự Đặc Biệt Bằng Power Query
Power Query (Get & Transform) cung cấp công cụ mạnh mẽ để làm sạch dữ liệu trước khi tải vào bảng tính.
6.1. Bước Nhập Dữ Liệu
- Data → Get Data → From File → From Workbook (hoặc CSV, Text).
- Chọn bảng cần làm sạch → Transform Data.
6.2. Xóa Ký Tự Không Mong Muốn
Trong Power Query Editor:
- Chọn cột → Transform → Replace Values.
- Value To Find: nhập
=Character.FromNumber(160)(hoặc=Character.FromNumber(10)cho dòng mới). - Replace With: nhập
" "(dấu cách) hoặcnulltùy mục đích.
Bạn cũng có thể sử dụng Custom Column với công thức M:
= Table.TransformColumns(Source, {{"Column1", each Text.Trim(Text.Clean(_)), type text}})
Text.Cleanloại bỏ ký tự không hiển thị.Text.Trimloại bỏ dấu cách thừa.
6.3. Kiểm Tra Ký Tự Đặc Biệt
Thêm cột tùy chỉnh để xác định mã Unicode:
= Table.AddColumn(#"Previous Step", "HasSpecial", each List.ContainsAny( List.Transform(Text.ToList(Column1), each Character.ToNumber(_)), {10,13,160, 0..31}))
Cột HasSpecial sẽ trả về true nếu ô chứa ký tự đặc biệt.
7. Thực Hành Với Các Tình Huống Thực Tế
7.1. Dữ Liệu Nhập Từ Form Web
Khi người dùng nhập dữ liệu qua form HTML, thường có non‑breaking space và dòng mới. Giải pháp:
- Sử dụng
SUBSTITUTEđể thay thếCHAR(160)→" ". - Dùng
CLEANđể xóaCHAR(10)vàCHAR(13). - Áp dụng
TRIMcuối cùng.
=TRIM(CLEAN(SUBSTITUTE(A2, CHAR(160), " ")))
7.2. Xuất CSV Cho Hệ Thống ERP
ERP thường không chấp nhận dấu ngoặc kép ("). Trước khi xuất:
=SUBSTITUTE(A2, """", "")
Nếu muốn thay thế dấu phẩy trong dữ liệu (được dùng làm delimiter) bằng dấu chấm phẩy:
=SUBSTITUTE(A2, ",", ";")
7.3. Kiểm Tra Định Dạng Email
Email phải chứa ký tự @ và không có dấu cách. Công thức:
=AND(ISNUMBER(FIND("@",A2)), NOT(ISNUMBER(FIND(" ",A2))))
Nếu trả về FALSE, bạn có thể dùng Data Validation để cảnh báo người dùng.
8. Best Practices – Các Thực Hành Tốt Nhất
- Luôn dùng
CLEAN+TRIMngay khi nhập dữ liệu từ nguồn bên ngoài. - Đặt quy tắc Data Validation để ngăn chặn nhập ký tự không hợp lệ (ví dụ: không cho phép
CHAR(160)). - Sử dụng Conditional Formatting để phát hiện sớm các ô lỗi.
- Tạo macro hoặc Power Query để tự động hoá quy trình làm sạch, giảm thiểu công việc thủ công.
- Ghi chú trong tài liệu: Ghi lại danh sách ký tự đặc biệt đã loại bỏ để team có thể hiểu và duy trì chuẩn dữ liệu.
- Kiểm tra định kỳ: Đặt lịch (hàng tuần hoặc hàng tháng) chạy macro kiểm tra ký tự đặc biệt, báo cáo cho quản trị dữ liệu.
- Lưu bản sao lưu: Trước khi thực hiện thay thế hàng loạt, luôn sao lưu file gốc để tránh mất mát dữ liệu quan trọng.
9. Kết Luận
Việc tìm kiếm và xử lý ký tự đặc biệt trong Excel không chỉ là một công việc “làm sạch” dữ liệu mà còn là nền tảng để đảm bảo tính chính xác, đồng nhất và khả năng tương tác của dữ liệu với các hệ thống khác. Từ các hàm tích hợp đơn giản như FIND, LEN, SUBSTITUTE đến các công cụ mạnh mẽ như Power Query, Conditional Formatting và VBA, bạn có thể lựa chọn phương pháp phù hợp với quy mô và độ phức tạp của dự án.
Hãy áp dụng các kỹ thuật đã trình bày trong bài viết này để:
- Nhanh chóng phát hiện bất kỳ ký tự không mong muốn nào trong bộ dữ liệu.
- Tự động hoá quy trình làm sạch bằng macro hoặc Power Query, giảm thiểu lỗi con người.
- Duy trì dữ liệu sạch thông qua kiểm tra định kỳ và các quy tắc validation.
Khi dữ liệu của bạn đã được “làm sạch” hoàn toàn, các bước phân tích, báo cáo và quyết định kinh doanh sẽ trở nên tin cậy hơn, giúp doanh nghiệp tối ưu hoá quy trình và nâng cao hiệu suất làm việc.
Chúc bạn thành công trong việc quản lý và xử lý ký tự đặc biệt trong Excel! 🚀

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ẻ.
