Nhờ các bạn giúp mình tách dữ liệu trong excel (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

maivang123

Thành viên chính thức
Tham gia
22/8/08
Bài viết
65
Được thích
5
Mình có file excel lên đến cả ngàn dòng, nhờ các bạn hướng dẫn tách ra từng field theo dấu hiện nhận biết như minh họa trong file đính kèm.

Trong file đính kèm có 2 sheet: Sheet1 là file gốc, Sheet2 là file minh họa cần cho ra kết quả (vùng bên trái là gốc, vùng tô màu vàng là kết quả sau khi tách).

Mong các bạn giúp đỡ.

Xin cảm ơn tất cả mọi người đã giúp
 

File đính kèm

Mình có file excel lên đến cả ngàn dòng, nhờ các bạn hướng dẫn tách ra từng field theo dấu hiện nhận biết như minh họa trong file đính kèm.

Trong file đính kèm có 2 sheet: Sheet1 là file gốc, Sheet2 là file minh họa cần cho ra kết quả (vùng bên trái là gốc, vùng tô màu vàng là kết quả sau khi tách).

Mong các bạn giúp đỡ.

Xin cảm ơn tất cả mọi người đã giúp

File mở cả buổi k lên
 
File mở cả buổi k lên
À bạn có mở ko, hay là bạn thấy mình nói thế sợ quá ko mở nữa. Mình nói thế chứ file đưa lên chỉ có vài chục dòng mẫu thôi. Câu chữ chưa chuẩn mong bạn thông cảm. Hy vọng mọi người có thể giúp đỡ mình.
Bài đã được tự động gộp:

File nhẹ mà bạn.Mình mở mất tầm 2 giây. Nhưng khó giải quyết lắm.:D
Thank bạn đã quan tâm. hi
 
Mình có file excel lên đến cả ngàn dòng, nhờ các bạn hướng dẫn tách ra từng field theo dấu hiện nhận biết như minh họa trong file đính kèm.

Trong file đính kèm có 2 sheet: Sheet1 là file gốc, Sheet2 là file minh họa cần cho ra kết quả (vùng bên trái là gốc, vùng tô màu vàng là kết quả sau khi tách).

Mong các bạn giúp đỡ.

Xin cảm ơn tất cả mọi người đã giúp
Code tương đối thôi, file bạn dữ liệu nhiều trường hợp quá, cái nào không được bạn tự xử nhe.
PHP:
Function spl(ByVal str As String, Optional ByVal n As Long = 0) As String
Static reg As Object
Dim ptn As String
If reg Is Nothing Then Set reg = CreateObject("vbscript.regexp")
reg.Global = True: reg.ignorecase = True
Select Case n
    Case Is > 6
        reg.Pattern = "([^\:]+)\:(.+)"
    Case Else
        reg.Pattern = _
                    "^\d{1,3}\/\.\s?" & _
                    "([^\.]+)\.\s?" & _
                    "([^\:\/]+)(?:\:\s){0,2}\s?" & _
                    "(?:((?:[^\/]+))?\/\1\;\s?NHD:\s?" & _
                    "([^\-]+)\.\-?\s?" & _
                    "([^\,]+)\,\s?" & _
                    "(\d+).*)?$"
End Select
If reg.test(str) Then
    Select Case n
    Case 7
        spl = reg.Replace(str, "$1")
    Case 8
        spl = reg.Replace(str, "$2")
    Case Else
        spl = reg.Execute(str)(0).submatches(n - 1)
    End Select
End If
End Function
 

File đính kèm

Code tương đối thôi, file bạn dữ liệu nhiều trường hợp quá, cái nào không được bạn tự xử nhe.
PHP:
Function spl(ByVal str As String, Optional ByVal n As Long = 0) As String
Static reg As Object
Dim ptn As String
If reg Is Nothing Then Set reg = CreateObject("vbscript.regexp")
reg.Global = True: reg.ignorecase = True
Select Case n
    Case Is > 6
        reg.Pattern = "([^\:]+)\:(.+)"
    Case Else
        reg.Pattern = _
                    "^\d{1,3}\/\.\s?" & _
                    "([^\.]+)\.\s?" & _
                    "([^\:\/]+)(?:\:\s){0,2}\s?" & _
                    "(?:((?:[^\/]+))?\/\1\;\s?NHD:\s?" & _
                    "([^\-]+)\.\-?\s?" & _
                    "([^\,]+)\,\s?" & _
                    "(\d+).*)?$"
End Select
If reg.test(str) Then
    Select Case n
    Case 7
        spl = reg.Replace(str, "$1")
    Case 8
        spl = reg.Replace(str, "$2")
    Case Else
        spl = reg.Execute(str)(0).submatches(n - 1)
    End Select
End If
End Function
Rất cảm ơn bạn vì đã giúp đỡ.
 
Code tương đối thôi, file bạn dữ liệu nhiều trường hợp quá, cái nào không được bạn tự xử nhe.
PHP:
Function spl(ByVal str As String, Optional ByVal n As Long = 0) As String
Static reg As Object
Dim ptn As String
If reg Is Nothing Then Set reg = CreateObject("vbscript.regexp")
reg.Global = True: reg.ignorecase = True
Select Case n
    Case Is > 6
        reg.Pattern = "([^\:]+)\:(.+)"
    Case Else
        reg.Pattern = _
                    "^\d{1,3}\/\.\s?" & _
                    "([^\.]+)\.\s?" & _
                    "([^\:\/]+)(?:\:\s){0,2}\s?" & _
                    "(?:((?:[^\/]+))?\/\1\;\s?NHD:\s?" & _
                    "([^\-]+)\.\-?\s?" & _
                    "([^\,]+)\,\s?" & _
                    "(\d+).*)?$"
End Select
If reg.test(str) Then
    Select Case n
    Case 7
        spl = reg.Replace(str, "$1")
    Case 8
        spl = reg.Replace(str, "$2")
    Case Else
        spl = reg.Execute(str)(0).submatches(n - 1)
    End Select
End If
End Function
Mình chưa biết cách sử dụng, mong bạn hướng dẫn giúp. Cảm ơn nhiều!
 
Web KT

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

Back
Top Bottom