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 LongDim sText As StringDim lNum As StringsText = rCellFor lCount = Len(sText) To 1 Step -1If IsNumeric(Mid(sText, lCount, 1)) ThenlNum = Mid(sText, lCount, 1) & lNumEnd IfNext lCountExtractNumber = 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 ạ!