Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

なるべく速く大量の空白行を削除する方法

システムから出力される表がこんな感じで小計が挟まっている形式。
自分で集計する際には邪魔なので削除している。

小計行を削除する際にショートカットキーだけで出来るので、ジャンプ機能に頼ろうとするのだが、データが多すぎる場合こんな事になって涙をのむ羽目になる。

このようになっても待てば処理が完了するのだが、待ってる時間がもったいないのでデータ出力からやり直すこともしばしば。

どうすれば早く削除できるだろうか?


ちなみにショートカットキーで削除するにはこんな感じ。

Ctrl + Space :列選択
Ctrl + G    :ジャンプ機能表示
Alt + S   :「セル選択」をクリック
K      :「空白セル(K)」を選択
Enter    :「OK」をクリック(この時点で空白セルが選択される)
Ctrl + -   :削除機能を表示
R      :「行全体(R)」を選択
Enter    :「OK」をクリック(空白セルを含む行が削除される)


但しこの方法では上述のようにデータ量が多い場合に「応答なし」になることもしばしば。


空白セルの選択方法

一つは先ほど紹介したジャンプ機能がある。
選択セルの中から選択した項目に該当するセルを選択状態にする機能。

調べたいセル範囲を選択後、Ctrl + Gで下記のメニューが表示される。


ジャンプ機能の他にもオートフィルタを使用する方法がある。

オートフィルタを設定。
A列のオートフィルタ項目から最下段の    (空白セル) を選択。

これで表示されている空白行を削除すれば良いのだが、ジャンプ機能を利用した方法ほどではないが結構待ち時間が長い。


並び替え後の削除

上記いずれの方法でも空白セルを選択することが出来る。

しかしいずれの方法でも選択した空白セルの行削除を行うと削除する量によっては、冒頭に紹介したようにものすごく時間がかかる。


そこでもう1つの方法を紹介したい。

それは並び替えです。

今回の例ではA列の空白を基準にしたいのでA列の任意のセルを1つ選択。

並び替えを実行。
昇順でも降順でもどちらでもOK。今回は昇順。

そうするとA列が空白の列がデータ範囲の下部に集まる。

この状態でA列の空白範囲を選択後、削除を実行すると待ち時間なく削除される。


処理時間

上記でご紹介した方法の処理時間をストップウォッチで簡単に計測した結果が以下です。

 純粋に削除を開始してから終了するまでの時間です。
 準備時間は除きます。

データは15,559行x26列で6行ごとに空白が存在します。

方法 時間
ジャンプ 11秒
オートフィルタ 10秒
並び替え 1秒

もう他の方法ではやりたくないぐらいに「並び替え」が速いです。  

データ量が少ない時は並び替え以外の方法でも問題ない処理時間ですが、データ量が多い時は並び替え一択でしょう。
(もちろんデータを並び替えること自体に手間がかかる場合もあると思いますが


オートフィルタ番外編

ちなみにオートフィルタを使った方法で高速に空白を排除する方法があります。

別ブックへの貼付けです。

削除するときとは逆にオートフィルタで「空白セル」以外を選択。
表示されているデータをコピーして別シートにペースト。

並び替えに負けないくらい速く、空白を排除することが出来ます。

気分よく作業している途中で待たされると、気分も集中力も下がってしまいます。
少しでも気分よく作業できるように、サクッと削除できる方法を検証してみました。