Gộp nhiều cột thành 1 cột

Quảng cáo

Leechen

Thành viên mới
Tham gia ngày
26 Tháng sáu 2014
Bài viết
3
Được thích
0
Điểm
0
Tuổi
30
Mình có một chuổi danh sách:
Tại Cột A
A1
A2
A3
A4
A5
Tại cột B
B1
B2
B3
B4
B5
Tại cột C
C1
C2
C3
C4
C5
Tại cột D
D1
D2
D3
D4
D5
Mình muốn hỏi có hàm nào để nối dữ liệu của hết cột A rồi đến cột B, rồi đến cột C, rồi đến cột D không thành 1 cột liên tục không?
Cụ thể: Tại cột E sẽ có kết quả
Á1
A2
A3
A4
Â5
B1
B2
B3
B4
B5
C1
C2
C3
C4
C5
D1
D2
D3
D4
D5
Danh sách của mình nhiều cột nên copy mỏi tay mà koo thể hết? Mong a/c hướng dẫn.
Cảm ơn a/c
 
Lần chỉnh sửa cuối:

Leechen

Thành viên mới
Tham gia ngày
26 Tháng sáu 2014
Bài viết
3
Được thích
0
Điểm
0
Tuổi
30
cẢM ƠN CHUOT0106! mình đã nối được theo file hướng dẫn
 

Quang_Hải

Thành viên gạo cội
Tham gia ngày
21 Tháng hai 2009
Bài viết
5,801
Được thích
7,443
Điểm
3,168
Nơi ở
Thuận An, Bình Dương
Mình có một chuổi danh sách:

Danh sách của mình nhiều cột nên copy mỏi tay mà koo thể hết? Mong a/c hướng dẫn.
Cảm ơn a/c
Bạn thử code này đi. Tùy biến vùng [A1:D5] dễ dàng
PHP:
Sub Noi_Cot()
Dim Sarr(), i, item
Sarr = [A1:D5].Value
With CreateObject("System.Collections.Arraylist")
    For Each item In Sarr
        If item <> "" Then .Add item
    Next
    [E1].Resize(.Count) = Application.Transpose(.toarray)
End With
End Sub
Hoặc thế này thì an toàn hơn
PHP:
Sub Noi_Cot2()
Dim Sarr(), item, Kq(1 To 65000, 1 To 1), k
Sarr = [A1:D5].Value
    For Each item In Sarr
        If item <> "" Then
            k = k + 1
            Kq(k, 1) = item
        End If
    Next
    [E1].Resize(k) = Kq
End Sub
 
Lần chỉnh sửa cuối:

comet_1701

Thành viên tiêu biểu
Tham gia ngày
24 Tháng năm 2014
Bài viết
632
Được thích
454
Điểm
0
Tuổi
43
Mình có một chuổi danh sách:
Tại Cột A
A1
A2
A3
A4
A5
Tại cột B
B1
B2
B3
B4
B5
Tại cột C
C1
C2
C3
C4
C5
Tại cột D
D1
D2
D3
D4
D5
Mình muốn hỏi có hàm nào để nối dữ liệu của hết cột A rồi đến cột B, rồi đến cột C, rồi đến cột D không thành 1 cột liên tục không?
Cụ thể: Tại cột E sẽ có kết quả
Á1
A2
A3
A4
Â5
B1
B2
B3
B4
B5
C1
C2
C3
C4
C5
D1
D2
D3
D4
D5
Danh sách của mình nhiều cột nên copy mỏi tay mà koo thể hết? Mong a/c hướng dẫn.
Cảm ơn a/c
Mã:
=TRIM(MID(SUBSTITUTE(JoinText(",",$A$1:$D$9),",",REPT(" ",255)),ROWS($1:1)*255-254,255))
Bạn thử xem nhé
 

File đính kèm

  • GHEP.xlsm
    15.6 KB · Đọc: 143

gianglinhlong

Thành viên mới
Tham gia ngày
13 Tháng năm 2020
Bài viết
2
Được thích
0
Điểm
0
Tuổi
41
Mã:
=TRIM(MID(SUBSTITUTE(JoinText(",",$A$1:$D$9),",",REPT(" ",255)),ROWS($1:1)*255-254,255))
Bạn thử xem nhé
xin chào ạ, mình tham khảo cách làm của ban để làm nhập cột cho file sô liêu của mình nhưng không áp dụng được công thức đấy , mong bạn chỉ bảo giúp ạ, cảm ơn ạ
Bài đã được tự động gộp:

Mã:
=TRIM(MID(SUBSTITUTE(JoinText(",",$A$1:$D$9),",",REPT(" ",255)),ROWS($1:1)*255-254,255))
Bạn thử xem nhé
xin chào ạ, mình tham khảo cách làm của ban để làm nhập cột cho file sô liêu của mình nhưng không áp dụng được công thức đấy , mong bạn chỉ bảo giúp ạ, cảm ơn ạ
 

File đính kèm

  • W_Thanh Son_1990-2019 - Copy.xls
    41 KB · Đọc: 5
  • W_Thanh Son_1990-2019 - Copy.xls
    41 KB · Đọc: 5

hocexcel_1991

Bắt đầu học Excel
Tham gia ngày
9 Tháng bảy 2018
Bài viết
560
Được thích
987
Điểm
368
Nơi ở
Từ Sơn, Bắc Ninh
xin chào ạ, mình tham khảo cách làm của ban để làm nhập cột cho file sô liêu của mình nhưng không áp dụng được công thức đấy , mong bạn chỉ bảo giúp ạ, cảm ơn ạ
Bài đã được tự động gộp:


xin chào ạ, mình tham khảo cách làm của ban để làm nhập cột cho file sô liêu của mình nhưng không áp dụng được công thức đấy , mong bạn chỉ bảo giúp ạ, cảm ơn ạ
Bài này dùng Query =>Unipivot là ngon nhất rồi
 

File đính kèm

  • W_Thanh Son_1990-2019 - Copy.xlsx
    5.2 MB · Đọc: 14

meteor205h

Thành viên mới
Tham gia ngày
22 Tháng tư 2009
Bài viết
6
Được thích
0
Điểm
601
Bạn thử code này đi. Tùy biến vùng [A1:D5] dễ dàng
PHP:
Sub Noi_Cot()
Dim Sarr(), i, item
Sarr = [A1:D5].Value
With CreateObject("System.Collections.Arraylist")
    For Each item In Sarr
        If item <> "" Then .Add item
    Next
    [E1].Resize(.Count) = Application.Transpose(.toarray)
End With
End Sub
Hoặc thế này thì an toàn hơn
PHP:
Sub Noi_Cot2()
Dim Sarr(), item, Kq(1 To 65000, 1 To 1), k
Sarr = [A1:D5].Value
    For Each item In Sarr
        If item <> "" Then
            k = k + 1
            Kq(k, 1) = item
        End If
    Next
    [E1].Resize(k) = Kq
End Sub
Bác có cách nào mà trong bảng có giá trị = 0 thì tự động bỏ qua và nối sang ô tiếp theo không ạ
 
Quảng cáo
Top Bottom