[Help] Lấy giá trị từ dấu ; thứ 02

Liên hệ QC

ngoctuyen1995

Thành viên hoạt động
Tham gia
25/4/17
Bài viết
194
Được thích
19
Giới tính
Nữ
Thân chào cả nhà GPE!
Mong cả nhà giúp em một việc ạ...
Hiện tại em có 01 list data GPS, công việc của em là:

1. Lấy từ trái sang thì bắt đầu từ dấu ; thứ 02
2. Trường hợp GPS có dấu chấm Thì chỉ lấy các số trước dấu chấm

Ví dụ:
10.01434657;105.78372148;3;gps ---> Kết quả: là lấy số : 3
16.0576511;108.2204801;23.683;network ---> Kết quả: là lấy số : 23
- Em có đính kèm File và ví dụ trong đó ạ...

Mong cả nhà giúp đỡ em..! Em cảm ơn ạ.
 

File đính kèm

  • GPS.xlsx
    10.3 KB · Đọc: 14
Thân chào cả nhà GPE!
Mong cả nhà giúp em một việc ạ...
Hiện tại em có 01 list data GPS, công việc của em là:

1. Lấy từ trái sang thì bắt đầu từ dấu ; thứ 02
2. Trường hợp GPS có dấu chấm Thì chỉ lấy các số trước dấu chấm

Ví dụ:
10.01434657;105.78372148;3;gps ---> Kết quả: là lấy số : 3
16.0576511;108.2204801;23.683;network ---> Kết quả: là lấy số : 23
- Em có đính kèm File và ví dụ trong đó ạ...

Mong cả nhà giúp đỡ em..! Em cảm ơn ạ.
Bạn thử:
PHP:
Sub abc()
    Dim LR As Long, i As Long
    LR = Range("A" & Rows.Count).End(xlUp).Row
    Application.ScreenUpdating = False
    For i = 2 To LR
        If Range("A" & i) <> Empty Then
            Range("B" & i) = Round((Split(Range("A" & i), ";")(2)), 0)
        End If
    Next i
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • SPLIT-abc.xls
    41.5 KB · Đọc: 9
Upvote 0
Thân chào cả nhà GPE!
Mong cả nhà giúp em một việc ạ...
Hiện tại em có 01 list data GPS, công việc của em là:

1. Lấy từ trái sang thì bắt đầu từ dấu ; thứ 02
2. Trường hợp GPS có dấu chấm Thì chỉ lấy các số trước dấu chấm

Ví dụ:
10.01434657;105.78372148;3;gps ---> Kết quả: là lấy số : 3
16.0576511;108.2204801;23.683;network ---> Kết quả: là lấy số : 23
- Em có đính kèm File và ví dụ trong đó ạ...

Mong cả nhà giúp đỡ em..! Em cảm ơn ạ.
 

File đính kèm

  • GPS_.xlsb
    16.4 KB · Đọc: 4
Upvote 0
Vừa sáng có vụ hàm Round() mà anh.

(B15=24)
Để có B15=23, anh thay:
PHP:
Range("B" & i) = Round((Split(Range("A" & i), ";")(2)) , 0)
bằng:
PHP:
Range("B" & i) = Round((Split(Range("A" & i), ";")(2)) - 0.2, 0)
Chỉ áp dụng cho bài toán này được không em?
 
Upvote 0
Để có B15=23, anh thay:
PHP:
Range("B" & i) = Round((Split(Range("A" & i), ";")(2)) , 0)
bằng:
PHP:
Range("B" & i) = Round((Split(Range("A" & i), ";")(2)) - 0.2, 0)
Chỉ áp dụng cho bài toán này được không em?
Anh thử với "23.999" xem.
Mã:
Sub vidu()
    Dim t, n
    t = "23.999"
    n = Round(t - 0.2)
    MsgBox n
End Sub
Bài yêu cầu lấy phần nguyên thì mình sử dụng hàm lấy phần nguyên ấy anh.
 
Upvote 0
Đây bạn ơi, ko phải VBA gì đâu
 

File đính kèm

  • GPS.xlsx
    11.4 KB · Đọc: 7
Upvote 0
Anh thử với "23.999" xem.
Mã:
Sub vidu()
    Dim t, n
    t = "23.999"
    n = Round(t - 0.2)
    MsgBox n
End Sub
Bài yêu cầu lấy phần nguyên thì mình sử dụng hàm lấy phần nguyên ấy anh.
Vậy thì thế này:
PHP:
 Range("B" & i) = Int((Split(Range("A" & i), ";")(2)))
 
Upvote 0
Upvote 0
Thân chào cả nhà GPE!
Mong cả nhà giúp em một việc ạ...
Hiện tại em có 01 list data GPS, công việc của em là:

1. Lấy từ trái sang thì bắt đầu từ dấu ; thứ 02
2. Trường hợp GPS có dấu chấm Thì chỉ lấy các số trước dấu chấm

Ví dụ:
10.01434657;105.78372148;3;gps ---> Kết quả: là lấy số : 3
16.0576511;108.2204801;23.683;network ---> Kết quả: là lấy số : 23
- Em có đính kèm File và ví dụ trong đó ạ...

Mong cả nhà giúp đỡ em..! Em cảm ơn ạ.
Thử cách sau:
PHP:
=INT(TRIM(LEFT(SUBSTITUTE(MID(A2,FIND("|",SUBSTITUTE(A2,";","|",2))+1,10),";",REPT(" ",10)),10)))
 
Upvote 0
Vậy thì thế này:
PHP:
 Range("B" & i) = Int((Split(Range("A" & i), ";")(2)))
Em cảm ơn cả nhà đã tận tình giúp đỡ em ạ...! Em làm được rồi ạ...

Chúc cả nhà sức khoẻ và thành công ạ... Diễn đàn mình ngày càng phát triển
 
Upvote 0
Web KT
Back
Top Bottom