我们有一个样本数据集,其中包含产品、生产该产品变体的公司以及他们生产的系列模型。单元格之间有空白单元格,我们将通过将现有条目填充到下一个值来填充这些空白单元格。
方法 1 – 使用填充手柄步骤
选择单元格 B5 角落的填充手柄图标,并将其向下拖动到单元格 B17。
单元格范围 B4:B17 现在已填充单元格 B5 的值。
选择单元格C5,然后按住鼠标右键(而不是鼠标左键)拖动快速填充图标。将填充手柄拖动到单元格C7。
松开按钮。您将获得一个新的上下文菜单。单击复制单元格。
您会注意到单元格范围 C5:C7 现在已填充单元格 C5 中的值。您可以选择快速填充而不是复制单元格来填充值,如下图所示。
对需要填充的所有值重复此操作。注意:
填充手柄按钮可以隐藏在工作表中。您可以通过文件菜单中选项菜单中的高级选项启用它。在“高级”选项中,转到编辑选项并选中启用填充手柄和拖放框。
方法 2 – 使用转到特殊命令步骤
选择单元格范围B4:D16,然后按F5。
您将看到一个名为转到的新窗口。点击特殊。
您将看到另一个名为Go To Special的窗口。选择空白,然后点击确定。
现在,B4:D17 单元格范围内的所有空白单元格均已选中。
在活动单元格C6中输入“=”,然后按键盘上的向上箭头。这将选择单元格C5。按键盘上的Ctrl + Enter。
现在,空白单元格将使用其上方单元格的下一个值进行填充。
方法 3 – 应用 Power Query步骤
点击数据标签中的来自表格/范围。
您将看到一个小窗口,询问您要添加的表格范围。输入$B$4:$D$16,并勾选我的表格有标题框。或者,您可以在选择“来自表/范围”选项之前选择数据范围。单击确定。
您将获得一个包含加载值的新 Power Query 窗口。空单元格显示null。
右键单击公司名称列,转到填充,然后选择向下。
公司名称列现在由上面单元格中的下一个单元格值向下填充。右键单击产品名称列,转到填充,然后选择向下。
现在,整个表格已被上面单元格中的下一个值填充。单击主页选项卡中的关闭并加载图标,然后单击关闭并加载到。
您将看到一个导入数据对话框。单击表格。在您想将数据放在哪里?中选择现有工作表。 选项。在范围框中选择位置。我们在框中输入F4。单击确定。
单元格范围 F4:H16 现在已被我们刚刚在 Power Query 中修改的表格占据。
方法 4 – 使用 IF 函数步骤
单元格范围 D5:D16 已复制到单元格范围 C5:C16。
选择单元格C6并输入以下公式。=IF(D6="",C5,D6)
将填充柄向下拖动到单元格C16。单元格范围 C5:C16 使用下一个上方单元格值向下填充。
剪切单元格范围 C5:C16 并将其复制到 D5:D16 上。将单元格 B5 复制到 C5 中。选择单元格 B6 并输入以下公式:=IF(C6="",B5,C6)
将填充手柄向下拖动到B16。单元格范围 B5:B16 现在已向下填充到下一个上限值。
方法 5 – 嵌入 VBA 宏步骤
从开发人员选项卡,转到Visual Basic。
单击插入并选择模块。
在模块窗口中,输入以下代码。Sub Down_Fill_next_value()
Dim x As Range
Dim y As Long, z As Long
Dim m As Integer, n As Integer
Set x = Selection
z = x.Columns.CountLarge
y = x.Rows.CountLarge
For n = 1 To z
For m = 1 To y - 1
If x.Cells(m, n) <> "" Then
x.Cells(m, n) = x.Cells(m, n).Value
If x.Cells(m + 1, n) = "" Then
x.Cells(m + 1, n) = x.Cells(m, n).Value
End If
End If
Next m
Next n
End Sub
关上窗户。选择需要用下一个单元格值填充的数据范围。转到查看选项卡并选择宏。
选择您创建的名为Down_Fill_next_value的宏。单击运行。
这是结果。