Nối nhiều cột thành 1 cột (google sheets)

Liên hệ QC

TyCQT

Thành viên mới
Tham gia
16/3/18
Bài viết
26
Được thích
4
Giới tính
Nam
Hi mọi người

Em muốn nối nhiều cột(list) lại thành 1 cột mà ko loại bỏ bị trùng, dữ liệu hơn 100 cột, e vd mẫu như hình đính kèm. Em cảm ơn

- sử dụng ={A:A,B:B,...} thì ko ổn, vì e có hơn trăm cột, làm vậy thì ko thể viết từng cột dc
- sử dụng =UNIQUE() thì ko dc, vì loại bỏ bị trùng
- sủ dụng =Filter() thì ko cho nhiều cột dc
https://docs.google.com/spreadsheets/d/1ry0oqg8jfhj3DnLNCuMx7OTrIxh3MoRuo7KOQUv8cQg/edit?usp=sharing
 
Lần chỉnh sửa cuối:
Hi mọi người

Em muốn nối nhiều cột(list) lại thành 1 cột mà ko loại bỏ bị trùng, dữ liệu hơn 100 cột, e vd mẫu như hình đính kèm. Em cảm ơn

- sử dụng ={A:A,B:B,...} thì ko ổn, vì e có hơn trăm cột, làm vậy thì ko thể viết từng cột dc
- sử dụng =UNIQUE() thì ko dc, vì loại bỏ bị trùng
- sủ dụng =Filter() thì ko cho nhiều cột dc
Bạn đưa File Excel với tiêu đề thật thì không biết có thành viên nào làm giúp cho bạn không?
Bạn đưa cái hình chẳng có tiêu đề, chẳng có số dòng, số cột thì giống như đố ai làm được có thưởng, nếu thành viên nào cho bạn đoạn code chắc gì áp dụng vào File thật của bạn được.
 
Hi mọi người

Em muốn nối nhiều cột(list) lại thành 1 cột mà ko loại bỏ bị trùng, dữ liệu hơn 100 cột, e vd mẫu như hình đính kèm. Em cảm ơn

- sử dụng ={A:A,B:B,...} thì ko ổn, vì e có hơn trăm cột, làm vậy thì ko thể viết từng cột dc
- sử dụng =UNIQUE() thì ko dc, vì loại bỏ bị trùng
- sủ dụng =Filter() thì ko cho nhiều cột dc
Mã:
Function JoinColunm(ParamArray Table_Array())
    Dim Tmp, Item, arr(), N As Long, i As Long
On Error Resume Next
For i = LBound(Table_Array) To UBound(Table_Array)
    Tmp = Table_Array(i)
    If TypeOf Table_Array(i) Is Range Then
        For Each Item In Tmp
            If Item <> Empty Then
                N = N + 1
                ReDim Preserve arr(1 To N)
                arr(N) = Item
            End If
        Next
    Else
        N = N + 1
        ReDim Preserve arr(1 To N)
        arr(N) = Table_Array(i)
    End If
Next i
JoinColunm = WorksheetFunction.Transpose(arr)
End Function
 
Lần chỉnh sửa cuối:
Bạn thử cái này thử xem
Mã:
Function JoinColunm(ByVal Table_Array)
    Dim Tmp, Item, arr(), n As Long
On Error Resume Next
Tmp = Table_Array
If Not IsArray(Tmp) Then Tmp = Array(Tmp)
For Each Item In Tmp
    If Item <> Empty Then
        n = n + 1
        ReDim Preserve arr(1 To n)
        arr(n) = Item
    End If
Next
JoinColunm = WorksheetFunction.Transpose(arr)
End Function
Em dùng trên google sheet bác ơi, cty e sử dụng máy lubuntu, nên xài dịch vụ của google thôi, code trên hình như VBA của excel thì phải, tks bác
 
Lần chỉnh sửa cuối:
Em dùng trên google sheet bác ơi, cty e sử dụng máy lubuntu, nên xài dịch vụ của google thôi, code trên hình như VBA của excel thì phải, tks bác
google sheet thì mình không biết gì hết. Thôi em lưu cái Code vào đấy khi nào cần thì lấy xuống
 
Hi mọi người

Em muốn nối nhiều cột(list) lại thành 1 cột mà ko loại bỏ bị trùng, dữ liệu hơn 100 cột, e vd mẫu như hình đính kèm. Em cảm ơn

- sử dụng ={A:A,B:B,...} thì ko ổn, vì e có hơn trăm cột, làm vậy thì ko thể viết từng cột dc
- sử dụng =UNIQUE() thì ko dc, vì loại bỏ bị trùng
- sủ dụng =Filter() thì ko cho nhiều cột dc
https://docs.google.com/spreadsheets/d/1ry0oqg8jfhj3DnLNCuMx7OTrIxh3MoRuo7KOQUv8cQg/edit?usp=sharing
Bạn xem lại trong file nha:
=ArrayFormula(Transpose(Split(CONCATENATE(TRANSPOSE(A1:C5&Char(9)));Char(9))))
 
Web KT
Back
Top Bottom