如何系统地将一列中的条目复制到 Excel 中的另一列

How can I systematically duplicate the entries in a column into another column in Excel

在 Excel 中,我在 A 列中有一个更大的值列表:

John
Jim
Joanne
Jenny

excel 中是否有一种方法可以将这些值复制粘贴到 B 列中,但为每个条目创建 N 个副本? 例如 N=3 结果应该是这样的:

John
John
John
Jim
Jim
Jim
Joanne
Joanne
Joanne
Jenny
Jenny
Jenny

据我所知不是字面上的复制和粘贴,但使用 Excel 365 中的溢出公式相当容易:

=INDEX(A:A,QUOTIENT(SEQUENCE(COUNTA(A:A)*3,1,0),3)+1)

在 Excel 的早期版本中,您可以这样做:

=INDEX(A:A,QUOTIENT(ROW()-1,3)+1)

或(避免空白单元格出现零)

=IF(ROW()>COUNTA(A:A)*3,"",INDEX(A:A,QUOTIENT(ROW()-1,3)+1))

然后拉下来。

Sub NameCopy()
    Dim r As Long
    Dim i As Integer
    Dim n As Integer
    Dim c As Range
    Dim lastrow As Long
    r = 1
    n = 3
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    For Each c In Range("A1:A" & lastrow)
        For i = 1 To n
            Cells(r, 2).Value = c.Value
            r = r + 1
        Next i
    Next c
End Sub