Xuất dữ liệu lặp lại vào cột (1 người xem)

Liên hệ QC

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

Feeling_nothing

Thành viên mới
Tham gia
15/9/21
Bài viết
9
Được thích
0
Xin mọi ng chỉ giáo, mình có file excel:
A. B
A. 2.
B. 3
C. 4
Mình muốn xuất dữ liệu thành
A
A
B
B
B
C
C
C
C
Cám ơn mọi ng!
 
[RANGE=rs:10|cs:5|w:Book1|cls:xl2bb-200|s:Sheet1|tw:270][XR][XH][/XH][XH=w:54]A[/XH][XH=w:54]B[/XH][XH=w:54]C[/XH][XH=w:54]D[/XH][XH=w:54]E[/XH][/XR][XR][XH]1[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD][/XD][/XR][XR][XH]2[/XH][XD=h:l|c:141414|ch:16.5|fz:11pt]A[/XD][XD]2[/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A1),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]A[/FORMULA][/XD][/XR][XR][XH]3[/XH][XD=h:l|c:141414|ch:16.5|fz:11pt]B[/XD][XD]3[/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A2),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]B[/FORMULA][/XD][/XR][XR][XH]4[/XH][XD=h:l|c:141414|ch:16.5|fz:11pt]C[/XD][XD]4[/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A3),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]B[/FORMULA][/XD][/XR][XR][XH]5[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A4),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]B[/FORMULA][/XD][/XR][XR][XH]6[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A5),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]C[/FORMULA][/XD][/XR][XR][XH]7[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A6),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]C[/FORMULA][/XD][/XR][XR][XH]8[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A7),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]C[/FORMULA][/XD][/XR][XR][XH]9[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A8),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}]C[/FORMULA][/XD][/XR][XR][XH]10[/XH][XD=ch:15.75][/XD][XD][/XD][XD][/XD][XD][/XD][XD=h:l|cls:fx][FORMULA={=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A9),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}][/FORMULA][/XD][/XR][/RANGE][RANGE=cls:xl2bb-extra-200|t:cf|f:xtra][XR][XD]E2:E10[/XD][XD=fw:b]E2[/XD][XD=c:FF0000]=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A1),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")[/XD][/XR][/RANGE]
Hình như bạn gửi bài bị lỗi thì phải.
 
Bạn này chơi giúp nữa vời quá hà!!! Chép công thức ra cho người ta luôn đi!

Mã:
{=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A9),SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")}

Lưu ý: Đây là công thức mảng, bạn không cần phải gõ 2 dấu ngoặc móc ( { } ) sau đó bạn bấm tổ hợp phím Ctr+Shift+Enter thì nó ra.
 
Cảm ơn các bạn nhé, mình đang thử nghiệm công thức
Bài đã được tự động gộp:

Thử:
=IFERROR(INDEX($A$2:$A$4,MATCH(ROW(A1)-1,SUMIF(OFFSET($B$1,0,0,ROW($B$1:$B$4),1),">0"),1)),"")

Ctrl+Shift+Enter.
Bạn ơi mình thay đổi số lượng bên cột B thì cho ra giá trị không đúng!
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn nhé, mình đang thử nghiệm công thức
Bài đã được tự động gộp:


Bạn ơi mình thay đổi số lượng bên cột B thì cho ra giá trị không đúng!

Thay đổi bao nhiêu?, không đúng dòng nào? giá trị kết quả nhiều hơn hay ít hơn giá trị mong muốn?

Tải file không đúng lên.
Đây này bạn, mình thay đổi giá trị bên cột B
 
Xin mọi ng chỉ giáo, mình có file excel:
A. B
A. 2.
B. 3
C. 4
Mình muốn xuất dữ liệu thành
A
A
B
B
B
C
C
C
C
Cám ơn mọi ng!
Bạn copy code này :
Mã:
Sub Insert_Banghi()
Dim i As Long, j As Long, k As Long, Tongdong As Long
Dim sArr(), dArr()
    Tongdong = 0
    sArr = Sheet2.Range("A2:B" & Sheet2.[A65536].End(xlUp).Row).Value
    For i = 1 To UBound(sArr, 1)
        Tongdong = Tongdong + sArr(i, 2)
    Next
ReDim dArr(1 To Tongdong, 1 To 1)
    For i = 1 To UBound(sArr, 1)
        For j = 1 To sArr(i, 2)
            k = k + 1
            dArr(k, 1) = sArr(i, 1)
        Next
    Next
Sheet2.Range("D2:D10000").ClearContents
If k Then Sheet2.[D2].Resize(k, 1) = dArr
End Sub
 

File đính kèm

Bạn copy code này :
Mã:
Sub Insert_Banghi()
Dim i As Long, j As Long, k As Long, Tongdong As Long
Dim sArr(), dArr()
    Tongdong = 0
    sArr = Sheet2.Range("A2:B" & Sheet2.[A65536].End(xlUp).Row).Value
    For i = 1 To UBound(sArr, 1)
        Tongdong = Tongdong + sArr(i, 2)
    Next
ReDim dArr(1 To Tongdong, 1 To 1)
    For i = 1 To UBound(sArr, 1)
        For j = 1 To sArr(i, 2)
            k = k + 1
            dArr(k, 1) = sArr(i, 1)
        Next
    Next
Sheet2.Range("D2:D10000").ClearContents
If k Then Sheet2.[D2].Resize(k, 1) = dArr
End Sub
Cảm ơn nhé để mình thử
 
Mình dùng VBE không quen, nên mình thêm cột với dùng tạm hàm vậy.
Bảng của mình có thể áp dụng cho chuỗi ký tự, số lặp lại là 0 nhé.
Mình thấy bạn trên chưa làm đc
 

File đính kèm

Nếu bạn có Office 2019 có hàm nối chuỗi Textjoin, hàm Concat kết hợp với Rept bạn thử nối tất cả dòng thành 1 chuỗi duy nhất rồi dùng chức năng Data > Text to Columns tách chuỗi ra thành nhiều cột > cuối cùng copy transpose lại thành hàng thử xem.
 
Web KT

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

Back
Top Bottom