Excelを使って大量のデータを管理していると、空白セルが途中に混在してしまい、見栄えや作業効率が低下してしまうことはよくある悩みのひとつです。
「空白セルだけをまとめて削除したい」「データを上に詰めてきれいに整理したい」と感じたことはないでしょうか。
本記事では、【Excel】エクセルで空白セルを上に詰める方法(削除せずに詰める・上に移動させるなど)について、具体的な操作手順をわかりやすくご紹介していきます。
フィルター機能を使う方法・並べ替えを活用する方法・関数を組み合わせる方法など、シーンに応じた複数のアプローチをお伝えするので、ぜひ自分に合ったやり方を見つけてみてください。
Excelで空白セルを上に詰めるには「ジャンプ機能+削除」または「関数」が効果的
それではまず、空白セルを上に詰める方法の全体像と、代表的なアプローチについて解説していきます。
Excelで空白セルを上に詰める際、大きく分けると「セルを直接削除してシフトさせる方法」と「関数を使って並び替える方法」の2つが存在します。
どちらの方法が向いているかは、元データを維持したいかどうかや、作業の頻度によって変わってくるでしょう。
元データを消したくない場合は関数を使う方法、素早くシンプルに整理したい場合はジャンプ機能による削除がおすすめです。
以下に、各方法の特徴を表でまとめました。
| 方法 | 元データへの影響 | 操作の難易度 | 向いているケース |
|---|---|---|---|
| ジャンプ機能+セル削除 | あり(空白を削除) | 低い | 素早く整理したいとき |
| フィルター機能を活用 | あり(並び替え) | 低〜中 | 特定列だけ整理したいとき |
| 並べ替え機能を活用 | あり(順番変更) | 低い | 列全体を一括で詰めたいとき |
| 関数(IFERROR・SMALL等) | なし(別セルに出力) | 高い | 元データを残しておきたいとき |
目的や状況に合わせて最適な方法を選ぶことが、作業効率を上げる第一歩といえます。
ジャンプ機能で空白セルを一括選択する
Excelには「ジャンプ機能」と呼ばれる便利な機能があり、空白セルだけを一括で選択することが可能です。
キーボードショートカット「Ctrl+G」または「F5」を押すと「ジャンプ」ダイアログが表示されます。
そこで「セル選択」→「空白セル」を選ぶことで、選択範囲内の空白セルだけをまとめて選択状態にできます。
操作手順(ジャンプ機能で空白セルを選択)
① 対象範囲をドラッグで選択する
② 「Ctrl+G」または「F5」でジャンプダイアログを開く
③ 「セル選択」をクリックする
④ 「空白セル」にチェックを入れてOKを押す
⑤ 空白セルだけが選択された状態になる
選択後は右クリックから「削除」→「上方向にシフト」を選ぶだけで、空白が詰まってデータが上に移動します。
手順が少なく、直感的に操作できるため、Excelに不慣れな方でも実践しやすい方法といえるでしょう。
「上方向にシフト」でデータを詰める操作の詳細
ジャンプ機能で空白セルを選択した後、右クリックして表示されるメニューから「削除」を選択すると、削除オプションが表示されます。
ここで「上方向にシフト」を選ぶことで、空白セルが取り除かれ、その下にあるデータが上へと詰められる動きをします。
この操作は列単位ではなく、選択したセル範囲に対して適用される点に注意が必要です。
複数列が混在するデータで「上方向にシフト」を使うと、列ごとにズレが生じる場合があります。単一列に対して使用するのが最も安全です。
単一の列データを整理する場面であれば、この方法が最もシンプルで確実な手段といえます。
注意点:元データが消えてしまう場合がある
ジャンプ機能を使って空白セルを削除する方法は便利ですが、元のデータが完全に失われるという点には注意が必要です。
作業前にファイルのバックアップを取っておくか、別シートにデータのコピーを保存しておくことを強くおすすめします。
「Ctrl+Z」で元に戻せる場合もありますが、保存後は戻せないため、慎重に操作を進めていきましょう。
削除せずに空白セルを上に詰める方法(フィルターと並べ替えを活用)
続いては、元データを削除せずに空白セルを上に詰める方法を確認していきます。
「データを完全に消してしまうのは不安」「後から元の状態に戻せるようにしておきたい」という場合には、フィルター機能や並べ替え機能を活用するのが賢い選択です。
フィルター機能を使って空白以外のデータを抽出する
Excelのフィルター機能を使うことで、空白セルを除いたデータだけを表示させることができます。
リボンの「データ」タブから「フィルター」をオンにし、各列のドロップダウンメニューから「(空白)のチェックを外す」だけで、空白行を非表示にした状態でデータを確認できます。
フィルターで空白を非表示にする手順
① データ範囲を選択する
② 「データ」タブ→「フィルター」をクリックする
③ 列ヘッダーのドロップダウンを開く
④ 「(空白)」のチェックを外してOKを押す
⑤ 空白行が非表示になり、データが詰まって見える状態になる
この方法はあくまでも「非表示」にするだけなので、元データはそのまま保持されます。
印刷やコピー用途として使いたい場合にも有効な手段といえるでしょう。
並べ替え機能で空白セルを下に移動させてデータを上に詰める
並べ替え機能を使うと、空白セルを一括で下部に移動させることができ、結果的にデータが上に詰まった形になります。
「データ」タブの「並べ替え」を使い、対象列を「昇順」または「降順」で並べ替えると、Excelの仕様上、空白セルは自動的に最下部に配置されます。
並べ替えを使う場合、数値・文字列・日付などのデータ型が混在していると、想定外の順番になることがあります。事前にデータの型を統一しておきましょう。
並べ替えを行う前に、元の順番を記録しておく「連番列」をあらかじめ追加しておくと、後から元の順序に戻すことも可能なため安心です。
補助列(連番)を使って元の順序を保持する方法
並べ替えによってデータの順序が変わってしまうことを防ぐために、補助列として連番を振っておくテクニックが役立ちます。
A列にデータがある場合、B列に「1、2、3…」と連番を入力しておき、並べ替え後にB列を基準に再ソートすれば、元の並び順に戻せます。
補助列を使った手順
① 空き列(例:B列)に「1」から始まる連番を入力する
② A列を基準に並べ替えを行い、空白を下部に移動させる
③ 必要な作業が完了したらB列を基準に昇順で並べ替える
④ 元の順序に戻ったことを確認する
⑤ 補助列(B列)を削除して完了
少し手間はかかりますが、元データを守りながら安全に整理できる方法として覚えておくと重宝するでしょう。
関数を使って空白セルを上に詰めて表示する方法
続いては、関数を使って空白セルを詰めて表示する方法を確認していきます。
関数を使う最大のメリットは、元データに一切手を加えることなく、別のセル範囲に詰めたデータを表示できる点にあります。
元のデータをそのまま保持しながら、整理された状態の一覧を別途作りたい場合に非常に有効な手段です。
IFERROR関数とINDEX・SMALL・ROW関数を組み合わせる方法
関数を組み合わせて空白を除いたリストを作成する方法として、INDEX・SMALL・IF・ROW・IFERRORを組み合わせた配列数式が広く知られています。
数式の例(A列のデータからB列に空白を除いて詰めて表示する場合)
=IFERROR(INDEX($A$1:$A$20,SMALL(IF($A$1:$A$20<>””,ROW($A$1:$A$20)),ROW(A1))),””)
※入力後は「Ctrl+Shift+Enter」で確定(配列数式として入力)
この数式は、A列の範囲内で空白でないセルの行番号を小さい順に取り出し、その行のデータをINDEX関数で表示させる仕組みです。
IFERRORで囲むことで、データがなくなった後のセルにエラーではなく空白を表示できます。
やや複雑に見えますが、一度セットしてしまえば自動的に詰めた状態のリストが出来上がるため、繰り返し使う場面では非常に便利な方法でしょう。
Excel 365・2021以降ならFILTER関数が最もシンプル
Microsoft 365や Excel 2021以降をお使いの場合は、FILTER関数を使うことで格段にシンプルな数式で空白除外リストを作成できます。
FILTER関数の例(A列の空白以外を抽出してB列に表示)
=FILTER(A1:A20,A1:A20<>””)
たったこれだけの数式で、空白を除いたデータが自動的に詰まった状態で表示されます。
スピル機能(結果が自動的に複数セルに展開される機能)に対応しているため、数式を1つ入力するだけで結果がまとめて表示される点も魅力的です。
FILTER関数はExcel 365・Excel 2021以降でのみ使用できます。古いバージョンをお使いの場合は、INDEX・SMALL・IF・ROWを組み合わせた配列数式を使用してください。
UNIQUE関数との組み合わせでさらに活用の幅が広がる
FILTER関数はUNIQUE関数と組み合わせることで、空白を除きつつ重複も排除したリストを一発で作成することも可能です。
FILTER+UNIQUE関数の例
=UNIQUE(FILTER(A1:A20,A1:A20<>””))
名簿や商品リストなど、整理が必要なデータを扱う際には特に活躍する組み合わせといえます。
Excel 365環境であれば積極的に活用してみると、日々の作業が大きく効率化されるでしょう。
空白セルを上に移動させる際のよくあるトラブルと対処法
続いては、空白セルを上に詰める操作を行う際によく起こるトラブルとその対処法を確認していきます。
操作手順を正しく理解していても、思わぬ落とし穴にはまってしまうケースは意外と多いものです。
事前にトラブルのパターンを把握しておくことで、スムーズに作業を進められるでしょう。
見た目だけが空白でデータが残っている場合の対処法
Excelでは、目で見ると空白に見えても、実際にはスペース文字や改行コードが入力されているセルが存在することがあります。
このようなセルはジャンプ機能の「空白セル」として認識されないため、意図した通りに選択・削除ができないという問題が発生します。
スペースを取り除く方法(TRIM関数を使用)
=TRIM(A1)
※TRIM関数は文字列の前後・余分なスペースを削除してくれます
TRIM関数で処理した結果を「値貼り付け」することで、見た目だけでなく実際にも空白のセルとして扱えるようになります。
その後、ジャンプ機能で空白セルを選択すれば正常に動作するでしょう。
複数列にまたがるデータで行がズレてしまう問題
複数列にデータがある状態でジャンプ機能を使って空白セルを削除すると、列ごとに行がズレてしまうという深刻な問題が起こりやすくなります。
たとえば、A列の空白だけを詰めようとしたつもりが、B列やC列のデータと対応がズレてしまう、というケースです。
複数列にまたがるデータを整理する場合は、必ず「行全体を削除する」という操作を意識してください。列単位の削除は行のズレを引き起こすリスクがあります。
行全体を対象に削除する場合は、空白セルを選択後に「行全体を削除」オプションを選択することが重要です。
複数列のデータを扱う際は、事前にバックアップを取った上で慎重に操作を進めていきましょう。
数式が入ったセルが空白扱いされない場合の対処法
Excelでは「=””」のような数式が入力されているセルは、見た目は空白でも、ジャンプ機能の「空白セル」には含まれないという仕様があります。
このようなセルを含む場合は、ISBLANK関数を使って真の空白かどうかを判定し、必要に応じて処理する方法が有効です。
ISBLANK関数の使用例
=ISBLANK(A1)
※真の空白セルの場合はTRUE、数式や文字が入っている場合はFALSEを返します
数式によって空白表示されているセルを本当の空白にしたい場合は、対象セルを「値貼り付け」してから空白セルを削除するという手順が確実です。
地道な作業に見えますが、データの整合性を保つためには大切なステップといえるでしょう。
まとめ
本記事では、【Excel】エクセルで空白セルを上に詰める方法(削除せずに詰める・上に移動させるなど)について、複数のアプローチをご紹介しました。
最もシンプルな方法はジャンプ機能+「上方向にシフト」による削除ですが、元データを守りたい場合はフィルター・並べ替え・関数を組み合わせた方法が有効です。
Excel 365や2021以降の環境であれば、FILTER関数を使うことでわずか1行の数式で空白を除いたリストが作成できるため、ぜひ活用してみてください。
また、見た目だけが空白のセルや数式で空白表示されているセルが混在している場合には、TRIM関数やISBLANK関数を使って事前に整理しておくことが重要なポイントです。
状況に応じて最適な方法を選び、Excelでのデータ管理をより快適に、効率よく進めていきましょう。