Khi làm việc với dữ liệu excel nhiều lúc bạn gặp dữ liệu vừa số vừa chữ lộn xôn, không theo một quy luật nào cả (ví dụ: N123E, 155F, U33) mà ta chỉ cần lấy số mà thôi, nếu như ta dùng hàm LEFT hay hàm RIGHT để lấy thì rất bất tiện. Làm sao tách số ra khỏi chuỗi đây? Trong Excel không có hàm để làm việc này. Nhưng thật mai mắn Excel có hỗ trợ ta viết hàm theo ý muốn, ta có thể tự viết hàm tách số ra khỏi chuỗi để giải quyết vấn đề trên, ta có thể đặt tên cho nó là hàm ExtractNumber.
Bây giờ chúng ta cùng viết hàm ExtractNumber nha:
- Bước 1: mở Microsoft Excel lên
- Bước 2: nhấn Alt F11 -> mở ra cửa sổ Microsoft Visual Basic -> Insert -> Module
- Bước 3: Bạn nhập đoạn code bên dưới vào cửa sổ Book1-Module1 (Code), hình minh hoại bên dưới:
1
2
3
4
5
6
7
8
9
10
11
12
|
Function ExtractNumber(rCell As Range) Dim lCount As Long Dim sText As String Dim lNum As String sText = rCell For lCount = Len(sText) To 1 Step -1 If IsNumeric(Mid(sText, lCount, 1)) Then lNum = Mid(sText, lCount, 1) & lNum End If Next lCount ExtractNumber = CLng(lNum) End Function |
Vậy là bạn đã có thể dùng hàm ExtractNumber để tách số ra khỏi chuỗi rồi đó.
- Bước 4: Quay lại Microsoft Excel, bạn dùng hàm ExtractNumber như hình bên dưới:
Nguồn: Tổng hợp từ Internet
Mình có chuỗi ký tự như sau:
1. Acb_gh1244_cc
2. cb_gh1244_cc,acb_gh567_cc
Giờ mình muốn tách số nhưng nếu gặp định dạng ở dòng 2 mình chỉ muốn lấy số ở vế cuối thôi thì phải làm thế nào? Thanks nhiều ạ!