Chủ đề ngày hôm nay Bostonenglish.edu.vn muốn gửi tới là một video hướng dẫn các bạn cách tách số tiền ra khỏi chuỗi để tính toán, bằng cách sử dụng hàm REGEXEXTRACT trong Google Sheet

Cách tách số tiền ra khỏi chuỗi để tính toán
Trong lúc làm việc với Excel mình có gặp một số trường hợp yêu cầu tách chỉ lấy phần số trong 1 chuỗi cho trước. Nhằm mục đích quản lý thông số, dữ kiện hoặc số điện thoại, ID của khách hàng, đối tác trên danh sách tổng. Vậy làm thế nào để tách số đây? Bài viết này chia sẻ với các bạn cách để thực hiện công việc tách số ra khỏi chuỗi.
Cách tách số tiền ra khỏi chuỗi để tính toán tại Bostonenglish.edu.vn
Cách tách số tiền ra khỏi chuỗi để tính toán
Trong video hướng dẫn sau đây, bạn sẽ sử dụng Google Sheets và ứng dụng Regular Expression thông qua hàm REGEXEXTRACT để có thể tách số tiền ra khỏi chuỗi để phục vụ mục đích tính toán. Với Regular Expression trong video, bạn có thể dùng để tách được số nguyên, số thập phân và số âm ra khỏi 1 đoạn text.
Chỉ cần mở GG Sheet lên cộng với hướng dẫn trong video các bạn đã có thể nắm rõ hàm hàm REGEXEXTRACT để phục vụ cho việc tính toán rồi đấy. Còn kiến thức nào về Google Sheet mà bạn đang băn khoăn không?
Tách Chữ Ra khỏi chuỗi
Đầu tiên bạn phải xác định vị trí số, để tìm vị trí số thì ta dùng hàm FIND với cấu trúc là =FIND({0;1;2;3;4;5;6;7;8;9};C4). Hàm này có nghĩa là bạn sẽ tìm từ số 0 đến số 9 trong chuỗi C4.
Tích vào góc dưới ô vừa tạo kéo xuống để định dạng cho các ô phía dưới. Kết quả trả về cho các ô có số và trả về VALUE cho các ô không có số.
Để không trả về VALUE thì bạn sửa như sau: ta tích đúp vào ô đầu tiên của trả về và thêm &”0123456789″ vào cuối hàm có nghĩa là bạn sẽ nối thêm chuỗi từ 0 đến 9 để không bị thông báo VALUE mà trả về vị trí cuối cùng của chữ cũng là vị trí bắt đầu của số. =FIND({1;2;3;4;5;6;7;8;9};C4&”0123456789″)
Tiếp theo mình thêm hàm Min phía ngoài và enter lúc này kết quả trả về là vị trí nó tìm thấy và là vị trí nhỏ nhất. Tức là trong chuỗi C4 và từ 0 đến 9 để tìm được vị trí đầu tiên và trả về.
Để kiểm tra và xem cách chạy của hàm này bạn kích vào ô vừa tìm vị trí số -> chọn vào Formulas -> Evaluate Arrows -> cửa sổ hiện lên chọn vào Evaluate để xem từng bước chạy của hàm vừa tạo.
Để tách được tên nhân viên mình làm như thế nào? Muốn tách tên nhân viên bạn dùng hàm LEFT bằng cách =LEFT(chuỗi mình cần tách;lấy vị trí bắt đầu số và trừ đi 1). =LEFT(C4;H4-1)
Riêng trong vị trí chữ vừa tách ra luôn thừa 1 khoảng trắng và để thực hiện xóa khoảng trắng này đi ta dùng thêm lệnh TRIM trước hàm LEFT là được. =TRIM(LEFT(C4;H4-1))
Bây giờ mình viết hàm chính thức lồng các hàm lại với nhau đầu tiên là =TRIM(LEFT(C4;MIN(FIND({0;1;2;3;4;5;6;7;8;9};C4&”0123456789″))-1))
Hàm tách số
Để tách số bạn sử dụng hàm RIGHT với cú pháp: =RIGHT(chuỗi bạn cần tách; LEN(chuỗi bạn cần tách)-Vị trí bắt đầu số + 1) và enter. =RIGHT(C4;LEN(C4)-H4+1)
Như vậy hàm tách số chính thức sẽ là =RIGHT(chuỗi cần tách;LEN(chuỗi cần tách);+1-MIN(FIND({0;1;2;3;4;5;6;7;8;9},chuôi cần tách & “0123456789”))). =RIGHT(C4;LEN(C4)+1-MIN(FIND({0;1;2;3;4;5;6;7;8;9};C4&”0123456789″)))
Lưu ý: cách tách chữ và số ra khỏi chuỗi này chỉ sử dụng được với trường hợp số nằm ở bên phải. Trường hợp số hoặc chữ nằm bất cứ ở đâu trong ô thì ta phải sử dụng hàm cao hơn hoặc VBA mới thực hiện được
Tách lấy số âm/ dương ra khỏi chuỗi trong Excel
Trong trường hợp mà số bạn cần tách có cả số âm và số dương thì cách tách bên trên là không khả thi. Vì nó chỉ có nhiệm vụ là tách số mà thôi, còn để tách và giữ được giá trị âm/ dương thì chúng ta cần phải sử dụng đến một đoạn code VBA khác.
Nói chung là cách làm không khác gì cả, nhưng thay vào đó bạn hãy sử dụng đoạn code VBA sau đây:
Private Function 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))) Then k = j Exit For End If Next j If k <> 0 Then m = m + 1 strText_1 = Val(Mid(subText(i), k)) ReDim Preserve so(1 To m) As Double so(m) = strText_1 End If Next i If index > 0 And index <= m Then Tach_So = so(m) Else Tach_So = "" End If End Function
Công thức hàm tách số âm dương là: =Tach_So(Vị trí ô cần tách số)
Cách làm: Hoàn toàn tương tự như hướng dẫn bên trên, chỉ thay đoạn code VBA và sử dụng công thức hàm mình mới cung cấp cho bạn là được nhé.
Bostonenglish.edu.vn cũng giúp các bạn giải đáp những vấn đề sau đây:
- Hàm tách số ra khỏi chuỗi
- Hàm REGEXEXTRACT
- Tách số ra khỏi chuỗi trong C
- Hàm tách số ra khỏi chuỗi trong Excel
- Cách lấy số trong dãy số
- Tách số trong Google Sheet
- Hàm tách số trong dãy số
- Tách số trong dãy số Excel