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

Liên hệ QC

lala_qn

Thành viên tiêu biểu
Tham gia
2/5/09
Bài viết
598
Được thích
17
Nghề nghiệp
chưa ổn định
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

  • vd.xlsx
    14.9 KB · Đọc: 22
Lần chỉnh sửa cuối:
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
 
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),""))
 
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
 
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.
 
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:
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

  • sheet2.xls
    53.5 KB · Đọc: 17
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.
 
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 ạ !
 
Thử:
PHP:
Sheet2!C2=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(MID(LEFT(A2,FIND("<",A2)-1),IFERROR(LOOKUP(10^10,FIND({")","/","-","+","_"},A2))+1,1),100)),"+",""),"/",""),",",""),"""","")
 
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.
 
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à
 
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 ạ !
 
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:
Web KT
Back
Top Bottom