Hướng dẫn chi tiết cách chuyển Tiếng Việt có dấu thành không dấu trên Excel

Dương Mạnh Quân
Dương Mạnh Quân
Mar 15 2019

Bạn đã bao giờ gặp tình huống phải chuyển Tiếng Việt có dấu thành không dấu trên Excel chưa? Làm thế nào để bỏ dấu tiếng việt trong Excel? Hãy cùng Gitiho đi tìm câu trả lời cho các câu hỏi này nhé. Bật mí là chúng ta có tới 2 phương pháp khác nhau để làm điều này. Hãy tìm hiểu ngay nào.

Tuyệt đỉnh Excel - Trở thành bậc thầy Excel trong 16 giờ

Dùng Unikey cho Excel để chuyển Tiếng Việt có dấu thành không dấu trong Excel

Unikey là bộ gõ tiếng việt khá phổ biến mà hầu như ai cũng có. Nếu chưa có sẵn ứng dụng này, bạn có thể tải bộ gõ Unikey từ địa chỉ:

http://unikey.vn/vietnam/

Sau khi cài đặt xong, chúng ta sẽ thực hiện từng bước như sau:

Bước 1: Xem lại font chữ đang sử dụng

Mỗi font chữ sẽ gắn liền với 1 bộ gõ Unikey (bảng mã) khác nhau. Việc hiểu đúng về các loại font chữ thuộc bảng mã nào sẽ giúp bạn thực hiện thao tác chuyển đổi bỏ dấu chính xác hơn. Dưới đây là một số loại font chữ phổ biến thường sử dụng ở Việt Nam, có thể được sử dụng với Unikey cho Excel:

  • Các Font như Arial, Times New Roman, Calibri… thuộc bảng mã Unicode
  • Các Font như .VnTimes, .VnTimesH… (bắt đầu với chữ .Vn) thuộc bảng mã TCVN3
  • Các Font như VNI-Times… (bắt đầu với chữ VNI) thuộc bảng mã VNI Windows

Xem thêm: Cách gõ dấu tiếng Việt, dùng gõ tắt, chuyển mã với Unikey.

Vị trí kiểm tra font chữ nằm ở nhóm Font trên thẻ Home. Ví dụ:

kiểm tra font chữ sử dụng trong excel trên thẻ home

Đoạn nội dung trong vùng A2:A4 có font là Times New Roman, thuộc bảng gõ Unicode.

Bước 2: Sao chép nội dung cần loại bỏ dấu Tiếng Việt trong Excel

Chú ý: Trước khi thực hiện bước này, bạn cần đảm bảo nội dung trong mỗi ô phải được hiển thị đầy đủ (có thể nhìn đầy đủ bằng mắt thường). Nếu hiển thị không đầy đủ có thể khiến Unikey cho Excel chuyển đổi văn bản không chính xác như ý muốn.

Thao tác copy như sau:

  • Bôi đen vùng ô cần copy (chọn các ô cần copy)
  • Bấm phím tắt để copy: Ctrl + C (hoặc bấm chuột phải tài vùng đang chọn, bấm chọn mục Copy)

Bước 3: Sử dụng Unikey để thực hiện bỏ dấu Tiếng Việt trong Excel

Việc tiếp theo là bạn bấm chuột phải vào biểu tượng Unikey ở góc bên phải phía dưới màn hình máy tính, chọn mục Công cụ… (phím tắt là Ctrl + Shift + F6):

mở công cụ chuyển đổi của Unikey

Khi thực hiện thao tác này, bảng công cụ (Unikey Toolkit) sẽ mở ra.

Trong bảng chuyển đổi, bạn thực hiện các bước sau:

  1. Kiểm tra đúng bảng mã Nguồn và mã Đich giống nhau, cùng là bảng mã của font chữ bạn đang sử dụng
  2. Bấm vào Lựa chọn là Loại bỏ dấu
  3. Bấm vào nút Chuyển mã, sẽ xuất hiện thông báo thành công là "Successfully converted":
  4. Bấm Đóng để đóng bảng chuyển đổi lại (nếu muốn, không bắt buộc)

Bước 4: Dán kết quả vừa thu được ở bước 3 vào vị trí cần lấy kết quả

Tại vị trí muốn lấy kết quả (ví dụ ô B2), bạn bấm lệnh dán (Phím tắt Ctrl + V), chúng ta thu được kết quả như sau:

Chú ý: Khi dán kết quả sẽ cần sử dụng tới 2 cột (dù khi copy nội dung để chuyển đổi chỉ là 1 cột). Do đó bạn cần đảm bảo luôn có 2 cột trống để hiển thị đầy đủ kết quả mà không làm mất nội dung ở cột khác.

Xem thêm: Hướng dẫn cách dùng hàm IF trong Excel qua bài tập


Dùng hàm trong VBA trong Excel để chuyển Tiếng Việt có dấu thành không dấu

Bản thân Excel không cung cấp sẵn hàm để thực hiện việc bỏ dấu tiếng việt. Muốn có hàm để thực hiện việc này, bạn cần biết cách viết hàm VBA trong Excel. Sau đây chúng ta cùng tìm hiểu cách tạo hàm bỏ dấu tiếng việt trong Excel bằng VBA:

Xem thêm: Hướng dẫn từng bước cách viết Macro trong VBA Excel

Bước 1: Mở cửa sổ VBA (phím tắt Alt + F11), tạo mới 1 Module.

Bước 2: Bạn hãy sao chép đoạn code sau đây và dán vào cửa sổ viết code trong Module vừa tạo.

Function bo_dau_tieng_viet(Text As String) As String
  Dim AsciiDict As Object
  Set AsciiDict = CreateObject("scripting.dictionary")
  AsciiDict(192) = "A"
  AsciiDict(193) = "A"
  AsciiDict(194) = "A"
  AsciiDict(195) = "A"
  AsciiDict(196) = "A"
  AsciiDict(197) = "A"
  AsciiDict(199) = "C"
  AsciiDict(200) = "E"
  AsciiDict(201) = "E"
  AsciiDict(202) = "E"
  AsciiDict(203) = "E"
  AsciiDict(204) = "I"
  AsciiDict(205) = "I"
  AsciiDict(206) = "I"
  AsciiDict(207) = "I"
  AsciiDict(208) = "D"
  AsciiDict(209) = "N"
  AsciiDict(210) = "O"
  AsciiDict(211) = "O"
  AsciiDict(212) = "O"
  AsciiDict(213) = "O"
  AsciiDict(214) = "O"
  AsciiDict(217) = "U"
  AsciiDict(218) = "U"
  AsciiDict(219) = "U"
  AsciiDict(220) = "U"
  AsciiDict(221) = "Y"
  AsciiDict(224) = "a"
  AsciiDict(225) = "a"
  AsciiDict(226) = "a"
  AsciiDict(227) = "a"
  AsciiDict(228) = "a"
  AsciiDict(229) = "a"
  AsciiDict(231) = "c"
  AsciiDict(232) = "e"
  AsciiDict(233) = "e"
  AsciiDict(234) = "e"
  AsciiDict(235) = "e"
  AsciiDict(236) = "i"
  AsciiDict(237) = "i"
  AsciiDict(238) = "i"
  AsciiDict(239) = "i"
  AsciiDict(240) = "d"
  AsciiDict(241) = "n"
  AsciiDict(242) = "o"
  AsciiDict(243) = "o"
  AsciiDict(244) = "o"
  AsciiDict(245) = "o"
  AsciiDict(246) = "o"
  AsciiDict(249) = "u"
  AsciiDict(250) = "u"
  AsciiDict(251) = "u"
  AsciiDict(252) = "u"
  AsciiDict(253) = "y"
  AsciiDict(255) = "y"
  AsciiDict(352) = "S"
  AsciiDict(353) = "s"
  AsciiDict(376) = "Y"
  AsciiDict(381) = "Z"
  AsciiDict(382) = "z"
  AsciiDict(258) = "A"
  AsciiDict(259) = "a"
  AsciiDict(272) = "D"
  AsciiDict(273) = "d"
  AsciiDict(296) = "I"
  AsciiDict(297) = "i"
  AsciiDict(360) = "U"
  AsciiDict(361) = "u"
  AsciiDict(416) = "O"
  AsciiDict(417) = "o"
  AsciiDict(431) = "U"
  AsciiDict(432) = "u"
  AsciiDict(7840) = "A"
  AsciiDict(7841) = "a"
  AsciiDict(7842) = "A"
  AsciiDict(7843) = "a"
  AsciiDict(7844) = "A"
  AsciiDict(7845) = "a"
  AsciiDict(7846) = "A"
  AsciiDict(7847) = "a"
  AsciiDict(7848) = "A"
  AsciiDict(7849) = "a"
  AsciiDict(7850) = "A"
  AsciiDict(7851) = "a"
  AsciiDict(7852) = "A"
  AsciiDict(7853) = "a"
  AsciiDict(7854) = "A"
  AsciiDict(7855) = "a"
  AsciiDict(7856) = "A"
  AsciiDict(7857) = "a"
  AsciiDict(7858) = "A"
  AsciiDict(7859) = "a"
  AsciiDict(7860) = "A"
  AsciiDict(7861) = "a"
  AsciiDict(7862) = "A"
  AsciiDict(7863) = "a"
  AsciiDict(7864) = "E"
  AsciiDict(7865) = "e"
  AsciiDict(7866) = "E"
  AsciiDict(7867) = "e"
  AsciiDict(7868) = "E"
  AsciiDict(7869) = "e"
  AsciiDict(7870) = "E"
  AsciiDict(7871) = "e"
  AsciiDict(7872) = "E"
  AsciiDict(7873) = "e"
  AsciiDict(7874) = "E"
  AsciiDict(7875) = "e"
  AsciiDict(7876) = "E"
  AsciiDict(7877) = "e"
  AsciiDict(7878) = "E"
  AsciiDict(7879) = "e"
  AsciiDict(7880) = "I"
  AsciiDict(7881) = "i"
  AsciiDict(7882) = "I"
  AsciiDict(7883) = "i"
  AsciiDict(7884) = "O"
  AsciiDict(7885) = "o"
  AsciiDict(7886) = "O"
  AsciiDict(7887) = "o"
  AsciiDict(7888) = "O"
  AsciiDict(7889) = "o"
  AsciiDict(7890) = "O"
  AsciiDict(7891) = "o"
  AsciiDict(7892) = "O"
  AsciiDict(7893) = "o"
  AsciiDict(7894) = "O"
  AsciiDict(7895) = "o"
  AsciiDict(7896) = "O"
  AsciiDict(7897) = "o"
  AsciiDict(7898) = "O"
  AsciiDict(7899) = "o"
  AsciiDict(7900) = "O"
  AsciiDict(7901) = "o"
  AsciiDict(7902) = "O"
  AsciiDict(7903) = "o"
  AsciiDict(7904) = "O"
  AsciiDict(7905) = "o"
  AsciiDict(7906) = "O"
  AsciiDict(7907) = "o"
  AsciiDict(7908) = "U"
  AsciiDict(7909) = "u"
  AsciiDict(7910) = "U"
  AsciiDict(7911) = "u"
  AsciiDict(7912) = "U"
  AsciiDict(7913) = "u"
  AsciiDict(7914) = "U"
  AsciiDict(7915) = "u"
  AsciiDict(7916) = "U"
  AsciiDict(7917) = "u"
  AsciiDict(7918) = "U"
  AsciiDict(7919) = "u"
  AsciiDict(7920) = "U"
  AsciiDict(7921) = "u"
  AsciiDict(7922) = "Y"
  AsciiDict(7923) = "y"
  AsciiDict(7924) = "Y"
  AsciiDict(7925) = "y"
  AsciiDict(7926) = "Y"
  AsciiDict(7927) = "y"
  AsciiDict(7928) = "Y"
  AsciiDict(7929) = "y"
  AsciiDict(8363) = "d"
  Text = Trim(Text)
  If Text = "" Then Exit Function
  Dim Char As String, _
    NormalizedText As String, _
    UnicodeCharCode As Long, _
    i As Long
  'Remove accent marks (diacritics) from text
  For i = 1 To Len(Text)
    Char = Mid(Text, i, 1)
    UnicodeCharCode = AscW(Char)
    If (UnicodeCharCode < 0) Then
      'See http://support.microsoft.com/kb/272138
      UnicodeCharCode = 65536 + UnicodeCharCode
    End If
    If AsciiDict.Exists(UnicodeCharCode) Then
      NormalizedText = NormalizedText & AsciiDict.Item(UnicodeCharCode)
    Else
      NormalizedText = NormalizedText & Char
    End If
  Next
  bo_dau_tieng_viet = NormalizedText
End Function

Bước 3: Trở về màn hình làm việc chính. Nhờ có VBA trong Excel, bây giờ bạn đã có thể sử dụng hàm bo_dau_tieng_viet để bỏ dấu Tiếng Việt trong Excel được rồi.

Một số lưu ý:

  • Bạn cần lưu file dưới dạng Enable-macro Workbook (.xlsm) nếu không sẽ mất hết các code đã có (khi đóng file), bởi dạng file thông thường .xlsx không cho phép lưu trữ các đoạn code VBA trong Excel.
  • Code nằm ở file nào thì chỉ file đó sử dụng được mà thôi. Do đó khi mở file khác không có chứa đoạn code trên thì bạn sẽ không thấy hàm bo_dau_tieng_viet.

Xem thêm: Hướng dẫn cách dùng hàm SUMIF trong Excel có ví dụ cụ thể

Tổng kết

Vậy là chúng ta vừa tìm hiểu hai cách chuyển Tiếng Việt có dấu thành không dấu trong Excel: sử dụng Unikey cho Excel hoặc sử dụng VBA. Đặc biệt, ngoài việc tạo ra các hàm theo ý muốn, VBA trong Excel còn giúp bạn tự động hóa các thao tác thường xuyên lặp đi lặp lại, hay biến file Excel thành một phần mềm giúp làm việc hiệu quả hơn. Bạn có thể tìm hiểu khóa học Tuyệt đỉnh VBA của Gitiho dành cho người mới bắt đầu.

Tuyệt đỉnh VBA cách viết code trong VBA từ A đến Z

Hi vọng các kiến thức trong bài sẽ được các bạn áp dụng thành công!

Tham khảo thêm các bài viết về Excel: 

Hướng dẫn cách dùng hàm index trong Excel chi tiết nhất

Hướng dẫn cách copy chỉ những giá trị hiển thị sau khi lọc trong Excel

Hướng dẫn cách sắp xếp ngày trong Excel

Hướng dẫn cách dùng hàm VLOOKUP qua các ví dụ từ cơ bản đến nâng cao

Hướng dẫn cách sử dụng hàm IF với nhiều điều kiện: AND, OR, hàm IF lồng nhau và hơn thế

Đánh giá bài viết này

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 2)

Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 2)

Hướng dẫn cách phân biệt Data Table với Lookup Table trong Power Pivot

Hướng dẫn cách phân biệt Data Table với Lookup Table trong Power Pivot

Hướng dẫn cách mở thẻ Power Pivot trên thanh Menu của Excel

Hướng dẫn cách mở thẻ Power Pivot trên thanh Menu của Excel

Hướng dẫn cách phân biệt giữa Power Pivot và Pivot Table

Hướng dẫn cách phân biệt giữa Power Pivot và Pivot Table

Hướng dẫn cách kết nối các bảng trong Power Pivot

Hướng dẫn cách kết nối các bảng trong Power Pivot

Hướng dẫn cách đổi tên bảng và tên cột trong Power Pivot

Hướng dẫn cách đổi tên bảng và tên cột trong Power Pivot

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội