Excel

【Excel】エクセルで空白セルを埋める(上のセルと同じ、一括で0:同じ値を入力、下まで、ジャンプ、最終行まで)方法

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

ここでは、エクセルで空白セルを埋める(上のセルと同じ、一括で0などの同じ値を入力、下まで、ジャンプ、最終行まで)方法について解説していきます。
具体的には、

・IF関数を使用し、オートフィル
・「検索と選択」で「ジャンプ」を選択し、空白セルに0、Control+enterで一括入力

です。

それではさっそく見ていきましょう。

エクセルで空白セルを埋める(上のセルと同じ、関数)方法

まず、関数を使って上のセルと同じ値を下の空白セルに反映する方法を見ていきましょう

例えば、以下のようなデータがあるとします。

ここで上のセルで空白梅を行う用のC列の先頭に次の数式を入力します。

=IF(B2="",C1,B2)

この数式の意味は以下の通りです。

IF関数で、B2セルが空白だったらC1(上のセル)を返し、そうでなければB2セル(元のセル)の値を返す


C2セルの右下をダブルクリックするか、オートフィルハンドルをC列の最終行までドラッグすることで、数式がC列全体に反映されます。

この上のセルで空白を埋めた数式をコピーし、元の列に数値として貼り付けなどを行えば、元データ自体の修正もできますね。

VBA(マクロ)の場合

VBAを使えば、もっと柔軟に空白セルを埋めることができます。

Alt+F11でVBE画面を開いて以下をコピペしましょう。


Sub FillBlankCellsWithAbove()
    Dim rng As Range
    Dim lastRow As Long
    
    lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    
    For Each rng In Range("B2:B" & lastRow)
        If rng.Value = "" Then
            rng.Value = rng.Offset(-1, 0).Value
        End If
    Next rng
End Sub

このマクロの処理内容は以下の通りです。

1. lastRow変数にB列の最終行番号を代入
2. B2セルからB列の最終行までのセルを1つずつ確認
3. 空白セルの場合、1つ上のセルの値をコピー

Alt+F8でマクロ選択画面を開きFillBlankCellsWithAbove関数を実行します。

エクセルで空白セルを下まで0で一気に埋める・入力する方法【同じ値:ジャンプ】

次に、空白セルを一括で0などの同じ値で埋める方法を見ていきましょう。
例えば、以下のようなデータがあるとします。

ここで、空白セルを0で一括で埋めたい(0入力)とします。

「ホーム」のタブから「検索と選択」 – 「ジャンプ」をクリックします。

(Ctrl + Gでも処理できます)

セル選択で空白セルにチェックをします。

これで空白セルのみが一括選択されました。

その後は0と入力し、ControlとEnterで一括入力します。

 

 

VBA(マクロ)の場合

VBAを使えば、空白セルを一括で任意の同じ値で埋めることができます。

以下ではインプットボックスを出してここに一括入力したい値を入れる仕様にしています。

Alt+F11でVBE画面を開いて以下をコピペしましょう。


Sub FillBlankCellsWithValue()
    Dim rng As Range
    Dim lastRow As Long
    Dim fillValue As Variant
    
    fillValue = InputBox("Enter the value to fill blank cells:")
    
    If fillValue <> "" Then
        lastRow = Cells(Rows.Count, "A").End(xlUp).Row
        
        For Each rng In Range("A2:A" & lastRow)
            If rng.Value = "" Then
                rng.Value = fillValue
            End If
        Next rng
    End If
End Sub

このマクロの処理内容は以下の通りです。

なおA列2行間から最終行までを対象としていますので、別の列で処理したいようなケースでは、別の列名にするなど調整してみてください。

1. InputBox関数で空白セルに入力する値を取得
2. 値が入力された場合のみ以下の処理を実行
lastRow変数にA列の最終行番号を代入
A2セルからA列の最終行までのセルを1つずつ確認
空白セルの場合、入力された値を代入

Alt+F8でマクロ選択画面を開きFillBlankCellsWithValue関数を実行します。

 

まとめ エクセルで空白セルを埋める(ジャンプで一括入力:0:同じ値を入力、下まで、最終行まで)方法

ここまで、エクセルで空白セルを埋める(上のセルと同じ、一括で0などの同じ値を入力、下まで、ジャンプ、最終行まで)方法について確認しました。

関数やマクロを使えば、効率的にデータを整理することができます。

ぜひ活用してみてください。