Giúp em công thức tách chuỗi

Liên hệ QC

Hồn Quê

Thành viên hoạt động
Tham gia
4/4/18
Bài viết
105
Được thích
8
Giới tính
Nữ
Em muốn tách dữ liệu từ cột C ra kết quả ở cột D, em cũng đã tham khảo các cách làm trên diễn đàn nhưng vì không hiểu được bản chất của vấn đề nên áp dụng vào trường hợp này lại không ra kết quả như ý muốn. Mong mọi người giúp em, em cảm ơn nhiều
 

File đính kèm

Em muốn tách dữ liệu từ cột C ra kết quả ở cột D, em cũng đã tham khảo các cách làm trên diễn đàn nhưng vì không hiểu được bản chất của vấn đề nên áp dụng vào trường hợp này lại không ra kết quả như ý muốn. Mong mọi người giúp em, em cảm ơn nhiều

Bạn xem file nhe!
 

File đính kèm

Em muốn tách dữ liệu từ cột C ra kết quả ở cột D, em cũng đã tham khảo các cách làm trên diễn đàn nhưng vì không hiểu được bản chất của vấn đề nên áp dụng vào trường hợp này lại không ra kết quả như ý muốn. Mong mọi người giúp em, em cảm ơn nhiều
Thử:
D4=MID(C4,10,SEARCH("-CS",C4)-10)
Enter fill xuống
Thân.
 

File đính kèm

Hàm này nó chỉ đúng ở đoạn đầu từ dòng 406 trở đi thì không ra kết quả bạn ơi, bạn xem lại giúp với.
Bài #1 bạn đưa dữ liệu mẫu ít quá, không nhìn ra quy luật chung.
Thử điều chỉnh:
T17=MID(C17,10,FIND("/",C17)-15)
Enter, fill xuống.
Thân.
 
Hàm này nó chỉ đúng ở đoạn đầu từ dòng 406 trở đi thì không ra kết quả bạn ơi, bạn xem lại giúp với.
Dòng 406 =MID(C4,10,SEARCH("-FP",C4)-10)
Dòng 497 = MID(C4,10,SEARCH("-CS",C4)-10)
Dòng 507 = MID(C4,10,SEARCH("-HR",C4)-10)
...
Do bạn không đưa file cần giúp nên như vậy
 
Hàm này nó chỉ đúng ở đoạn đầu từ dòng 406 trở đi thì không ra kết quả bạn ơi, bạn xem lại giúp với.
Kiểm tra cột V trong File với:
PHP:
Sub abc()
    Dim LR As Long, i As Long
    LR = Range("B" & Rows.Count).End(xlUp).Row
    Range("C17:C" & LR).Copy Range("V17")
    For i = 17 To LR
        Range("V" & i).Replace "-CS*", ""
        Range("V" & i).Replace "-FP*", ""
        Range("V" & i).Replace "-HR*", ""
        Range("V" & i).Replace "PQN18001-", ""
    Next i
End Sub
 

File đính kèm

Hàm này nó chỉ đúng ở đoạn đầu từ dòng 406 trở đi thì không ra kết quả bạn ơi, bạn xem lại giúp với.
Bây giờ bạn xác nhận lại cách lấy chuỗi của bạn:
- Từ sau dấu gạch nối (-) đầu tiên?
- Đến trước dấu gạch nối cuối cùng?
- Nếu trong chuỗi không có dấu gạch nối nào thì sao? Lấy cái gì hay để trống?
Code này nếu không lấy được chuỗi nào thì để trống.
PHP:
Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, R As Long, N1 As Long, N2 As Long
sArr = Range("B17", Range("B17").End(xlDown)).Offset(, 1).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 1)
For I = 1 To R
    If sArr(I, 1) <> Empty Then
        N1 = InStr(sArr(I, 1), "-") + 1
        N2 = InStrRev(sArr(I, 1), "-")
        If (N2 - N1) > 0 Then dArr(I, 1) = Mid(sArr(I, 1), N1, N2 - N1)
    End If
Next I
Range("T17").Resize(R) = dArr
End Sub
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom