エクセルでデータを作成しているとき、途中の行を削除したり、特定のデータを抜き出したりすると、どうしても「空白の行」ができてしまうことがあります。この空白を一つずつ手作業で削除するのは、データの量が多いほど大変な作業になります。何百行もあるリストを一行ずつ修正していては、時間がいくらあっても足りません。
この記事では、エクセルでデータを上に詰めるための効率的な方法をいくつかご紹介します。基本的な右クリック操作から、大量のデータを一瞬で処理できる「ジャンプ」機能、さらには関数を使った自動化まで、状況に合わせた最適な手順をまとめました。
操作のコツを掴めば、バラバラだった表もスッキリと整い、その後の集計や分析がスムーズに進むようになります。初心者の方でも分かりやすいように、手順を追って丁寧に解説していきますので、ぜひ最後まで読み進めてみてください。
エクセルで上に詰める基本!右クリック削除とショートカット

まずは、最も基本的で直感的な「削除して上に詰める」方法を見ていきましょう。少量のデータを整理する場合や、特定の場所だけをピンポイントで修正したいときに非常に役立つ手法です。エクセルの基本操作ですので、まずはここからマスターしましょう。
右クリックメニューから削除して上に詰める
最も一般的なのが、マウスの右クリックを使った操作です。削除したいセル、または行を選択した状態で右クリックし、メニューから「削除」を選択します。すると「削除」のダイアログボックスが表示されます。ここで「上に詰めて削除」を選択して「OK」を押せば完了です。
この操作のポイントは、行全体を消すのか、特定のセル範囲だけを消して上に詰めるのかを選べる点にあります。表の横に別のデータがある場合は、行全体を消してしまうと隣のデータまで消えてしまいます。そのような時は「上に詰めて削除」を選ぶことで、選択範囲だけを上に移動させることができます。
操作ミスを防ぐためにも、どの範囲が上に移動するのかを事前に確認しておくことが大切です。慣れるまでは、一つひとつの動作を丁寧に行いましょう。
ショートカットキーで素早く上に詰める
作業効率を劇的に上げるなら、ショートカットキーの活用が欠かせません。削除したいセルを選択した状態で、キーボードの「Ctrl」キーと「-(マイナス)」キーを同時に押してみてください。これだけで、先ほどの削除ダイアログを瞬時に呼び出すことができます。
ダイアログが表示されたら、矢印キーで「上に詰めて削除」を選択し、「Enter」キーを押せば操作完了です。マウスに持ち替える手間が省けるため、連続して空白を詰めたいときには非常に強力な武器になります。慣れてくると、一瞬で表を整理できるようになります。
また、行全体を選択している状態でこのショートカットを使えば、確認ダイアログなしで即座に行が削除され、下の行が上に詰められます。スピードを重視する実務の現場では、非常によく使われるテクニックです。
複数行をまとめて選択して上に詰める
離れた場所にある複数の空白を一度に詰めたい場合は、「Ctrl」キーを押しながらセルをクリックしていくことで、複数の範囲を同時に選択できます。選択が終わった後に右クリック削除、またはショートカットキーを実行すれば、選択したすべての箇所が一気に上に詰められます。
ただし、この方法は選択する箇所が多いと、クリックミスの原因にもなります。もし数箇所程度の修正であれば有効ですが、数十箇所を超えるような場合は、後ほど紹介する「ジャンプ機能」を使った方が安全で確実です。
自分の作業量に合わせて、手動で選ぶか、機能を使って一括で処理するかを判断できるようになると、エクセル上級者への第一歩と言えます。まずは少数のデータで練習してみるのがおすすめです。
注意点:セルの結合がある場合の挙動
エクセルで「上に詰める」操作をする際に最も注意すべきなのが、セルの結合です。もし、削除しようとしている範囲や、その影響で移動する範囲に結合されたセルが含まれていると、エクセルは正しくデータを移動させることができません。
「この操作には、同じサイズの結合セルが必要です」といった警告メッセージが出た場合は、一度セルの結合を解除してから操作をやり直す必要があります。特に、見出し部分などでセルを結合している表では、この問題が発生しやすいため注意が必要です。
データを整理する際は、まず「結合を解除」し、上に詰める操作を完了させた後に、再度必要に応じて結合し直すという手順を踏むのが最も確実な方法です。手間はかかりますが、データの破損を防ぐためには重要なプロセスです。
空白セルを一括選択して上に詰める「ジャンプ」機能

データが大量にある場合、一つひとつ空白を探して削除するのは現実的ではありません。そこで便利なのが「ジャンプ」という機能です。これを使えば、指定した範囲内にある「空白セル」だけを自動で見つけ出し、一括で選択することができます。
「ジャンプ」機能を使って空白セルだけを探す
まず、空白を詰めたいデータ範囲をマウスでドラッグして選択します。次に、キーボードの「Ctrl」キーを押しながら「G」キーを押してください。すると「ジャンプ」という小さな画面が出てきます。その左下にある「セル選択」ボタンをクリックしましょう。
さらに「選択オプション」という画面が表示されるので、その中から「空白セル」にチェックを入れて「OK」を押します。すると、不思議なことに選択範囲内の空白セルだけがグレー(選択状態)に変わります。これで、削除の準備が整いました。
この機能の素晴らしい点は、目に見えないほど小さな空白セルも見逃さずにキャッチしてくれることです。人の目によるチェックよりも正確で、かつ一瞬で終わるため、実務では必須のテクニックと言えます。
選択した空白セルを一気に削除して上に詰める
空白セルがすべて選択された状態(グレーの状態)で、マウスを動かさずにそのまま「Ctrl」と「-(マイナス)」キーを押します。削除ダイアログが出るので、「上に詰めて削除」を選んで「OK」をクリックしてください。
これで、表の中に点在していた空白がすべて消え、下のデータがパズルのようにカチッと上に詰まります。どれだけ空白が多くても、この手順なら数秒で作業が完了します。バラバラだったデータが綺麗に整列する様子は、見ていて非常に気持ちの良いものです。
ただし、この操作を行うと、表の横方向にあるデータとの関係性が崩れる可能性があります。もし横の行全体がセットになっているデータ(住所録など)の場合は、行全体を削除する設定にするか、十分に注意して実行してください。
ジャンプ機能を使った一括削除の手順まとめ
1. 範囲を選択する
2. Ctrl + G を押して「セル選択」をクリック
3. 「空白セル」を選んでOKを押す
4. Ctrl + -(マイナス)で「上に詰めて削除」を実行
大量のデータがある場合に最適な理由
ジャンプ機能が大量データに適している最大の理由は、「見落とし」がゼロになることです。1000行を超えるようなリストをスクロールしながら空白を探すと、どうしても数カ所は見落としてしまいがちです。しかし、システム的に空白を抽出するこの方法なら、その心配はありません。
また、処理速度も非常に高速です。手作業で10分かかる作業が、ジャンプ機能なら10秒で終わります。この差は、日々の業務効率において非常に大きなインパクトを与えます。正確性とスピードの両立こそが、この機能の最大の魅力です。
さらに、ジャンプ機能は空白以外にも「数式が入っているセル」や「条件付き書式が設定されているセル」なども探せます。これを機に、ジャンプ機能の便利さを知っておくと、エクセルの他の作業でも応用が利くようになります。
データの整合性を保つためのチェックポイント
上に詰める操作をした後は、必ずデータの整合性を確認しましょう。特に、特定の列だけを上に詰めてしまった結果、本来同じ行にあるべき氏名と電話番号がズレてしまった、というトラブルはよくある失敗例です。
もし、行全体が一行のデータとして意味を持っている場合は、セル単体で上に詰めるのではなく、「行全体」を削除するように心がけてください。不安な場合は、操作を行う前にファイルを一度上書き保存しておくか、シートをコピーしてバックアップを取っておくと安心です。
万が一、ズレてしまったことに気づいたら、すぐに「Ctrl + Z」で元の状態に戻しましょう。エクセルでは直前の操作を取り消すことができるので、焦らずに対応することが大切です。
並べ替え機能を使ってデータを上に詰める

「上に詰める」という目的を達成するためのもう一つのアプローチが、並べ替え(ソート)機能です。これは、特定のルールに従ってデータを並び替えることで、空白セルを一番下に追いやり、結果としてデータがある行を上に集めるという手法です。
昇順・降順で並べ替えて空白を下に追いやる
エクセルの並べ替え機能では、空白セルは基本的に「一番最後(下)」に配置されるというルールがあります。これを利用して、データが入っている列を基準に「昇順(小さい順)」または「降順(大きい順)」で並べ替えを実行します。
すると、入力されている文字や数値が上の方にギュッと集まり、空白だった行はすべて表の底に移動します。削除操作を行わなくても、実質的に「上に詰まった」状態を作り出すことができます。不要になった下の空白行は、後でまとめて削除してしまえばOKです。
この方法は、削除ダイアログを出す手間がなく、リボンメニューの「並べ替え」ボタンを押すだけなので、非常に手軽に行えるのがメリットです。特に、データの順番が多少変わっても問題ないリストであれば、最も簡単な解決策になります。
元の順番を維持しながら上に詰める「連番」活用術
「上に詰めたいけれど、元の並び順は変えたくない」というケースもあるでしょう。そんな時は、作業用の列を一つ追加して「連番(1, 2, 3…)」を振っておくのが賢いやり方です。まず一番左の列に1番からの数字を入力します。
その後に空白を削除したり並べ替えたりして上に詰め、最後にその連番列を基準に再度並べ替えを行えば、空白が詰まった状態で元の順序を復元できます。一手間かかりますが、データの順序が重要な意味を持つ名簿や売上伝票などでは、この「連番法」が非常に有効です。
作業が終わったら、追加した連番用の列を削除するだけで元通りです。このように、一時的な補助列を使うテクニックは、エクセルでのデータ加工において非常に役立つ考え方です。
並べ替えを行う前に、必ず表全体を選択するか、データが入っている範囲が正しく認識されているかを確認しましょう。一部の列だけを選択した状態で並べ替えると、データがバラバラに壊れてしまう原因になります。
フィルター機能を使って空白行だけを表示・削除する
並べ替えと似た手法に「フィルター」があります。表の見出しにフィルターを設定し、ドロップダウンメニューから「(空白セル)」だけにチェックを入れます。すると、画面上には空白の行だけが表示されます。
この表示された空白行をすべて選択して右クリックから「行の削除」を行い、最後にフィルターを解除すれば、データのある行だけが上に詰まって表示されます。並べ替えと違い、データの順序を一切崩さずに空白だけを抜き取れるのが強みです。
フィルターを使う方法は視覚的に分かりやすく、どの行を消そうとしているのかが明確なので、初心者の方にもおすすめできる安全な方法です。
数値データと文字列データが混在する場合のコツ
並べ替えを行う際、列の中に数値と文字列が混ざっていると、思わぬ順番になることがあります。しかし、今回の目的は「空白を下に追いやる」ことなので、順番自体はそれほど気にする必要はありません。
ただし、日付データなどが含まれている場合は注意が必要です。空白を詰めるために並べ替えた結果、日付がバラバラになると後で困るかもしれません。その場合は、先ほど紹介した「連番」を先に振っておく方法を併用してください。
また、セルの書式設定によって、見た目は空白でも実は「スペース(空白文字)」が入っていることがあります。この場合、エクセルはそれを「データあり」とみなして上に詰めてくれません。並べ替えの前に、不要なスペースがないかもチェックしておくと良いでしょう。
関数や新機能で自動的に上に詰める

ここまでは手動での操作が中心でしたが、エクセルの関数を使えば、元のデータを書き換えることなく、別の場所に「空白を詰めたリスト」を自動で作成することができます。元データを保存しておきたい場合や、データが随時更新される場合に最適です。
FILTER関数を使って空白を除いたリストを作成する
比較的新しいエクセル(Office 365やExcel 2021以降)を使っているなら、FILTER(フィルター)関数が最もおすすめです。これは、指定した条件に合うデータだけを抽出してくれる画期的な関数です。
例えば、A列のリストから空白を除いてB列に詰めたい場合、B1セルに「=FILTER(A:A, A:A<>“”)」と入力します。これは「A列の中で、空(””)ではないものだけを表示せよ」という意味になります。これだけで、空白が詰まった綺麗なリストが自動生成されます。
元のA列に新しいデータを追加したり、途中のデータを消したりしても、B列の結果はリアルタイムで更新されます。手動で何度も削除操作を繰り返す必要がなくなるため、管理の手間を大幅に削減できます。
元データをいじらずに別シートで上に詰める方法
FILTER関数を別シートで使えば、マスターデータ(元帳)はそのままに、印刷用や閲覧用の「空白なしリスト」を別で作ることができます。別シートのセルに「=FILTER(Sheet1!A:A, Sheet1!A:A<>“”)」のように、参照先をシート名付きで指定するだけです。
これにより、入力作業をするシートと、結果を確認するシートを分けることができます。入力担当者が行を詰め忘れても、出力用のシートでは常に綺麗に上に詰まった状態で表示されるため、業務のミスを防ぐ効果もあります。
関数の数式が入っているセルは、見た目はデータが入っていますが、実際には数式が動いているだけです。もし値を確定させたい場合は、結果をコピーして「値として貼り付け」を行ってください。
旧バージョンでも使えるINDEX関数とMATCH関数の組み合わせ
古いバージョンのエクセルでFILTER関数が使えない場合は、INDEX関数、MATCH関数、ROW関数などを組み合わせた複雑な数式を使うことになります。難易度は高いですが、これによって自動で上に詰める仕組みを作ることは可能です。
具体的には、IFERROR関数を組み合わせて、エラー(空白に該当する部分)を表示させないように工夫します。数式は長くなりますが、一度設定してしまえば、FILTER関数と同様に自動更新されるリストが作れます。
ただし、計算負荷が少し高くなるため、数万行といった膨大なデータで多用すると、エクセルの動きが重くなることがあります。その場合は、関数ではなく前述の「ジャンプ機能」などで物理的に削除する方が効率的かもしれません。
スピル機能を利用した動的な表の更新
最近のエクセルには「スピル」という機能があります。これは、一つのセルに関数を入力するだけで、結果が隣接するセルに溢れ出すように表示される仕組みです。FILTER関数の結果が自動で下に伸びていくのも、このスピル機能のおかげです。
この機能により、データの数が増減しても、数式を下にオートフィル(コピー)し直す必要がありません。自動的に表示範囲が調整されるため、「上に詰める」処理がよりスマートに行えます。
スピルされた範囲の周囲に他のデータがあると、エラー(#SPILL!)が表示されることがあります。FILTER関数などを使う際は、あらかじめ出力先の右側や下側に十分な空きスペースを確保しておくのがコツです。
| 方法 | メリット | デメリット |
|---|---|---|
| 右クリック削除 | 直感的で簡単 | 大量データには不向き |
| ジャンプ機能 | 一括で処理できて速い | データのズレに注意が必要 |
| 並べ替え | 最も手軽に集約できる | 元の順番が変わってしまう |
| FILTER関数 | 自動で更新される | 新しいエクセルが必要 |
上に詰める時にうまくいかない原因と対処法

手順通りにやっているつもりでも、なぜか上手く上に詰まらなかったり、エラーが出てしまったりすることがあります。ここでは、よくあるトラブルとその解決策をまとめました。困ったときは、以下の項目をチェックしてみてください。
消したくないデータまで一緒に上に詰まってしまう
「空白セルを上に詰めたら、隣の列のデータと行がズレてしまった」というのは最も多い失敗です。これは、列全体ではなく、一部のセル範囲だけを選択して「上に詰める」を実行したときに起こります。
これを防ぐには、空白を削除する際に「行全体」を選択して削除するか、あるいは表全体の範囲を正しく選択した状態で操作を行う必要があります。データが関連し合っている表では、セル単位の移動は避け、常に行単位で考えるのが安全です。
もしズレてしまった場合は、すぐに「元に戻す(Ctrl + Z)」を実行しましょう。何度も操作を進めてしまうと戻せなくなるため、一回一回の操作後の状態を確認する習慣をつけることが大切です。
空白に見えるのに「ジャンプ」で選択されない理由
見た目は何も入力されていないのに、ジャンプ機能で「空白セル」として認識されないことがあります。この原因の多くは、セルの中に「目に見えない文字」が入っていることです。
例えば、スペース(空白キー)が打ち込まれていたり、他のシステムからコピーした際に制御文字が含まれていたりする場合です。また、数式の結果として「””(空文字)」が返されている場合も、エクセルはそれを「データあり」とみなします。
この場合は、まず「置換」機能を使ってスペースを完全に消去するか、関数を使って文字数を数え、中身が入っていないか確認する必要があります。綺麗なデータに整えることが、スムーズに上に詰めるための近道です。
計算式(数式)が入っているセルの扱い
上に詰めたいセルに数式が入っている場合、削除して上に詰めると、その数式が参照している先がズレてしまい、エラー(#REF!)が発生することがあります。数式は「どのセルを見ているか」という情報を持っているため、セルの位置関係が変わると混乱してしまうのです。
数式を維持したまま上に詰めたい場合は、参照形式を「絶対参照($マークを付ける)」にするか、あるいは一旦数式を「値」に変換してから操作を行う必要があります。
特に、他のシートの値を参照しているような複雑な表では、安易に上に詰めると全体が壊れてしまうリスクがあります。計算式が多い表では、物理的に削除するよりも、フィルター機能などで「見せない」工夫をする方が安全かもしれません。
テーブル機能を使っている場合の特殊な挙動
エクセルの「テーブル」機能(挿入 > テーブル)を使っている場合、通常のセル範囲とは挙動が少し異なります。テーブル内で「上に詰める」操作をすると、テーブルの構造を維持したまま行が削除されます。
テーブルは非常に賢いので、基本的には行を削除すれば自動で上に詰めてくれますし、集計行なども適切に処理してくれます。しかし、テーブルの一部だけを上に詰める(他の列はそのままにする)といった変則的な操作はできません。
もしテーブルを使っていて思い通りに動かない場合は、一度「範囲に変換」して通常のセルに戻してから操作するか、テーブルの機能を活かして「フィルター」で空行を管理するように方針を切り替えるのがスムーズです。
エクセルで上に詰める操作をマスターして効率化しよう
エクセルでデータを上に詰める方法は、データの量や目的に合わせて使い分けるのがベストです。数カ所の修正なら右クリックやショートカット、大量の空白を一掃するなら「ジャンプ」機能、そしてデータの順番を変えずに集約したいなら「並べ替え」や「フィルター」を活用しましょう。
また、最新の「FILTER関数」を使えば、手動の作業を一切行わずに空白のないリストを自動作成することも可能です。これまで一行ずつ手作業で行を削除していた方にとって、これらのテクニックは驚くほど作業時間を短縮してくれるはずです。
ただし、上に詰める操作はデータ同士の並び順(整合性)を壊してしまうリスクも伴います。作業を行う前にはバックアップを取る、あるいは「行全体」を対象にするなど、安全な方法を選ぶ習慣をつけてください。今回ご紹介したテクニックを駆使して、見やすくミスのないエクセルシートを作成していきましょう。

