如何系统地将一列中的条目复制到 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
在 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