小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

エクセルで空白行を削除する方法|一括で消す6つのやり方とデータ量別の使い分け

2026.07.27

応用:VBAマクロで空白行を自動削除する(繰り返し処理向け)

決まった範囲の空白行削除を何度も行うなら、VBAマクロでボタン1つの操作にまとめられます。ここでは初心者でも試しやすい2つのパターンを紹介します。

1つ目は、SpecialCellsメソッドで空白セルのある行をまとめて削除するコードです。

Sub 空白行削除_SpecialCells()

    On Error Resume Next

    Range(“A1:A1000”).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    On Error GoTo 0

End Sub

SpecialCellsは、対象範囲に空白セルが1つもないとエラーになります。エラーで処理が止まらないよう、On Error Resume Nextを添えておくのが安全です。

2つ目は、行を1行ずつ確認して、行全体が空のときだけ削除するループ処理です。判定にはCOUNTA関数(VBAではWorksheetFunction.CountA)を使い、非空セルが0の行を削除します。

Sub 空白行削除_ループ()

    Dim i As Long, lastRow As Long

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = lastRow To 1 Step -1

        If WorksheetFunction.CountA(Rows(i)) = 0 Then

            Rows(i).Delete

        End If

    Next i

End Sub

ループ処理では、必ず末尾の行から先頭に向かって処理する点が重要です。上から削除すると行番号が繰り上がり、削除対象を飛ばしてしまうためです。Step -1で下から処理すれば、行番号のずれを気にせず正確に削除できます。


空白行を削除するときの注意点・よくある失敗

空白行の削除は手軽な操作ですが、やり方を誤るとデータを壊しかねません。ここでは実務で起きやすい失敗と対策を整理します。

一部の列だけ空白の行を巻き込んで削除してしまう

ジャンプ機能で「空白セル」を選ぶと、一部の列だけが空白でほかの列にはデータが入っている行まで選択されます。この状態でセル単位の削除を行うと、データのある行までずれてしまいます。旧記事の「上方向にシフト」がまさにこの失敗を招く操作でした。

対策は2つあります。1つは、削除時に必ず「行全体」を選び、行がまるごと空のときだけ削除する意識を持つことです。もう1つは、COUNTA関数でヘルパー列を作り、全列が空白かどうかを正確に判定する方法です。

具体的には、空いている列に「=COUNTA(A2:D2)」のような数式を入れ、行内の入力済みセル数を数えます。結果が0の行だけが「完全な空白行」です。この列でフィルターや並べ替えを行えば、一部だけ空白の行を巻き込まずに削除できます。

見た目は空白でも実際は空白でないセルに注意する

半角・全角スペースや空文字列(””)が入ったセルは、見た目は空白でもエクセルは「データあり」と判定します。この場合、ジャンプ機能の「空白セル」では選択されず、空白行として削除できません。旧記事で解説していたスペース削除は、この状況の対処として有効です。

スペースを取り除く代表的な方法は、置換とTRIM関数の2つです。置換は Ctrl + H(Macは Command + Shift + H)で置換ダイアログを開き、「検索する文字列」にスペースを入力、「置換後の文字列」を空欄にして「すべて置換」を実行します。関数を使う場合は、別のセルに「=TRIM(A1)」と入力すると、文字列の前後のスペースがすべて削除され、単語間のスペースは1つだけ残ります。

印刷されない制御文字が混ざっている場合は、CLEAN関数を組み合わせた「=TRIM(CLEAN(A1))」が効果的です。TRIM関数の詳しい仕様はMicrosoftの公式ヘルプで確認できます。

参考:Microsoft サポート「TRIM 関数」

削除前のバックアップとCtrl+Zで戻せる範囲

一括削除は便利な半面、誤って必要な行を消すリスクもあります。作業前にファイルを別名保存するか、シートを複製してバックアップを取っておくと安心です。

直後の操作なら Ctrl + Z(元に戻す)で削除を取り消せます。ただし、いったんファイルを保存して閉じると、それ以前の操作は元に戻せなくなる点に注意してください。大量削除の前ほど、バックアップの一手間が効いてきます。


Web版Excel(Excel for the web)での空白行削除

ブラウザで使うWeb版Excelでも、空白行の削除は可能です。基本の考え方はデスクトップ版と同じで、行番号を右クリックして「削除」を選ぶか、フィルターで空白行を絞り込んで削除します。

ただしWeb版には一部制限があります。デスクトップ版の「条件を選択してジャンプ(選択オプション)」に相当する機能はWeb版の「検索と選択」メニューに用意されておらず、ジャンプ機能で空白セルを一括選択する方法は使えません。この操作を使いたい場合は「デスクトップアプリで開く」からデスクトップ版のExcelを起動してください。

参考:Microsoft サポート「Excel for the web でサポートされていない機能を含むブックを編集する」

一方でPower Queryは、2026年1月にExcel for the webでもフル機能(インポートウィザード、Power Queryエディター、変換、閉じて読み込む、更新)が正式提供されました。ブラウザだけで空白行の削除まで完結できます。ただし条件があり、クエリの新規作成・編集はMicrosoft 365のBusiness/Enterpriseプランが対象で、閲覧と更新のみなら全プランで利用可能です。データソースはOneDriveやSharePointなどクラウド上のものが前提で、ローカルファイルを直接読み込むことは執筆時点では未対応となっています。

参考:Microsoft Community Hub「New in Excel for the web: The full Power Query experience」

なお、FILTER関数はWeb版でもプランを問わず利用できます。手軽に非破壊で空白行を除きたいときは、FILTER関数が現実的な選択肢になるでしょう。

Excelを中心に、業務効率化やデータ整理の考え方を研究・発信。関数や機能を“丸暗記させない”ことを大切にし、「なぜそうなるのか」「どう使い分けるのか」をやさしく解説する編集プロダクション。Excelが苦手だった人でも、明日から使える実践的なノウハウを届けます。

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2026年7月16日(木) 発売

DIME最新号は、世界の模型・プラモデルメーカーを大解剖する「ボクラのタミヤ」特集!『爆走兄弟レッツ&ゴー!!』こしたてつひろ先生インタビュー&描き下ろしピンナップ、特別付録にはスチールギアケースも!さらに2026年上半期トレンド特集では、「売れる」より「育てる」をキーワードに、ファンを育てる新時代のヒット戦略を徹底分析!話題のモナキ独占インタビューも掲載した見逃せない一冊!

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。