Excelで表を作成していると、見栄えを重視して同じ内容のセルを空白にしたり、手間を省いて「同上」として空白にしたりすることがあります。
ピボットテーブルをコピーした際に大項目が1セルしか表示されていない、データ入力時に重複項目を省略して空白にしているなど、空白セルが混在した表はフィルターや並べ替えが正常に機能せず、データ分析の妨げになります。
空白セルを一つずつ手作業で埋めていては膨大な時間がかかり、コピー&ペーストを繰り返すと入力ミスのリスクも高まります。数百行のデータで空白を埋める作業は現実的ではありません。
Excelには空白セルに上と同じ値を一括で入力する方法が複数用意されています。
ジャンプ機能とCtrl+Enterを組み合わせた方法、IF関数を使った動的な方法、XLOOKUP関数を使った高度な方法など、それぞれに特徴があり、状況に応じて最適な方法が異なります。
本記事では、空白セルに上のセルと同じ値を入れる様々な方法を詳しく解説し、一括処理のテクニックや使い分けのポイントを紹介します。
データ整理や分析作業を効率化したい方は、ぜひ最後までお読みください。
ポイントは
・ジャンプ機能で空白セルだけを選択してCtrl+Enterで一括入力
・IF関数なら元データを保持したまま別列に結果を表示できる
・XLOOKUP関数で直前の空白でない値を自動参照可能
です。
それでは詳しく見ていきましょう。
ジャンプ機能とCtrl+Enterで一括入力する基本操作
それではまず、最も確実で効率的なジャンプ機能を使った空白セル入力の方法を確認していきます。
ジャンプ機能で空白セルだけを選択する手順
空白セルに上と同じ値を入力する最も基本的な方法は、ジャンプ機能を使って空白セルだけを選択してから、数式を一括入力することです。
まず、空白セルを埋めたい範囲全体を選択します。見出し行は含めず、データ部分だけを選択しましょう。
範囲を選択したら、Ctrl+Gキー(MacではControl+G)を押すか、「ホーム」タブの「検索と選択」→「ジャンプ」を選択します。

「ジャンプ」ダイアログボックスが表示されたら、左下の「セル選択」ボタンをクリックします。
「選択オプション」ダイアログボックスが開くので、「空白セル」を選択してOKをクリックします。
すると、選択した範囲内の空白セルだけがハイライト表示(グレー)されます。
1. Ctrl+G(ジャンプダイアログを開く)
2. Alt+S(セル選択ボタン)
3. Alt+K(空白セルを選択)
4. Enter
空白セルが正しく選択されているか確認しましょう。意図しないセルが選択されている場合は、最初の範囲選択からやり直します。
この方法では、完全に空っぽのセルのみが選択され、スペースや数式で空白に見えるセルは選択されません。
数式を入力してCtrl+Enterで一括反映
空白セルが選択された状態で、上のセルを参照する数式を入力します。
選択されている空白セルのうち、一番左上のセル(アクティブセル)に「=」を入力し、続いて上矢印キー(↑)を1回押します。
これで「=A2」のように、一つ上のセルを参照する数式が入力されます。直接「=A2」と入力しても構いません。
重要なのは、ここでEnterキーを押さないことです。
数式を入力したら、Ctrl+Enterキーを押します。
すると、選択されていたすべての空白セルに、それぞれの位置に応じた適切な数式(=A3、=A5など)が一括で入力されます。
Ctrl+Enterは選択中の複数セルに同じ操作を一括適用する便利なショートカットキーです。
| 操作 | キー | 効果 |
|---|---|---|
| ジャンプ起動 | Ctrl+G | ジャンプダイアログを開く |
| 空白セル選択 | ダイアログ内でAlt+S→Alt+K | 範囲内の空白セルのみ選択 |
| 上のセル参照 | =↑ | 一つ上のセルを参照する数式 |
| 一括入力 | Ctrl+Enter | 選択セル全てに数式を入力 |
数式を値に変換して完成させる
数式が入力された状態では、セルには「=A2」のような数式が残っています。
このままでも見た目は問題ありませんが、後でデータを並べ替えたり行を削除したりすると、参照先が変わってしまい正しく表示されなくなります。
そのため、数式を値に変換する必要があります。
埋めた範囲全体を選択した状態で、Ctrl+Cキーでコピーします。
次に、同じ範囲を選択したまま、右クリックして「形式を選択して貼り付け」を選択します。
ダイアログボックスで「値」を選択してOKをクリックすれば、数式が計算結果の値に置き換わります。
ショートカットキーを使う場合は、Ctrl+C(コピー)→Ctrl+Alt+V(形式を選択して貼り付け)→V(値)→Enterという流れで素早く処理できます。
この方法は元のデータを直接書き換えるため、作業前に必ずシートをコピーしてバックアップを作成しておくことをおすすめします。
また、数式の表示を確認したい場合は、「数式」タブの「数式の表示」ボタンをクリックすると、各セルに入力されている数式が表示されます。
値貼り付けが正常に完了したか不安な場合は、再度「数式の表示」で確認すると安心です。
IF関数を使って別列に結果を表示する方法
続いては、元のデータを変更せずに別の列に結果を表示する関数を使った方法を確認していきます。
IF関数で空白判定して上のセルを参照
元のデータを保持したまま空白を埋めた結果を別列に表示したい場合、IF関数を使って空白かどうかを判定する方法が有効です。
IF関数は「=IF(条件,真の場合,偽の場合)」という構文で、条件に応じて異なる値を返します。
空白セルを埋める場合、条件は「セルが空白かどうか」、真の場合は「一つ上のセルを参照」、偽の場合は「元のセルの値」とします。
例えば、A列のデータをE列に空白を埋めた状態で表示する場合、E2セルに次の数式を入力します。
・A2が空白(“”)なら、E1(一つ上のセル)を表示
・A2が空白でなければ、A2の値をそのまま表示
この数式をE2セルに入力し、下方向にオートフィルでコピーすれば、空白セルには自動的に上のセルの値が表示されます。
IF関数を使う方法の利点は、元のデータが変更されても自動的に結果が更新されることです。
| 元データ(A列) | 数式(E列) | 表示結果 |
|---|---|---|
| 営業部 | =IF(A2=””,E1,A2) | 営業部 |
| (空白) | =IF(A3=””,E2,A3) | 営業部 |
| (空白) | =IF(A4=””,E3,A4) | 営業部 |
| 経理部 | =IF(A5=””,E4,A5) | 経理部 |
連続した空白セルにも対応できる仕組み
IF関数の数式が優れているのは、連続した複数の空白セルにも正しく対応できる点です。
E2セルの数式「=IF(A2=””,E1,A2)」をE3セルにコピーすると「=IF(A3=””,E2,A3)」となります。
A3が空白の場合、E2の値(すでに埋められた値)を参照するため、連続した空白でも正しく上の値が引き継がれます。
ただし、この方法にはいくつかの注意点があります。
まず、E1セル(最初の行)には必ず値が入っている必要があります。E1が空白だと、E2以降の空白判定が正常に機能しません。
また、数式が残っている状態なので、最終的には値として貼り付けることをおすすめします。
XLOOKUP関数で直前の値を自動取得する高度な方法
続いては、Excel 365やExcel 2021で使用できる最新関数を使った方法を確認していきます。
XLOOKUP関数の基本構文と空白埋め活用
XLOOKUP関数を使えば、より柔軟に直前の空白でない値を取得できます。
XLOOKUP関数は「=XLOOKUP(検索値,検索範囲,戻り値範囲,見つからない場合,一致モード,検索モード)」という構文です。
空白セルを埋める場合、検索モードを「-1」(末尾から先頭へ検索)に設定することで、直前の空白でない値を取得できます。
例えば、A列のデータをE列に表示する場合、E5セルに次の数式を入力します。
・A$2:A4の範囲で空白でないセル(<>””がTRUE)を検索
・検索モード-1で末尾から検索(直前の値を取得)
・見つかった行のA列の値を返す
・A$2で2行目を固定し、A4で当該行の一つ上までの範囲を可変にする
この数式の特徴は、途中に空白セルがあっても自動的に直前の値を参照できる点です。
IF関数では各行に数式が必要でしたが、XLOOKUP関数では必要な箇所だけに数式を配置できます。
| 関数 | メリット | デメリット |
|---|---|---|
| IF関数 | シンプルで理解しやすい | 全行に数式が必要 |
| XLOOKUP関数 | 柔軟で必要箇所のみ設定可能 | Excel 365/2021以降のみ対応 |
XLOOKUP関数の引数詳細解説
XLOOKUP関数の空白埋め活用における各引数を詳しく解説します。
第1引数「TRUE」は、検索値として常に真を指定しています。
第2引数「A$2:A4<>””」は、検索範囲で空白でないセルを探す条件です。「<>””」は「空白でない」という意味で、この条件がTRUEの配列を返します。
第3引数「A$2:A4」は、戻り値の範囲です。検索範囲と同じ範囲を指定することで、条件に合致した行の値を返します。
第4引数「””」は、見つからない場合の値です。すべてが空白の場合は空白を返します。
第5引数「-1」は、一致モードで完全一致を意味します。
第6引数「-1」は、検索モードで末尾から先頭へ検索することを意味し、これによって直前の空白でない値を取得できます。
XLOOKUP関数を使う方法は、大量のデータや複雑な条件に対応できる柔軟性がありますが、Excel 365やExcel 2021以降でしか使用できません。
古いバージョンのExcelを使用している場合や、ファイルを他の人と共有する可能性がある場合は、IF関数やジャンプ機能を使った方法の方が互換性の面で安全です。
また、XLOOKUP関数は処理が重くなる可能性があるため、数万行を超える大規模データの場合は、ジャンプ機能で値として貼り付ける方法をおすすめします。
条件付き書式で見た目だけ空白にする逆パターン
最後に、空白を埋めるのではなく、逆に上と同じ値を見た目だけ空白にする方法を確認していきます。
条件付き書式で同じ値なら文字色を白にする
データとしては値が入っているが、見た目上は上と同じ値の場合に空白に見せたい場合は、条件付き書式を使用します。
範囲を選択し、「ホーム」タブの「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」を選択します。
数式欄に「=A2=A1」のように、一つ上のセルと同じかどうかを判定する数式を入力します。
書式設定で、フォントの色を白(または背景色と同じ色)に設定すれば、条件に合致したセルの文字が見えなくなり、空白のように見えます。
この方法の利点は、実際のセルには値が入っているため、フィルターや並べ替えが正常に機能することです。
セルA2に対して:=A2=A1
(A2がA1と同じ値なら書式を適用)
ただし、この方法はExcel Onlineの無料版では使用できない制限があります。
また、印刷時やPDF出力時にも空白として表示されるため、用途によっては注意が必要です。
まとめ エクセルで空白セルに上と同じ値を入れる(関数やジャンプなど)方法
エクセルで空白セルに上と同じ値を入れる方法をまとめると
・ジャンプ機能:Ctrl+Gで「空白セル」を選択し、「=↑」と入力してCtrl+Enterで一括入力、その後Ctrl+Cでコピーして「値として貼り付け」で数式を値に変換
・IF関数:「=IF(A2=””,E1,A2)」で空白なら一つ上のセルを参照、空白でなければ元の値を表示、元データを保持したまま別列に結果を表示可能
・XLOOKUP関数:「=XLOOKUP(TRUE,A$2:A4<>””,A$2:A4,””,-1,-1)」で直前の空白でない値を自動取得、Excel 365/2021以降で使用可能な高度な方法
・条件付き書式:「=A2=A1」の数式で上と同じ値なら文字色を背景色と同じにして見た目だけ空白にする、データは保持されるためフィルターが正常動作
これらの方法にはそれぞれメリットがあり、状況に応じた使い分けが重要です。
確実に空白を埋めて値として固定したい場合はジャンプ機能、元データを保護しながら動的に管理したい場合はIF関数やXLOOKUP関数、見た目だけを調整したい場合は条件付き書式が適しています。
ただし、大量のデータを処理する際は注意が必要です。
作業前に必ずシートをコピーしてバックアップを取り、小規模なテストを行ってから本番のデータに適用することで、トラブルを未然に防げます。
Excelの空白セル処理テクニックを適切に活用して、データ整理作業の効率化を実現していきましょう!