giúp em hàm bóc tách dữ liệu ạ

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
em chào cả nhà !
em có up file vd kèm theo, em cần bóc tách dữ liệu ở sheet1 và sheet2
nhờ anh chị giúp dùm em hàm ở 2 sheet với ạ, em cảm ơn nhiều ạ !
 

File đính kèm

Lần chỉnh sửa cuối:

phihndhsp

Thành viên gạo cội
Tham gia ngày
26 Tháng mười hai 2009
Bài viết
3,319
Được thích
2,409
Điểm
860
em chào cả nhà !
em có up file vd kèm theo, em cần bóc tách dữ liệu ở sheet1 và sheet2
nhờ anh chị giúp dùm em với ạ, em cảm ơn nhiều ạ !
Nếu dữ liệu như thế này thì có thể dùng từ khóa viet để tìm kiếm và từ khóa vn trong chuỗi sau khi tìm thấy chữ viet
 

ngoctinh87

Thành viên thường trực
Tham gia ngày
17 Tháng mười 2011
Bài viết
271
Được thích
328
Điểm
410
em chào cả nhà !
em có up file vd kèm theo, em cần bóc tách dữ liệu ở sheet1 và sheet2
nhờ anh chị giúp dùm em với ạ, em cảm ơn nhiều ạ !
Tạm dùng công thức này vậy, chỉ đúng kết quả trong file, nếu phát sinh thêm thì tính tiếp
Mã:
=TRIM(SUBSTITUTE(MID(SUBSTITUTE(A2,"<",REPT(" ",100)),FIND("viet",A2),50),CHAR(34),""))
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng

File đính kèm

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
Tạm dùng công thức này vậy, chỉ đúng kết quả trong file, nếu phát sinh thêm thì tính tiếp
Mã:
=TRIM(SUBSTITUTE(MID(SUBSTITUTE(A2,"<",REPT(" ",100)),FIND("viet",A2),50),CHAR(34),""))
dạ ở sheet2, đây chỉ là file vd, chứ thực tế sẽ có rất nhiều trang web khác nhau chứ ko phải 1 trang web "viettoan" anh, hiccc
Bài đã được tự động gộp:

dạ sheet2 đó chỉ là e vd "viettoan" , trên thực tế có rất nhiều tên trang web khác nhau anh, hic
Bài đã được tự động gộp:

dạ ở sheet2, đây chỉ là file vd, chứ thực tế sẽ có rất nhiều trang web khác nhau chứ ko phải 1 trang web "viettoan" anh, hiccc
Bài đã được tự động gộp:


dạ sheet2 đó chỉ là e vd "viettoan" , trên thực tế có rất nhiều tên trang web khác nhau ạ, hic
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng
dạ ở sheet2, đây chỉ là file vd, chứ thực tế sẽ có rất nhiều trang web khác nhau chứ ko phải 1 trang web "viettoan" anh, hiccc
Bài đã được tự động gộp:


dạ sheet2 đó chỉ là e vd "viettoan" , trên thực tế có rất nhiều tên trang web khác nhau anh, hic
Bài đã được tự động gộp:
Bạn đưa thế nào thì chúng tôi biết đên đâu giúp bạn tới đó.
Nếu bạn có hàng trăm trang Web cần xử lý, hãy gửi lên đây để các thành viên thử sức.
 

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
Bạn đưa thế nào thì chúng tôi biết đên đâu giúp bạn tới đó.
Nếu bạn có hàng trăm trang Web cần xử lý, hãy gửi lên đây để các thành viên thử sức.
dạ, tại dữ liệu hơi cá nhân, nên em viết các mẫu các trường hợp sẽ xảy ra để anh chị nhìn dễ ạ, em mới cập nhật lại vd ạ
Bài đã được tự động gộp:
 
Lần chỉnh sửa cuối:

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng
dạ, tại dữ liệu hơi cá nhân, nên em viết các mẫu các trường hợp sẽ xảy ra để anh chị nhìn dễ ạ, em mới cập nhật lại vd ạ
Bài đã được tự động gộp:
Tất cả tôi đã làm trong File, bạn xem nhé
 

File đính kèm

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng
dạ vd trên thực tế có hàng nghìn web thì làm sao lấy mẫu để LOOKUP anh nhỉ hic
Thực ra, tôi biết bạn đang cần 1 đoạn VBA code, tôi cũng đã thử, nhưng xử lý chưa triệt để nên dùng tạm hàm Lookup.
Bạn cố gắng chờ đợi, biết đâu có thành viên nào đó ngang qua giúp bạn thực hiện được điều mong ước.
 

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
Thực ra, tôi biết bạn đang cần 1 đoạn VBA code, tôi cũng đã thử, nhưng xử lý chưa triệt để nên dùng tạm hàm Lookup.
Bạn cố gắng chờ đợi, biết đâu có thành viên nào đó ngang qua giúp bạn thực hiện được điều mong ước.
dạ, nhờ anh chị giúp dùm em bài này với ạ !
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng

excel_lv1.5

Thành viên tiêu biểu
Tham gia ngày
20 Tháng mười 2017
Bài viết
601
Được thích
1,026
Điểm
360
em chào cả nhà !
em có up file vd kèm theo, em cần bóc tách dữ liệu ở sheet1 và sheet2
nhờ anh chị giúp dùm em hàm ở 2 sheet với ạ, em cảm ơn nhiều ạ !
Bạn thử code này xem:
PHP:
Function tach(str As String, Optional n As Long = 1) As String
Dim result()
result = Array(".com", ".vn", ".com.vn", ".net", ".net.vn", ".org", ".org.vn", ".info", ".biz")
With CreateObject("vbscript.regexp")
    .Global = True
    If n = 3 Then
        .Pattern = "(www.)?([a-zA-Z0-9.-]+)([^a-zA-Z0-9.-]{1,2})?<"
    Else
        .Pattern = "(www.)?(.+(" + Join(result, "|") + ")).*(@.+)"
    End If
    If .test(str) Then
        Select Case n
            Case 1
                tach = .Execute(str)(0).submatches(1)
            Case 2
                tach = .Execute(str)(0).submatches(3)
            Case 3
                tach = .Execute(str)(0).submatches(1)
        End Select
    End If
End With
End Function
Sheet1 thì dùng các công thức tach(...,1) và tach(...,2)
Sheet3 thì dùng các công thức tach(...,3)
Hên xui nhe, không được thì thôi nhe bạn.
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng
Bạn thử code này xem:
PHP:
Function tach(str As String, Optional n As Long = 1) As String
Dim result()
result = Array(".com", ".vn", ".com.vn", ".net", ".net.vn", ".org", ".org.vn", ".info", ".biz")
With CreateObject("vbscript.regexp")
    .Global = True
    If n = 3 Then
        .Pattern = "(www.)?([a-zA-Z0-9.-]+)([^a-zA-Z0-9.-]{1,2})?<"
    Else
        .Pattern = "(www.)?(.+(" + Join(result, "|") + ")).*(@.+)"
    End If
    If .test(str) Then
        Select Case n
            Case 1
                tach = .Execute(str)(0).submatches(1)
            Case 2
                tach = .Execute(str)(0).submatches(3)
            Case 3
                tach = .Execute(str)(0).submatches(1)
        End Select
    End If
End With
End Function
Sheet1 thì dùng các công thức tach(...,1) và tach(...,2)
Sheet3 thì dùng các công thức tach(...,3)
Hên xui nhe, không được thì thôi nhe bạn.
Hoàng tử của lòng em đây rồi !
Khà khà
 

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
Bạn thử code này xem:
PHP:
Function tach(str As String, Optional n As Long = 1) As String
Dim result()
result = Array(".com", ".vn", ".com.vn", ".net", ".net.vn", ".org", ".org.vn", ".info", ".biz")
With CreateObject("vbscript.regexp")
    .Global = True
    If n = 3 Then
        .Pattern = "(www.)?([a-zA-Z0-9.-]+)([^a-zA-Z0-9.-]{1,2})?<"
    Else
        .Pattern = "(www.)?(.+(" + Join(result, "|") + ")).*(@.+)"
    End If
    If .test(str) Then
        Select Case n
            Case 1
                tach = .Execute(str)(0).submatches(1)
            Case 2
                tach = .Execute(str)(0).submatches(3)
            Case 3
                tach = .Execute(str)(0).submatches(1)
        End Select
    End If
End With
End Function
Sheet1 thì dùng các công thức tach(...,1) và tach(...,2)
Sheet3 thì dùng các công thức tach(...,3)
Hên xui nhe, không được thì thôi nhe bạn.
em Alt F11 > module > nhập code rùi lưu lại ko dc anh
nhờ anh nhập code vào file dùm em với ạ !
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,415
Được thích
4,242
Điểm
560
Nơi ở
Hải Phòng

File đính kèm

lala_qn

Thành viên tiêu biểu
Tham gia ngày
2 Tháng năm 2009
Bài viết
598
Được thích
17
Điểm
710
Nơi ở
qn
Phí rượu quá, khà khà.
cảm ơn anh!
Bài đã được tự động gộp:

Hoàng tử của lòng em đây rồi !
Khà khà
ở sheet1 lọc trong chuỗi địa chỉ mail chỉ lấy đoạn từ đuôi tên miền trang web đến dấu chấm ạ
vd: tuan.phamhoa.vn@gmail.com, thì chỉ lọc lấy kết quả là phamhoa.vn
trong file vd em có mô tả kết quả kĩ anh
anh xem chỉnh lại code giúp e với ạ !
 
Lần chỉnh sửa cuối:
Top Bottom