Tách lấy dữ liệu giữa hai dấu phảy cuối cùng

Giả sử bạn có bảng dữ liệu như hình dưới

 

 

 

và muốn lấy dữ liệu nằm giữa hai dấy phảy cuối cùng như kết quả dưới

 

 

Để làm được việc này đầu tiên bạn cần tạo một hàm riêng biệt bằng cách bấm tổ hợp phím Alt-F11 để mở cửa sổ Microsoft Visual Basic , chọn menu Insert > Module , sao chép nội dung bên dưới

 

Function FindN(sFindWhat As String, sInputString As String, N As Integer) As Integer

Dim J As Integer

Application.Volatile

FindN = 0

For J = 1 To N

FindN = InStr(FindN + 1, sInputString, sFindWhat)

If FindN = 0 Then Exit For

Next

End Function

 

Quay trở lại Excel . Để lấy dữ liệu như hình thứ hai bạn cần thực hiện công thức như sau

=MID(A1,FindN(\",\",A1,LEN(A1)-LEN(SUBSTITUTE(A1,\",\",\"\"))-1)+1,FindN(\",\",A1,LEN(A1)-LEN(SUBSTITUTE(A1,\",\",\"\")))-FindN(\",\",A1,LEN(A1)-LEN(SUBSTITUTE(A1,\",\",\"\"))-1)-1)

Trong công thức trên

 =LEN(A1)-LEN(SUBSTITUTE(A1,\",\",\"\")) để đếm xem trong ô A1 có bao nhiêu dấu phảy .

Hàm FindN(“,”,A1,2) đếm xem dấu phảy thứ hai trong ô A1 ở vị trí số bao nhiêu

Cách thức sử dụng hàm FindN để đếm xem kí tự thứ nào đó đang đứng ở vị trí nào trong chuỗi kí tự .

Trong ví dụ trên công thức

=FindN(\",\",A1,LEN(A1)-LEN(SUBSTITUTE(A1,\",\",\"\"))) cho biết dấu phảy cuối cùng đứng vị trí số bao nhiêu

 

 

`