Copy dữ liệu từ nhiều hàng sang 1 cột

  • Thread starter Thread starter yenvt89
  • Ngày gửi Ngày gửi
Liên hệ QC

yenvt89

Thành viên chính thức
Tham gia
21/11/11
Bài viết
60
Được thích
5
Em nhờ cả nhà giúp em làm cách nào để copy được như file với ạ. Em cảm ơn!
 

File đính kèm

Không khuyến khích vì thay đổi bảng là sửa tè le. Chữa cháy trước nhé.
Mã:
=INDEX($C$3:$G$4;INT(COUNTA($L$1:L2)/5)+1;TEXT(MOD(ROW(A1);5);"[=0]\5"))
 
View attachment 289041
Nhờ anh giúp e trường hợp như em bôi màu cam thì làm sao để có thể bỏ qua dữ liệu trống đc ạ. Em cảm ơn.
Có thích dùng hàm tự tạo không?
Tham khảo
Mã:
Option Explicit

Function Chuyen(ByVal Rng As Variant) As Variant
Dim i&, j&, t&, R&, C&
Dim Arr(), Res()
Arr = Rng.Value
R = UBound(Arr): C = UBound(Arr, 2)
ReDim Res(1 To R * C, 1 To 1)
For i = 1 To R
    For j = 1 To C
        If  Arr(i, j) <> Empty Then
            t = t + 1
            Res(t, 1) = Arr(i, j)
        End If
    Next j
Next i
Chuyen = Res
End Function
Chép đoạn code trên và dán vào 1 module
Sử dụng : Vi dụ: Vùng C3:G5 là vùng muốn chuyển sang thành cột
Ô K3 là ô mong muốn kết quả trả về
Tại K3 Gõ =Chuyen(C3:G5) enter
xem file
 

File đính kèm

Thêm cột phụ tại K3 thôi :
Mã:
=IFERROR(INDEX($J$3:$J$12,MATCH(1,INDEX((COUNTIF($K$2:K2,$J$3:$J$12)=0)*($J$3:$J$12<>0),),0)),"")
Chờ xem có công thức nào không
 
Có thích dùng hàm tự tạo không?
Tham khảo
Mã:
Option Explicit

Function Chuyen(ByVal Rng As Variant) As Variant
Dim i&, j&, t&, R&, C&
Dim Arr(), Res()
Arr = Rng.Value
R = UBound(Arr): C = UBound(Arr, 2)
ReDim Res(1 To R * C, 1 To 1)
For i = 1 To R
    For j = 1 To C
        If  Arr(i, j) <> Empty Then
            t = t + 1
            Res(t, 1) = Arr(i, j)
        End If
    Next j
Next i
Chuyen = Res
End Function
Chép đoạn code trên và dán vào 1 module
Sử dụng : Vi dụ: Vùng C3:G5 là vùng muốn chuyển sang thành cột
Ô K3 là ô mong muốn kết quả trả về
Tại K3 Gõ =Chuyen(C3:G5) enter
xem file
Em cũng gõ đúng như thế này mà sao không được anh nhỉ?
 
Lần chỉnh sửa cuối:
View attachment 289041
Nhờ anh giúp e trường hợp như em bôi màu cam thì làm sao để có thể bỏ qua dữ liệu trống đc ạ. Em cảm ơn.
Dùng thử nhé bạn:
Mã:
H3=INDIRECT(SUBSTITUTE(TEXT(AGGREGATE(15;6;(ROW($C$3:$G$4)+COLUMN($C$3:$G$4)/1000)/($C$3:$G$4<>"");COUNTA($H$2:H2)+1);"r0,000");",";"c");0)
Chú ý định dạng . hoặc , của số thập phân.
 
Thêm cột phụ tại K3 thôi :
Mã:
=IFERROR(INDEX($J$3:$J$12,MATCH(1,INDEX((COUNTIF($K$2:K2,$J$3:$J$12)=0)*($J$3:$J$12<>0),),0)),"")
Chờ

xem có công thức nào không
Dạ, anh ơi
Thêm cột phụ tại K3 thôi :
Mã:
=IFERROR(INDEX($J$3:$J$12,MATCH(1,INDEX((COUNTIF($K$2:K2,$J$3:$J$12)=0)*($J$3:$J$12<>0),),0)),"")
Chờ xem có công thức nào không

trường hợp số trùng nhau thì lại chỉ ra đc 1 lần dữ liệu anh ạ. Anh sửa công thức giúp em với. Em cảm ơn ạ.
1681577098144.png
 
Dạ, anh ơi


trường hợp số trùng nhau thì lại chỉ ra đc 1 lần dữ liệu anh ạ. Anh sửa công thức giúp em với. Em cảm ơn ạ.
View attachment 289069
Xã hội phát triển mà mình không cập nhật kiến thức thì chỉ có thụt lùi.
=UNIQUE(TOCOL(C3:G12,3))
mọi yêu cầu của bạn xẽ được ct này xủ lý ngay . chú ý mỗi ngày bạn phải tốn 1000đ để dùng office 365 miễn phí.
 
Lần chỉnh sửa cuối:
Xã hội phát triển mà mình không cập nhật kiến thức thì chỉ có thụt lùi.
=UNIQUE(TOCOL(C3:G12,3))
mọi yêu cầu của bạn xẽ được ct này xủ lý ngay . chú ý mỗi ngày bạn phải tốn 1000đ để dùng office 365 miễn phí.
Dạ, e cảm ơn bác ạ.
Bài đã được tự động gộp:

Thử công thức ở #11 chưa bạn?
Dạ, e làm đc rồi ạ. Cảm ơn công thức của anh nhiều nhé.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom