Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Hướng dẫn Excel: 2 cách đơn giản xóa ký tự không phải chữ số khỏi ô

Hôm nay trong bài này, chúng tôi sẽ demo cách xóa ký tự không phải chữ số (non-alphanumeric) khỏi ô trong Excel. Đây là vấn đề thường gặp đặc biệt khi xử lý dữ liệu thô. Số, chữ và ký tự đặc biệt lẫn lộn trong ô, đôi khi cần tách riêng chữ và số. Có nhiều công thức xóa ký tự non-alphanumeric dùng mã lập trình VBA và Hàm do người dùng định nghĩa. Chúng ta sẽ học trong bài này.

Tải tệp thực hành để tập làm theo bài viết.

2 cách phù hợp xóa ký tự non-alphanumeric trong Excel

Hãy tưởng tượng nhận được dữ liệu thô cần phân tích, thấy số và chữ lẫn lộn với ký tự đặc biệt trong một cột. Để làm việc thuận tiện, cần loại bỏ chúng khỏi chuỗi. Chạy mã VBA hoặc áp dụng hàm do người dùng định nghĩa có thể giúp ích. Phần này demo các phương pháp phù hợp.

1. Chạy mã VBA xóa ký tự non-alphanumeric

Có thể dùng mã macro VBA để xóa ký tự non-alphanumeric khỏi ô trong Excel. Demo phương pháp dưới đây.

Bước 1:

  • Mở cửa sổ Microsoft Visual Basic for Applications. Nhấn Alt+F11.
  • Cửa sổ mới mở. Nhấn Chèn chọn Module mở module mới.

Bước 2:

  • Trong module mới, chèn mã VBA xóa ký tự non-alphanumeric. Mã như sau:
Sub VBA_to_remove()
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "Non-alphanumeric text remove"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
        xOut = ""
        For i = 1 To Len(Rng.Value)
            xTemp = Mid(Rng.Value, i, 1)
            If xTemp Like "[a-z.]" Or xTemp Like "[A-Z.]" Or xTemp Like "[0-9.]" Then
                xStr = xTemp
            Else
                xStr = ""
            End If
            xOut = xOut & xStr
        Next i
        Rng.Value = xOut
    Next
End Sub
  • Chạy mã nhấn F5. Chọn phạm vi và nhấn OK để hoàn tất.
  • Đã xóa thành công ký tự non-alphanumeric khỏi ô.

Đọc thêm: Cách xóa ký tự không phải số khỏi ô trong Excel

2. Áp dụng Hàm do người dùng định nghĩa (UDF) xóa ký tự non-alphanumeric

Vì Excel không có hàm riêng để xóa ký tự non-alphanumeric, bạn có thể tự tạo! Đúng vậy, bạn có thể định nghĩa hàm tùy chỉnh. Cần viết mã VBA. Quy trình dưới đây. Để biết thêm về hàm tùy chỉnh, Nhấn vào đây!

Bước 1:

  • Vào cửa sổ Microsoft Visual Basic for Applications nhấn Alt+F11.
  • Viết mã cho UDF. Đặt tên hàm RemoveNonAlphaNumeric. Mã tạo hàm:
Function RemoveNonAlphaNumeric(xStr As String) As String
    Dim xStrR As String
    Dim xCh As String
    Dim xStrMode As String
    Dim xInt As Integer
    xStrMode = "[A-Z.a-z 0-9]"
    xStrR = ""
    For xInt = 1 To Len(xStr)
        xCh = Mid(xStr, xInt, 1)
        If xCh Like xStrMode Then
            xStrR = xStrR & xCh
        End If
    Next
    RemoveNonAlphaNumeric = xStrR
End Function

Bước 2:

  • Mã đã viết xong. Quay lại bảng tính gõ hàm =RemoveNonAlphaNumeric. Hàm đã được tạo.
  • Áp dụng hàm ở ô C4. Hàm là:
=RemoveNonAlphaNumeric(B4)
  • Nhấn ENTER lấy kết quả.
  • Hàm tùy chỉnh hoạt động tốt. Áp dụng cho các ô còn lại lấy kết quả cuối.

Đọc thêm: Cách xóa ký tự trong Excel (6 phương pháp)

Lưu ý

👉 Tạo công thức tùy chỉnh có nhiều hạn chế hơn macro VBA thông thường. Không thể thay đổi cấu trúc hoặc định dạng trang tính/ô.

👉 Nếu không thấy tab Developer, kích hoạt theo hướng dẫn: Tùy chỉnh Thanh công cụ truy cập nhanh → Tùy chọn khác → Tùy chỉnh Ribbon → Developer → OK

Kết luận

Trong hướng dẫn này, chúng ta đã xem 2 cách tiếp cận khác nhau. Chào đón bình luận nếu bạn có câu hỏi. Để phản hồi ở phần bình luận. Cảm ơn đã ghé ExcelDemy. Học tập vui vẻ!

Bài viết liên quan

  • Excel xóa ký tự từ bên phải (5 cách)
  • Cách xóa ký tự cuối trong Excel (6 cách dễ nhất)
  • Xóa gạch ngang từ số điện thoại trong Excel (4 cách)
  • Cách xóa ký tự đầu trong Excel (6 phương pháp)
  • Cách xóa ký tự từ bên trái trong Excel (6 cách)