Làm cách nào để xóa các ký tự không phải là số khỏi một ô trong excel?

Hướng dẫn này sẽ chỉ cho bạn cách xóa các ký tự không phải là số khỏi các ô trong Excel và Google Sheet

Xóa các ký tự không phải là số

Ghi chú. Các hàm được đề cập trong bài viết này đã được giới thiệu trong Excel 2016. Nếu bạn có phiên bản Excel cũ hơn, vui lòng xem bài viết này. Tìm và trích xuất số từ chuỗi

Với các Hàm TEXTJOIN, SEQUENCE, MID và IFERROR, bạn có thể xóa tất cả các ký tự không phải là số

=TEXTJOIN["",TRUE,IFERROR[MID[B3,SEQUENCE[LEN[B3]],1]+0,""]]

Hãy xem công thức này hoạt động như thế nào

Hàm SEQUENCE và LEN trả về một mảng các số bắt đầu từ 1 đến độ dài của chuỗi chữ và số của chúng ta. Trong trường hợp của chúng tôi, nó sẽ là {1,2,3,4,5,6,7,8,9,10,11,12,13}

=TEXTJOIN["",TRUE,IFERROR[MID[B3,{1;2;3;4;5;6;7;8;9;10;11;12;13},1]+0,""]]

Hàm MID trả về các ký tự tương ứng với các vị trí từ mảng số của chúng tôi ở trên

=TEXTJOIN["",TRUE,IFERROR[{"1";"3";"M";"o";"n";"d";"a";"y";"0";"1";"D";"a";"y"}+0,""]]

Thêm 0 vào mỗi mục trong mảng sẽ gây ra lỗi nếu giá trị là văn bản. Sau đó Hàm IFERROR sẽ thay thế lỗi bằng một chuỗi trống, chỉ để lại các giá trị số

=TEXTJOIN["",TRUE,{1;3;"";"";"";"";"";"";0;1;"";"";""}]

Cuối cùng, Hàm TEXTJOIN chỉ trả về các ký tự số

Thay vì sử dụng hàm SEQUENCE, bạn có thể đạt được mục tiêu tương tự bằng cách kết hợp hàm TEXTJOIN với các hàm LEN, INDIRECT, ROW, MID và IFERROR

Giả sử bạn có một trang tính chứa nhiều dữ liệu như vậy ABCD4578124YUIOH và bạn chỉ muốn xóa các ký tự không phải là số ABCDYUIOH nhưng giữ lại các ký tự số trong các ô. Tất nhiên, bạn có thể loại bỏ từng ký tự một, nhưng ngay tại đây, bạn có thể loại bỏ các ký tự không phải là số khỏi ô một cách nhanh chóng như sau

Xóa các ký tự không phải số bằng mã VBA

Để xóa các ký tự không phải là số khỏi một phạm vi có mã VBA, vui lòng thực hiện như sau

1. Nhấp vào Nhà phát triển > Visual Basic để mở cửa sổ Microsoft Visual Basic cho ứng dụng. Trong cửa sổ Microsoft Visual Basic dành cho ứng dụng, bấm vào Chèn > Mô-đun, sau đó sao chép và dán các mã sau vào mô-đun

VBA. Xóa tất cả các ký tự không phải là số

Sub RemoveNotNum[]
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
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 "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. Sau đó nhấp vào nút

để chạy mã. Trong hộp thoại KutoolsforExcel bật lên, hãy chọn một dải ô có các ký tự không phải là số mà bạn muốn xóa rồi nhấp vào nút OK. Xem ảnh chụp màn hình.

3. Sau đó, tất cả các ký tự không phải số trong phạm vi đã chọn sẽ bị xóa

Nếu các số có dấu thập phân thì bạn có thể sử dụng VBA sau

Sub RemoveNotNum[]
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
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 "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

Bạn có thể xem kết quả như ảnh chụp màn hình bên dưới

Một công cụ tiện dụng để xóa các ký tự không phải là số chỉ bằng một cú nhấp chuột

Để xóa các ký tự không phải là số trong một phạm vi, tiện ích Xóa ký tự của Kutools cho Excel có thể hoàn thành việc đó chỉ bằng một cú nhấp chuột

Kutools cho Excel . với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.  

Chuyển đến Tải xuống
Dùng thử miễn phí 30 ngày Mua hàng
PayPal / MyCommerce

Sau khi cài đặt Kutools cho Excel, vui lòng thực hiện như bên dưới.

1. Đánh dấu phạm vi bạn muốn xóa các ký tự không phải là số. Nhấp chuột Kutools > Văn bản > Xóa ký tự

2. Trong hộp thoại Remove Characters, đánh dấu tùy chọn Non-numeric trong mục Remove Characters, rồi bấm nút OK hoặc Apply. Và các ký tự không phải là số sẽ bị xóa khỏi lựa chọn ngay lập tức. Xem ảnh chụp màn hình

Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay

Để biết thêm thông tin chi tiết về Xóa ký tự của Kutools cho Excel, vui lòng truy cập Mô tả các tính năng của Xóa ký tự

Thử nghiệm. Loại bỏ các ký tự số, chữ cái, không in được hoặc chữ số khỏi các ô

Kutools cho Excel. với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay.

Những bài viết liên quan

  • Xóa ký tự alpha khỏi ô
  • Xóa ký tự số khỏi ô
  • Xóa các ký tự không in được khỏi ô
  • Xóa các ký tự không phải alpha khỏi ô
  • Xóa các ký tự không phải chữ và số

Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng. Chèn nhanh các công thức, biểu đồ phức tạp  và bất kỳ thứ gì bạn đã sử dụng trước đây; . Encrypt Cells with password; Create Mailing List and send emails...
  • Thanh siêu công thức [dễ dàng chỉnh sửa nhiều dòng văn bản và công thức]; . Reading Layout [easily read and edit large numbers of cells]; Paste to Filtered Range...
  • Hợp nhất Ô/Hàng/Cột mà không làm mất Dữ liệu; . Ngăn chặn các ô trùng lặp; . Combine Duplicate Rows/Columns.. Prevent Duplicate Cells; Compare Ranges...
  • Chọn hàng trùng lặp hoặc duy nhất ; . Select Blank Rows [all cells are empty]; Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Sao chép chính xác Nhiều ô mà không thay đổi tham chiếu công thức; . Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Trích xuất văn bản , Thêm văn bản, Xóa theo vị trí, Xóa khoảng trắng ; . Convert Between Cells Content and Comments...
  • Siêu bộ lọc [lưu và áp dụng lược đồ bộ lọc cho các trang tính khác]; . Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Kết hợp Sổ làm việc và Trang tính ; . Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • Hơn 300 tính năng mạnh mẽ . Hỗ trợ Office/Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.

Đọc thêm. Tải xuống miễn phí. Mua.  

Tab Office Mang giao diện theo thẻ vào Office và giúp công việc của bạn dễ dàng hơn nhiều

  • Bật chỉnh sửa và đọc theo tab trong Word, Excel, PowerPoint , Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới
  • Tăng năng suất của bạn lên 50% và giảm hàng trăm lần nhấp chuột cho bạn mỗi ngày

Đọc thêm. Tải xuống miễn phí. Mua.  

 

Cũ nhất đầu tiên

Sắp xếp nhận xét theo

Cũ nhất đầu tiên

mới nhất đầu tiên

Nhận xét [ 13 ]

Chưa có xếp hạng nào. Hãy là người đầu tiên xếp hạng

JW

khoảng 9 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

mã mẫu cho ý kiến

Hồi đáp

0

0

jo

khoảng 8 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

cảm ơn bạn đã làm việc tốt

Hồi đáp

0

0

Bryan Steven

khoảng 8 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

sẽ không tốt hơn nếu thay thế phương thức hộp nhập liệu bằng cách chỉ đặt WorkRng như thế này. Đặt WorkRng = Intersect[ActiveSheet. usedRange, Selection] theo cách đó nếu người dùng chọn toàn bộ cột thì nó sẽ không tạo ra bất kỳ lỗi nào

Hồi đáp

0

0

Julie Hodnett

khoảng 8 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

TUYỆT VỜI TUYỆT VỜI

Hồi đáp

0

0

Đa-ni-ên

khoảng 8 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Ồ. đã làm việc, chính xác những gì tôi cần. Thanks,

Hồi đáp

0

0

amanda

khoảng 8 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Tôi gặp lỗi khi nhấn nút > run trong nhà phát triển. Lỗi biên dịch. Kỳ vọng. kết thúc câu lệnh và từ "không" ở dạng không phải là số được tô sáng

Hồi đáp

0

0

lễ phục sinh2015

khoảng 7 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Sử dụng Công thức này để thay thế ký tự hiện có bằng ký tự mới =SUBSTITUTE[text,old_text,new_text,[instance_num]] for ex-=SUBSTITUTE[TRIM[G1],"/",""] Chúc tất cả các bạn Lễ Phục sinh vui vẻ 2015

Hồi đáp

0

0

roger

khoảng 7 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Thanx Guys cho một công việc tốt như vậy. Kịch bản thật tuyệt vời và nó đã hoạt động cho. Cố lên nhé các bạn

Hồi đáp

0

0

cà chua

khoảng 7 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Chỉ muốn cho bạn biết rằng nếu chuỗi bắt đầu bằng [các] số không hoặc bắt đầu bằng các chữ cái, theo sau là [các] số không, tiếp theo là phần còn lại của chuỗi thì điều này sẽ xóa tất cả các số 0 ở đầu. Điều này thật kỳ lạ vì nó không xóa [các] số không nếu chúng nằm giữa các số khác không trong chuỗi, chỉ khi chúng bắt đầu chuỗi hoặc là số đầu tiên sau các chữ cái đầu tiên trong chuỗi. Thí dụ. 0060100 sẽ xuất hiện dưới dạng 60100 PFF057726 sẽ xuất hiện dưới dạng 57726. Hãy cho tôi biết nếu bạn có lời giải thích cho điều này và có thể nghĩ ra giải pháp. Cảm ơn bạn

Hồi đáp

0

0

Naresh kumar

khoảng 6 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Gửi cho tôi nó trên id email của tôi

Hồi đáp

0

0

samola     Naresh kumar

khoảng 5 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Xin chào, tôi muốn sử dụng macro này nhưng muốn xác định trước một phạm vi. Bạn có thể vui lòng cho tôi biết làm thế nào để xác định trước phạm vi. Cảm ơn Samit

Hồi đáp

0

0

sử dụng

khoảng 5 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

VBA hoạt động tốt. Tôi đã sửa đổi nó để luôn hoạt động trên một cột, như được hiển thị.

Cho Mỗi Ô Trong Phạm Vi["B2. B" & ActiveSheet. Phạm vi đã sử dụng. hàng. Đếm]

xOut = ""

For i = 1 To Len[Ô. Giá trị]

xTemp = Mid[Ô. Giá trị, i, 1]

Nếu xTemp Thích "[0-9]" Thì

xStr = xTemp

Khác

xStr = ""

End If

xOut = xOut & xStr

Next i

Cell.Value = xOut

Tiếp theo

Tôi cũng đã sử dụng điều này để sắp xếp một cột theo chữ số cuối cùng, thay đổi phần cuối cùng thành Ô. Value = Right[xOut, 1] sau đó sắp xếp theo số.

Hồi đáp

0

0

Abi DC

khoảng 5 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

HI Cảm ơn bạn đã mã hóa, tôi nhận được lỗi cú pháp được đánh dấu trên For i = 1 To Len[Rng. Value] và gỡ lỗi Sub RemoveNotNum[] được đánh dấu bằng màu vàng. khuyên một cách thiện chí

Chủ Đề