Thay Dấu Bằng Dấu Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

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:

  1. Giới thiệu tổng quan về nhu cầu thay dấu trong thực tế.
  2. 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.
  3. Thay dấu nâng cao: Kết hợp hàm REPLACE, TEXTJOIN, CHAR, UNICODE, và các hàm mảng.
  4. Xử lý dấu tiếng Việt: Thay đổi dấu thanh, dấu câu, dấu đặc biệt.
  5. Tự động hoá bằng VBA: Viết macro để thay dấu nhanh chóng trên toàn bộ workbook.
  6. Lưu ý, lỗi thường gặp và cách khắc phục.
  7. 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.

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.

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

  1. 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).
  2. Nhấn Ctrl + H để mở hộp thoại Find & Replace.
  3. Trong Find what nhập ký tự cần thay (ví dụ: “-”).
  4. Trong Replace with nhập ký tự mới (ví dụ: “_”).
  5. 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ứcKế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

Thay Dấu Bằng Dấu Trong Excel
Thay Dấu Bằng Dấu Trong Excel

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ện Replace cho toàn bộ sheet. Bạn có thể thay đổi findStr và replaceStr tù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

  1. Vào Developer → Insert → Button (Form Control).
  2. Vẽ nút trên sheet, chọn macro ReplaceCharacters hoặc RemoveVietnameseDiacritics.
  3. Đặ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ỗiNguyên nhânCá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àyThay 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ậmDuyệ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ự UnicodeNhậ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:

  1. Giả sử cột A chứa số điện thoại dạng 012-345-6789.
  2. 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 đổi findStr/replaceStr thà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ớ:

  1. Luôn sao lưu dữ liệu trước khi thực hiện thay đổi hàng loạt.
  2. Xác định rõ ký tự cần thay và định dạng mong muốn (văn bản, ngày, số).
  3. 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.
  4. 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.
  5. 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!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận