Excelの空白行を一括削除する方法|正常な行を消さない安全な手順
売上明細をExcelに取り込むと、途中に空白行が混ざることがあります。1行ずつ削除するのは面倒ですが、空白セルをまとめて選択して行削除する操作は、正常なデータまで消してしまう場合があります。
結論:売上明細などの業務データでは、最初に「どの列がすべて空なら削除してよいか」を決め、判定列で空白行を抽出してから削除するのが安全です。
この記事ではWindows版Excel(Microsoft 365/Excel 2024など)を想定し、実務用の架空の売上明細で説明します。操作前に必ず元ファイルを別名保存してください。
1. 「完全な空白行」と「一部だけ空欄の行」は違う
次のような売上明細を考えます。見出しはA1:D1、データは2~7行目です。
| Excel行 | 受注番号(A列) | 顧客名(B列) | 金額(C列) | 備考(D列) | 判定 |
|---|---|---|---|---|---|
| 2 | 1001 | 青山商事 | 12,000 | 10月納品 | 残す |
| 3 | (空白) | (空白) | (空白) | (空白) | 削除候補 |
| 4 | 1002 | (空白) | 8,000 | 顧客名要確認 | 残す |
| 5 | 1003 | 北川工業 | 15,000 | 10月納品 | 残す |
| 6 | (空白) | (空白) | (空白) | (空白) | 削除候補 |
| 7 | 1004 | 田中物産 | 5,000 | 11月納品 | 残す |
3行目と6行目は4列すべてが空白です。一方、4行目は顧客名が空欄でも、受注番号と金額があるため削除してはいけません。
図:空欄のセルがあることと、行全体が空であることは別の問題です。
空白行の削除を試せる練習用Excelファイルも用意しました。必ずコピーを作成して操作してください。
2. 安全な方法:判定列+フィルターで削除する
手順1:元ファイルをコピーする
元ファイルを開き、[ファイル]→[名前を付けて保存]で「売上明細_作業用.xlsx」などの作業用コピーを作ります。削除後に誤りが見つかっても元データに戻れるようにします。
手順2:E列に「判定」を追加する
E1に判定と入力し、E2に次の式を入力します。
=IF(COUNTA(A2:D2)=0,"削除候補","残す")
E7までコピーします。COUNTAは指定範囲で空でないセルの個数を数えます。A~D列が完全に空なら「削除候補」、1つでも値があれば「残す」です。
この式では判定列のE列を範囲に入れません。E列まで含めると式自身が入ったセルを数えるため、意図した判定になりません。
手順3:削除候補だけをフィルターで表示する
- A1:E7を選択し、[データ]→[フィルター]を設定します。
- E列の▼を開き、「削除候補」だけにチェックを付けます。
- 表示された各行のA~D列が本当に空白か、目視で確認します。
- 確認できた行の行番号を選び、右クリックから[行の削除]を実行します。複数行を一括で選ぶ操作に不安がある場合は、表示された行を1行ずつ削除してください。セル内容のクリアではなく、不要な行そのものの削除です。
- フィルターを解除し、元の一覧を確認します。
Excelテーブルとして管理している場合は、操作名が[テーブル行の削除]などになることがあります。フィルター中に別の列だけを選択して[セルの削除]を実行するのは避けてください。
手順4:削除結果を検算する
今回の例では、削除前はデータ6行(うち完全空白2行)、削除後はデータ4行です。金額の合計は削除前後ともに40,000円になるべきです。
=SUM(C2:C7)
削除後は行数が変わるため、合計式の範囲も実際の表に合わせて確認します。売上合計が変わった場合は、正常な行を消した可能性があります。作業を止めて元ファイルからやり直してください。
3. 空白行が少数なら、手動削除の方が確実
空白行が2~3行なら、行番号を選択して右クリック→[削除]の方が分かりやすいことがあります。操作方法を複雑にすることが目的ではありません。誤削除の可能性を小さくする方法を選びましょう。
4. [ジャンプ]→[空白セル]の一括削除には注意
よく紹介されるのが、[ホーム]→[検索と選択]→[条件を選択してジャンプ]→[空白セル]で空欄を選ぶ方法です。ただし、これは空白行を判定する機能ではなく、空白セルを選ぶ機能です。
今回の例でB4の「顧客名」だけが空欄なら、そのセルも選ばれます。続けて行を削除すると、受注1002の正常な明細まで消してしまう可能性があります。
空白セル選択からの削除は、対象列が必ず全件入力されると確認できるなど、データ構造が明確な場合だけに限定してください。
5. 「見た目が空白」でも判定されないとき
COUNTAは、数式で""(空文字)を返すセルや、スペースだけが入力されたセルを空ではないと扱うことがあります。見た目が空欄だからといって、機械的に削除候補にしないでください。
- 式が入っている行:式を消してよいか業務上の確認が必要です。
- スペースだけのセル:スペースを除去してよいか確認してから判定します。
- 結合セルがある表:対象範囲を誤認しやすいため、一覧の構造を先に整理します。
- 非表示行・既存フィルターがある表:見えていない行を含めた件数を別途確認します。
6. 空白行を繰り返し作らないために
毎月同じCSVを加工するなら、取り込み後に「件数」「金額合計」「完全空白行数」を確認する工程を固定するとミスが減ります。表をExcelテーブル(Ctrl+T)として管理すると、範囲の追加やフィルター操作もしやすくなります。
空白行の問題を解決したあと、フィルターがうまく効かない場合はExcelのフィルターがかからないときの直し方を、同じ受注の重複が気になる場合はExcelの重複チェック方法も参考にしてください。
よくある質問
Q. 空白行を一度に削除する最短の方法は?
正常行のどこにも空欄がなく、判定対象列を特定できるなら、フィルターで空欄を表示して行を削除できます。複数列のどれかが空欄でも正常行が存在する業務表では、判定列を使う方法を推奨します。
Q. 途中に空白行があっても集計できるなら、そのままでよい?
操作に支障がなければ無理に削除する必要はありません。ただし、表範囲の自動認識やフィルターの対象漏れが起こらないかは確認してください。
Q. 空白行削除で並び順は変わる?
行を削除するだけなら残った行の相対的な順序は通常維持されます。並べ替えを併用した場合は、元の並び順を復元できるID列を用意しておくと安全です。
参考資料
この記事の会社名・金額・受注番号は、説明用の架空データです。
