excel有A和B两列,B列如果存在空值,那么将A列的值填充过去
当 Excel 中 B 列存在空值,要把对应 A 列的值填入 B 列空单元格,有公式填充、定位空值填充等多种简单方法,具体步骤如下:
IF 公式填充法
这种方法适合数据量适中的情况,操作后可将公式转为数值避免后续变动。
1、假设数据从第 2 行开始(如 B2 为首个需判断的单元格),在 B2 中输入公式=IF(B2="",A2,B2);
2、输入完成按 Enter 键,选中 B2 单元格,鼠标移到单元格右下角,当光标变成黑色十字(填充柄)时,向下拖动,公式会自动应用到 B 列其他行;
3、选中整个 B 列,复制后右键点击,选择 “选择性粘贴”,在弹出的窗口中选 “数值”,即可把公式结果转为固定数值。
定位空值批量填充法
该方法能快速定位 B 列所有空值并批量填充,效率较高。
1、选中 B 列所有数据区域;
2、按下 Ctrl+G 快捷键打开 “定位” 对话框,点击 “定位条件”,在新窗口中选择 “空值”,点击 “确定”,此时 B 列所有空单元格会被选中;
3、保持单元格选中状态,直接输入=A2(这里以首个选中的空单元格对应 A 列单元格为例,Excel 会自动匹配对应行);
4、按下 Ctrl+Enter 组合键,所有选中的空单元格就会自动填入对应 A 列的值,最后同样可通过选择性粘贴转为数值。
VBA 宏批量填充法
适合需要频繁处理大量数据的场景,一次编写可重复使用。
1、按下 Alt+F11 打开 VBA 编辑器;
2、右键点击对应的工作表,选择 “插入” - “模块”,在模块编辑框中粘贴以下代码:
Sub FillBBlanksWithA() Dim rng As Range Dim cell As Range '设定处理B列从第2行到最后一行有数据的区域 Set rng = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row) For Each cell In rng If cell.Value = "" Then cell.Value = cell.Offset(0, -1).Value 'Offset(0,-1)表示取同一行左移1列(即A列)的值 End If Next cell End Sub
3、按下 F5 键运行该宏,B 列所有空值会自动填充对应 A 列的值。

浙公网安备 33010602011771号