當 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 列的值。