Trong quá trình làm việc với Excel, mình có gặp một số trường hợp chỉ cần tách số của một chuỗi cho trước, nay bài chia sẻ với các bạn cách thực hiện. Bài viết dưới đây hướng dẫn chi tiết cách tách số khỏi một chuỗi nhất định trong Excel.
Có 2 cách để tách các số:
– Trường hợp 1: Tách số khỏi chuỗi và nhận giá trị dương.
– Trường hợp 2: Tách số khỏi chuỗi lấy cả giá trị âm và dương.
1. Tách số khỏi chuỗi và nhận giá trị dương
Bước 1: Mở File Excel để tách các số -> Nhấn tổ hợp phím Alt + F11 -> Cửa sổ VBA xuất hiện -> Vào tab Insert -> Module.
Bước 2: Trong cửa sổ lệnh, nhập mã sau:
Hàm 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) Kết thúc Hàm
Lưu ý: Nhớ tên của hàm này vì khi quay lại File Excel, bạn phải sử dụng nó.
Bước 3: Sau khi nhập xong bạn bấm Lưu (vì chứa macro nên khi lưu hộp thoại thông báo chỉ cần chọn Đồng ý) -> Quay lại File Excel tìm hàm như hình:
Bước 4: Sao chép công thức cho các ô còn lại với kết quả như sau:
2. Tách số khỏi chuỗi và nhận cả giá trị âm và dương
Bước 1: Mở file Excel cần tách -> Nhấn tổ hợp phím Alt + F11 -> xuất hiện cửa sổ VBA -> Vào thẻ Insert -> Module.
Bước 2: Trong cửa sổ lệnh, nhập mã sau:
Hàm riêng SuperTrim (TheStr As String) Dim Temp As String, DoubleSpase As String DoubleSpase = Chr (32) & Chr (32) Temp = Trim (TheStr) Temp = Replace (Temp, DoubleSpase, Chr (32)) Do Until InStr ( Temp, DoubleSpase) = 0 Temp = Replace (Temp, DoubleSpase, Chr (32)) Loop SuperTrim = Temp End Function Public Function Tach_So (strText As String) Dim strText_1 As String Dim subText () As String, so () As Double Dim i As Integer, j As Integer, k As Integer, m As Integer strText = SuperTrim (strText) subText = Split (strText, “”) For i = 0 To UBound (subText) For j = 1 To Len (subText (i) ) k = 0 If IsNumeric (Mid (subText (i), j, 1)) _ Or (Mid (subText (i), j, 1) = “-” And IsNumeric (Mid (subText (i), j + 1 , 1))) Sau đó k = j Thoát cho Kết thúc Nếu Tiếp theo j Nếu k 0 Thì m = m + 1 strText_1 = Val (Mid (subText (i), k)) ReDim Bảo tồn so (1 Đến m) Như Nhân đôi so ( m) = strText_1 Kết thúc Nếu Tiếp theo i Nếu chỉ mục> 0 Và chỉ mục
Lưu ý: Nhớ tên hàm “” Tach_so () “.
Bước 3: Nhấp vào Lưu, sau đó nhấp vào OK. Quay lại tệp Excel và chọn hàm Tach_so () như hình:
Bước 4: Hàm Tach_so () chỉ có một tham số là vị trí ô cần tách.
Bước 5: Copy công thức cho các ô còn lại, ta có kết quả:
Do đó, cả hai giá trị âm và dương có thể được tách biệt. Và dấu âm ở vị trí đầu tiên của ô sẽ thu được.
Lưu ý: Các hàm trên chỉ áp dụng cho một chuỗi chứa một chuỗi ký tự số liền nhau. Trường hợp dữ liệu là nhiều chuỗi số khác nhau được phân tách bằng ký tự chữ cái thì giá trị trả về là chuỗi số đầu tiên.
Chúc may mắn!
Bài viết này giúp bạn nắm bắt được thông tin về các thủ thuật khi sử dụng các ứng dụng văn phòng. Để từ đó có thể sử dụng trực tiếp những thủ thuật này để đáp ứng các yêu cầu của bạn. Việc hiểu biết các thông tin trên sẽ giúp cho công việc của bạn được thực hiện dễ dàng và thuận tiện hơn. Ngoài ra, nếu bạn còn điều gì thắc mắc, hãy truy cập website: https://www.amorstay.com.vn/ để biết thêm các thông tin chi tiết hơn nhé.
Comments