如何在Excel中为缺失的连续数字插入数字或行?
假设你在工作表中有一列连续的数字,但序列中缺少了一些数字,现在你需要插入这些缺失的数字或空白行以确保序列完整(如下图所示)。你该如何快速在Excel中解决这个问题呢?
![]() | ![]() | ![]() |
使用排序和删除重复项功能插入缺失的序列数字
也许你可以逐个找到缺失的数字,然后插入它们,但如果存在数百个连续数字,很难确定缺失数字的位置。在Excel中,我可以使用“排序”和“删除重复项”功能来处理此任务。
1. 在序列列表末尾,填写另一组从2005023001到2005023011的连续数字。请参见截图:
2. 然后选择这两组连续数字的区域,并点击数据 > 升序排序,参见截图:
3. 选中的数据已按以下截图排序:
4. 接下来,你需要通过点击 数据 > 删除重复项来删除重复项,在弹出的“删除重复项”对话框中,勾选要删除重复项的列名,参见截图:
![]() | ![]() | ![]() |
5. 然后点击 确定,A列中的重复项已被删除,序列列表中的缺失数字已被插入,参见截图:
使用Kutools for Excel插入缺失的数字或空白行
这里,我将介绍一个简单易用的工具——Kutools for Excel,通过其查找缺失序列号功能,你可以快速插入缺失的序列号或在现有数据序列之间插入空白行。
如果你已经安装了 Kutools for Excel,请按照以下步骤操作:
1. 选择要插入缺失数字的数据序列。
2. 点击 Kutools > 插入 > 查找缺失序列号,参见截图:
3. 在“查找缺失序列号”对话框中,勾选“插入缺失的序列号”以插入缺失的数字,或者勾选“遇到缺失序列号时插入空白行”以根据需要插入空白行。参见截图:
4. 然后点击确定按钮,缺失的序列号或空白行将被插入到数据中,参见截图:
![]() | ![]() | ![]() | ![]() | ![]() |
使用VBA代码插入缺失的序列数字
如果你觉得上述方法步骤太多,这里也有VBA代码可以帮助你完成此问题。请按照以下步骤操作:
1. 按住ALT + F11键,打开Microsoft Visual Basic for Applications窗口。
2. 点击 插入 > 模块,并将以下代码粘贴到模块窗口中。
VBA:为序列插入缺失的数字
Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
outArr(i + 1, 1) = i + num1
If dic.Exists(i + num1) Then
outArr(i + 1, 2) = dic(i + num1)
Else
outArr(i + 1, 2) = ""
End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Value = outArr
.Select
End With
End Sub
3. 然后按F5键运行此代码,会弹出一个提示框,请选择要插入缺失数字的数据范围(不要选择标题区域),参见截图:
4. 然后点击确定,缺失的数字将被插入到序列列表中。参见截图:
![]() | ![]() | ![]() |
使用VBA代码为缺失的序列插入空白行
有时,你只需要定位缺失数字的位置并在数据之间插入空白行,以便根据需要输入信息。当然,以下VBA代码也可以帮助你解决此问题。
1. 按住ALT + F11键,打开Microsoft Visual Basic for Applications窗口。
2. 点击插入 > 模块,并将以下代码粘贴到模块窗口中。
VBA:为缺失的序列插入空白行
Sub InsertNullBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
If dic.Exists(i + num1) Then
outArr(i + 1, 1) = i + num1
outArr(i + 1, 2) = dic(i + num1)
Else
outArr(i + 1, 1) = ""
outArr(i + 1, 2) = ""
End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
.Value = outArr
.Select
End With
End Sub
3. 然后按F5键运行此代码,会弹出一个提示框,然后选择要为缺失序列插入空白行的数据范围(不要选择标题区域),参见截图:
4. 然后点击确定,空白行将被插入到缺失的序列列表中。参见截图:
![]() | ![]() | ![]() |
相关文章:
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!