Có thể bạn quan tâm: Dạy Kèm Excel Tại Nhà: Bí Quyết Thành Công Và Lợi Ích Cho Học Viên
Mở Đầu
Excel là một trong những công cụ phổ biến nhất trong việc xử lý dữ liệu, và việc thay dấu (hoặc thay ký tự) trong Excel là một kỹ năng thiết yếu mà mọi người dùng, dù là nhân viên văn phòng, nhà phân tích dữ liệu hay nhà quản lý, đều cần nắm vững. Bài viết này sẽ cung cấp cho bạn một hướng dẫn toàn diện, chi tiết và thực tiễn về cách thay dấu bằng dấu trong Excel, bao gồm:
- Giới thiệu tổng quan về nhu cầu thay dấu trong thực tế.
- Các phương pháp cơ bản: Sử dụng tính năng “Find & Replace” (Tìm và Thay thế) và hàm
SUBSTITUTE. - Thay dấu nâng cao: Kết hợp hàm
REPLACE,TEXTJOIN,CHAR,UNICODE, và các hàm mảng. - Xử lý dấu tiếng Việt: Thay đổi dấu thanh, dấu câu, dấu đặc biệt.
- Tự động hoá bằng VBA: Viết macro để thay dấu nhanh chóng trên toàn bộ workbook.
- Lưu ý, lỗi thường gặp và cách khắc phục.
- Bài tập thực tế để bạn thực hành ngay.
Mục tiêu cuối cùng là giúp bạn không chỉ biết cách thay dấu, mà còn hiểu tại sao các phương pháp hoạt động, khi nào nên dùng phương pháp nào, và cách tối ưu hoá quy trình làm việc để tiết kiệm thời gian.
Có thể bạn quan tâm: Cách Dùng Lệnh Vlookup Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Tại Sao Cần Thay Dấu Trong Excel?
1.1. Các tình huống thực tế
- Dữ liệu nhập khẩu: Khi nhận file từ các hệ thống khác (CSV, TXT) có thể chứa dấu “/”, “\”, “-”, “_” không mong muốn.
- Chuẩn hoá dữ liệu: Để thống nhất định dạng (VD: ngày tháng, số điện thoại, mã sản phẩm) trước khi phân tích.
- Xử lý dữ liệu tiếng Việt: Thay đổi dấu thanh (á, à, ả…) thành không dấu để tạo URL, mã SKU, hoặc chuẩn hoá tên khách hàng.
- Chuẩn bị dữ liệu cho phần mềm khác: Một số phần mềm không chấp nhận ký tự đặc biệt, cần thay thế bằng dấu gạch dưới hoặc dấu ngăn cách khác.
1.2. Lợi ích khi thành thạo kỹ năng này
- Tiết kiệm thời gian: Thay vì chỉnh sửa từng ô bằng tay, bạn có thể thực hiện hàng loạt trong vài giây.
- Giảm lỗi: Thay thế tự động tránh những lỗi nhập liệu do con người gây ra.
- Tăng tính chuyên nghiệp: Dữ liệu sạch, chuẩn hoá giúp báo cáo, biểu đồ, và phân tích trở nên đáng tin cậy hơn.
Có thể bạn quan tâm: Dùng Data Table Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
2. Phương Pháp Cơ Bản Nhất: Find & Replace (Tìm và Thay Thế)
2.1. Cách sử dụng nhanh
- Mở workbook và chọn phạm vi cần thay dấu (có thể là toàn bộ sheet bằng cách nhấn
Ctrl + A). - Nhấn
Ctrl + Hđể mở hộp thoại Find & Replace. - Trong Find what nhập ký tự cần thay (ví dụ: “-”).
- Trong Replace with nhập ký tự mới (ví dụ: “_”).
- Nhấn Replace All để thay thế toàn bộ.
2.2. Tùy chọn nâng cao
- Match case: Phân biệt chữ hoa và chữ thường.
- Match entire cell contents: Chỉ thay thế khi ô chứa đúng ký tự cần tìm.
- Search within formulas: Nếu muốn thay đổi trong công thức, tick vào “Look in: Formulas”.
2.3. Lưu ý khi dùng Find & Replace
- Luôn sao lưu file trước khi thực hiện thay thế hàng loạt.
- Kiểm tra các ô chứa công thức; thay đổi ký tự trong công thức có thể gây lỗi.
- Nếu thay đổi dấu trong định dạng ngày (VD: “01/01/2026” → “01-01-2026”), hãy chắc chắn không phá vỡ định dạng ngày.
3. Thay Dấu Bằng Hàm SUBSTITUTE
3.1. Cú pháp cơ bản
=SUBSTITUTE(text, old_text, new_text, instance_num)
text: Ô chứa chuỗi cần thay đổi.old_text: Ký tự hoặc chuỗi muốn thay thế.new_text: Ký tự hoặc chuỗi mới.instance_num(tùy chọn): Thay thế lần xuất hiện thứ n. Nếu bỏ qua, thay thế tất cả.
3.2. Ví dụ thực tế
| A (Giá trị gốc) | Công thức | Kết quả |
|---|---|---|
| 123-456-7890 | =SUBSTITUTE(A2,"-","") | 1234567890 |
| abc_def_ghi | =SUBSTITUTE(A3,"_","-") | abc-def-ghi |
| 2026/01/15 | =SUBSTITUTE(A4,"/","-") | 2026-01-15 |
3.3. Thay thế một số lần xuất hiện
Giả sử ô A5 chứa "a-b-c-d" và bạn chỉ muốn thay dấu “-” lần thứ hai:
=SUBSTITUTE(A5,"-","_",2)
Kết quả: a-b_c-d
3.4. Kết hợp nhiều lần SUBSTITUTE
Nếu cần thay đổi nhiều ký tự cùng lúc (ví dụ: “-” → “_”, “/” → “-”):
=SUBSTITUTE(SUBSTITUTE(A6,"-","_"),"/","-")
3.5. Khi nào dùng SUBSTITUTE thay vì Find & Replace?
- Khi cần áp dụng trong công thức và muốn kết quả tự động cập nhật khi dữ liệu thay đổi.
- Khi cần thay thế theo điều kiện (chỉ thay một lần xuất hiện nhất định).
- Khi muốn giữ nguyên dữ liệu gốc và tạo cột mới chứa dữ liệu đã thay dấu.
4. Thay Dấu Nâng Cao Với Các Hàm Khác
4.1. Hàm REPLACE
REPLACE(old_text, start_num, num_chars, new_text)
Thay thế vị trí cụ thể trong chuỗi, hữu ích khi bạn biết vị trí ký tự cần thay.
=REPLACE(A7,5,1,"_") // Thay ký tự thứ 5 bằng "_"
4.2. Hàm TEXTJOIN + ARRAYFORMULA (Excel 365)
Nếu muốn thay dấu cho nhiều ký tự trong một ô và trả về kết quả dưới dạng mảng:
=TEXTJOIN("",TRUE,IF(MID(A8,ROW(INDIRECT("1:"&LEN(A8))),1)="-","_",MID(A8,ROW(INDIRECT("1:"&LEN(A8))),1)))
Công thức trên duyệt từng ký tự, nếu là “-” sẽ chuyển thành “_”, ngược lại giữ nguyên.
4.3. Hàm UNICODE và CHAR

Có thể bạn quan tâm: Dạy Word & Excel Cấp Tốc: Bí Quyết Thành Thạo Văn Phòng Trong Vòng 30 Ngày
Khi làm việc với ký tự đặc biệt (Unicode), bạn có thể dùng UNICODE để xác định mã ký tự và CHAR để thay thế.
=SUBSTITUTE(A9,CHAR(UNICODE("-")),CHAR(UNICODE("_")))
4.4. Xử lý dấu tiếng Việt (loại bỏ dấu thanh)
Đối với việc chuyển tiếng Việt có dấu thành không dấu, có một công thức phức tạp nhưng hiệu quả:
=LOWER(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
A10,
"á","a"),"à","a"),"ả","a"),"ã","a"),"ạ","a"),
"â","a"),"ă","a"),
"é","e"),"è","e"),"ẻ","e")
Bạn có thể mở rộng công thức này cho toàn bộ bảng chữ cái tiếng Việt (đã có sẵn trên internet). Đối với Excel 365, có thể dùng lambda function để tái sử dụng.
5. Tự Động Hóa Với VBA: Macro Thay Dấu
5.1. Khi nào nên dùng VBA?
- Khi cần thay dấu trên nhiều sheet hoặc nhiều workbook cùng lúc.
- Khi muốn tích hợp vào nút bấm hoặc menu tùy chỉnh.
- Khi quy trình thay dấu phức tạp (nhiều ký tự, điều kiện, báo cáo kết quả).
5.2. Mã Macro cơ bản
Sub ReplaceCharacters() Dim ws As Worksheet Dim rng As Range Dim findStr As String, replaceStr As String 'Cấu hình ký tự cần thay findStr = "-" 'Ký tự cũ replaceStr = "_" 'Ký tự mới 'Lặp qua tất cả các sheet trong workbook For Each ws In ThisWorkbook.Worksheets 'Chọn toàn bộ vùng dữ liệu có nội dung Set rng = ws.UsedRange 'Thực hiện Replace rng.Replace What:=findStr, Replacement:=replaceStr, _ LookAt:=xlPart, SearchOrder:=xlByRows, _ MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next ws MsgBox "Hoàn tất thay dấu!", vbInformation
End Sub
- Giải thích: Macro này duyệt qua mọi sheet, lấy
UsedRange(vùng có dữ liệu), và thực hiệnReplacecho toàn bộ sheet. Bạn có thể thay đổifindStrvàreplaceStrtùy ý hoặc mở InputBox để người dùng nhập trực tiếp.
5.3. Macro nâng cao: Thay dấu tiếng Việt
Sub RemoveVietnameseDiacritics() Dim ws As Worksheet, cell As Range Dim s As String, i As Long Dim AccChars As Variant, NoAccChars As Variant 'Mảng ký tự có dấu và không dấu tương ứng AccChars = Array("á","à","ả","ã","ạ","â","ă","ắ","ằ","ẳ","ẵ","ặ","ấ","ầ","ẩ","ẫ","ậ", _ "đ","é","è","ẻ","ẽ","ẹ","ê","ế","ề","ể","ễ","ệ", _ "í","ì","ỉ","ĩ","ị","ó","ò","ỏ","õ","ọ","ô","ơ","ớ","ờ","ở","ỡ","ợ", _ "ú","ù","ủ","ũ","ụ","ư","ứ","ừ","ử","ữ","ự", _ "ý","ỳ","ỷ","ỹ","ỵ") NoAccChars = Array("a","a","a","a","a","a","a","a","a","a","a","a","a","a","a","a","a", _ "d","e","e","e","e","e","e","e","e","e","e","e", _ "i","i","i","i","i","o","o","o","o","o","o","o","o","o","o","o","o", _ "u","u","u","u","u","u","u","u","u","u","u", _ "y","y","y","y","y") For Each ws In ThisWorkbook.Worksheets For Each cell In ws.UsedRange If Not IsError(cell) Then s = cell.Value For i = LBound(AccChars) To UBound(AccChars) s = Replace(s, AccChars(i), NoAccChars(i)) s = Replace(s, UCase(AccChars(i)), UCase(NoAccChars(i))) Next i cell.Value = s End If Next cell Next ws MsgBox "Đã loại bỏ dấu tiếng Việt!", vbInformation
End Sub
- Chú ý: Macro này không thay đổi định dạng cell, chỉ thay đổi giá trị văn bản. Nếu dữ liệu lớn, thời gian chạy có thể lâu; bạn có thể tối ưu bằng cách xử lý range thay vì từng cell.
5.4. Gán macro vào nút bấm
- Vào Developer → Insert → Button (Form Control).
- Vẽ nút trên sheet, chọn macro
ReplaceCharactershoặcRemoveVietnameseDiacritics. - Đặt tên nút (VD: “Thay Dấu”) và hoàn tất.
6. Những Lỗi Thường Gặp Khi Thay Dấu & Cách Khắc Phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| #VALUE! | Dùng SUBSTITUTE trên ô chứa công thức hoặc giá trị không phải chuỗi. | Đảm bảo ô chứa văn bản hoặc dùng TEXT(A1,"@") để ép kiểu. |
| Thay dấu không đầy đủ | Thiếu tick “Look in: Formulas” trong Find & Replace. | Khi mở hộp thoại, chọn “Look in: Formulas”. |
| Mất định dạng ngày | Thay dấu “/” trong ngày mà không chuyển lại sang định dạng ngày. | Sau khi thay, dùng DATEVALUE hoặc định dạng lại cột thành Date. |
| Macro chạy chậm | Duyệt từng cell trong workbook lớn. | Sử dụng Application.ScreenUpdating = False và Application.Calculation = xlCalculationManual trong macro. |
| Thay dấu sai ký tự Unicode | Nhập ký tự không đúng (ví dụ dấu “‑” – hyphen minus vs “‑” – non‑breaking hyphen). | Kiểm tra mã Unicode bằng hàm UNICODE() để xác định ký tự chính xác. |
7. Bài Tập Thực Tế – Áp Dụng Kiến Thức
Bài 1: Chuẩn hoá số điện thoại
Yêu cầu: Đổi dấu “-” thành “” (xóa) và thêm mã quốc gia “+84” vào đầu.
Cách làm:
- Giả sử cột A chứa số điện thoại dạng
012-345-6789. - Công thức ở cột B:
="+84"&SUBSTITUTE(A2,"-","")
Kết quả: +84123456789
Bài 2: Tạo URL slug từ tiêu đề tiếng Việt
Yêu cầu: Chuyển tiêu đề có dấu (VD: “Cách Thay Dấu Trong Excel”) thành slug không dấu, thay khoảng trắng bằng dấu gạch ngang.
Công thức (sử dụng hàm tùy chỉnh RemoveDiacritics trong VBA hoặc công thức dài SUBSTITUTE):
=LOWER(SUBSTITUTE(RemoveDiacritics(A2)," ","-"))
Kết quả: cach-thay-dau-trong-excel
Bài 3: Thay dấu “/” thành “-” trong ngày và chuyển sang định dạng Text
=TEXT(SUBSTITUTE(A3,"/","-"),"dd-mm-yyyy")
Kết quả: 15-01-2026 (vẫn là chuỗi văn bản).
Bài 4: Thay thế ký tự trên toàn workbook bằng macro
- Thêm một nút “Thay Dấu Toàn Cục”.
- Gán macro
ReplaceCharacters(đã trình bày ở mục 5.2) và thay đổifindStr/replaceStrthành “/” → “-”.
8. Tổng Kết
Việc thay dấu bằng dấu trong Excel không chỉ là một thao tác đơn giản mà còn là một phần quan trọng trong quy trình làm sạch và chuẩn hoá dữ liệu. Từ những cách cơ bản như Find & Replace và hàm SUBSTITUTE, đến các phương pháp nâng cao sử dụng hàm mảng, UNICODE, và macro VBA, bạn có thể linh hoạt lựa chọn giải pháp phù hợp với khối lượng và tính chất dữ liệu.
Những điểm cần nhớ:
- Luôn sao lưu dữ liệu trước khi thực hiện thay đổi hàng loạt.
- Xác định rõ ký tự cần thay và định dạng mong muốn (văn bản, ngày, số).
- Sử dụng công thức khi muốn kết quả cập nhật tự động; Find & Replace hoặc macro khi muốn thay đổi trực tiếp và nhanh chóng.
- Khi làm việc với dữ liệu tiếng Việt, hãy chú ý tới dấu thanh và đặc ký tự Unicode; có thể sử dụng hàm tùy chỉnh hoặc macro để loại bỏ dấu.
- Kiểm tra lại kết quả sau mỗi bước để tránh lỗi dữ liệu gây ảnh hưởng đến các phân tích sau này.
Hy vọng qua bài viết này, bạn đã nắm vững mọi khía cạnh của việc thay dấu trong Excel và sẵn sàng áp dụng vào công việc thực tế. Hãy thực hành các bài tập, tùy chỉnh macro theo nhu cầu riêng và chia sẻ kinh nghiệm của mình để cộng đồng Excel ngày càng mạnh mẽ hơn!
Chúc bạn thành công trong việc làm sạch và chuẩn hoá dữ liệu 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ẻ.
