在Excel中,我们经常需要对合并的单元格进行填充序号

wufei123 发布于 2023-09-17 阅读(990)

在Excel中,我们经常需要对合并的单元格进行填充序号。下面介绍一种方法来实现这一功能。

一、方法一:使用公式

在Excel中,我们经常需要对合并的单元格进行填充序号


打开Excel,首先选择需要填充序号的合并单元格区域。

在编辑栏中输入以下公式:


=IF(A2<>"",IF(B2="",A2,A2+1),1)


按下“Ctrl+Enter”键,将公式应用到所选单元格中。


代码解释:

该公式分为三个层次。首先,IF(A2<>"",…)表示如果A2单元格不为空,则执行以下操作。其次,IF(B2="",A2,A2+1)表示如果B2单元格为空,则直接返回A2单元格的数值;否则,返回A2单元格的数值加1。最后,IF函数外面再加上一个1,用于处理A2单元格也为空的情况,此时返回1作为起始序号。

二、方法二:使用VBA宏


打开Excel,按下“Alt+F11”键打开VBA编辑器界面。

在“Microsoft Excel Objects”下找到需要填充序号的合并单元格区域。

在该区域上点击右键,选择“Insert”菜单,在弹出的窗口中选择“Module”并创建一个新的模块。

在新模块中输入以下VBA代码:


Sub FillSerialNumbers()

Dim rng As Range

Dim lastRow As Long

Dim i As Long

Set rng = Selection.Cells(1, 1).EntireColumn

lastRow = rng.Cells(rng.Cells.Count).Row

For i = lastRow To 1 Step -1

    If rng.Cells(i, 1).Value <> "" Then

        If rng.Cells(i, 2).Value = "" Then

            rng.Cells(i, 2).Value = rng.Cells(i, 1).Value

        Else

            rng.Cells(i, 2).Value = rng.Cells(i, 1).Value + rng.Cells(i - 1, 2).Value

        End If

    End If

Next i

End Sub


关闭VBA编辑器,回到Excel界面。按下“Alt+F8”键打开“宏”对话框,选择“FillSerialNumbers”宏并单击“运行”按钮即可填充序号。


代码解释:

这段VBA代码的作用是逐行检查被合并的单元格区域,如果第一列的单元格不为空,则在第二列的相应单元格中填充该单元格的值;如果第二列的单元格为空,则直接填充;否则,将当前单元格的值加上上一行的第二列的值。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。