如何生成一系列数字,如 1、501、1001、1501、2001,然后是 2、502、1002、1502、2002;一直到 2500

如何生成一系列数字,如 1、501、1001、1501、2001,然后是 2、502、1002、1502、2002;一直到 2500

我想生成以下模式的一系列数字,直到 2500:

1
501
1001
1501
2001
2
502
1002
1502
2002

答案1

你可以这样做:

在第一个单元格中输入:1
在第二个单元格中输入:(=A1+500或第一个单元格所在的位置)将第二个单元格向下复制三行,这样您就有:
1
501
1001
1501
2001

现在只需选择它们全部,然后将其拖到第 2500 行,然后让自动完成功能完成其工作。

在此处输入图片描述

或者,如果你愿意,你也可以用宏来帮你完成这个工作。
像这样:

Sub number()
Dim i As Long, oCN As Long, oColumn As String
oColumn = "A"

oCN = Columns(oColumn).Column
For i = 1 To 500
    Range(oColumn & Cells(Rows.Count, oCN).End(xlUp).Offset(1, 0).Row).Value = i
    Range(oColumn & Cells(Rows.Count, oCN).End(xlUp).Offset(1, 0).Row).Value = i + 500
    Range(oColumn & Cells(Rows.Count, oCN).End(xlUp).Offset(1, 0).Row).Value = i + 1000
    Range(oColumn & Cells(Rows.Count, oCN).End(xlUp).Offset(1, 0).Row).Value = i + 1500
    Range(oColumn & Cells(Rows.Count, oCN).End(xlUp).Offset(1, 0).Row).Value = i + 2000
Next i
End Sub

在这里,您可以简单地指定要将列表放在哪一列,它将从第 2 行开始(如果该列中已经有内容,则从第 2 行开始)。
因此,在这种情况下,它将从“ A2”打印到“ A2501”。

您可以在开发人员选项卡中的 Visual Basic 编辑器中使用它,或者右键单击选项卡并选择“显示代码”。

答案2

您可以使用以下公式生成这些值:

=500*MOD(ROW()-1,5)+INT((ROW()-1)/5)+1

前两个1s 指的是起始行。

相关内容