INDEX
空白の行を削除して上に詰めるには?
Excelでデータの中に空白の行があると、集計や分析がしにくくなることがあります。このような場合、空白行を削除してデータを上に詰めると、整理しやすくなります。この記事では、Excelで空白行を効率的に削除する方法について解説します。
方法1: フィルターを使って空白行を削除する
フィルター機能を使うことで、空白行を簡単に削除し、データを上に詰めることができます。
手順
- 空白行を含むデータ範囲(例:A2:A20)を選択します。
- 「データ」タブから「フィルター」をクリックし、フィルター機能を有効にします。
- フィルターのドロップダウンメニューから「空白セル」を選択し、空白行のみを表示させます。
- 空白行をすべて選択し、右クリックして「削除」を選択します。
- フィルターを解除し、データが上に詰まっていることを確認します。
方法2: [ジャンプ]機能を使って空白行を削除する
「ジャンプ」機能(セル選択オプション)を使用して空白セルを一括選択し、空白行を削除する方法もあります。
手順
- データ範囲(例:A2:A20)を選択します。
- 「ホーム」タブから「検索と選択」→「ジャンプ」をクリックし、「ジャンプ」ダイアログを開きます。
- 「セル選択」オプションで「空白セル」を選び、「OK」をクリックします。選択範囲内の空白セルがすべて選択されます。
- 空白セルを選択したまま、右クリックし「削除」を選択、「行全体を削除」を選んで空白行を削除します。
方法3: VBAマクロを使用して空白行を一括削除する オススメ!
空白行が多い場合には、VBAマクロを使用することで効率的に空白行を削除できます。
VBAコードの手順
- 「開発」タブから「Visual Basic」をクリックして、VBAエディタを開きます。
- 「挿入」→「標準モジュール」を選択し、次のコードを入力します。
VBAコード:
Sub DeleteEmptyRows()
Dim LastRow As Long
Dim i As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = LastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub
VBAコードの説明
- LastRow: データが入力されている最後の行を取得します。
- For i = LastRow To 1 Step -1: 下から上に向かって行をチェックします。
- CountA(Rows(i)) = 0: 行のセルがすべて空白かどうかを判定します。空白の場合、その行を削除します。
例
以下の表では、A列に空白行が含まれています。空白行を削除することで、データが上に詰められます。
A | B | |
---|---|---|
1 | データ1 | 値1 |
2 | ||
3 | データ2 | 値2 |
4 | ||
5 | データ3 | 値3 |
結果
- 空白行が削除され、データが上に詰まって表示されます。
まとめ
Excelで空白行を削除してデータを上に詰めるには、フィルター機能、ジャンプ機能、VBAマクロを使用する方法があります。データの量や操作の手間に応じて、最適な方法を選択してください。
開発タブが表示されていないとき

開発タブを表示させるには? VBAやマクロの設定のために | EXCELトピックス
開発タブが表示されず、VBAやマクロの設定ができない場合の対処法ExcelでVBAやマクロを使用するためには、「開発」タブが必要ですが、初期設定では表示されていません。「開発」タブを表示する設定方法を以下にご紹介します。開発タブを表示させる方法「開発」タブは、Excelのオプション設定で表示することができます。以下の手...