社内SEの徒然なる日記

Excelのフィルタで空白行を抽出してみた

フィルタ

社内のユーザーから、フィルタ(オートじゃない方)の使い方で「何も入力されていない行を選択したい」と聞かれて即答できなかったので、いろいろ試してみました。

基本情報

Excel2010だと、フィルタは「データ」-「詳細設定」から選択します。
ExcelFilterフィルタ設定

テスト用の表を、こんな感じで作ります。
こいつで、いろいろフィルタを試して見ます。
ExcelFilter表

普通の使い方は、Excelのヘルプに詳しくのってるので、ちょっと変わったことをしてみます。

文字列が空白のデータ

「文字列」列が空白の行を抽出してみます。

検索条件には = とだけ入力します。
ExcelFilter文字列空白

ふむ、ちゃんと空白行だけ抽出できましたね。
ExcelFilter文字列空白結果

他の機能だと、空白選択って、="" じゃないですか。
なんか、ここだけ = ってのも違和感ありますよね。
統一してくれたら良かったのになぁ。

フィルタを解除

フィルタの解除は、「クリア」を押せば解除できます。
ExcelFilter解除

文字列が空白ではないデータ

次は「文字列」列が空白ではない行を抽出してみます。

こんどの条件は、 <> だけです。
ExcelFilter文字列空白外

うん、成功ですね。
ExcelFilter文字列空白外結果

計算式を利用したデータ抽出

Excelのヘルプを見て見ると、計算式も使えるようなので試してみます。

検索条件に、新しい列「条件」を追加して、計算式に表の先頭行の「文字列」列に対する関数「=IF(D3="",TRUE,FALSE)」を仕込みます。
ExcelFilter計算式

結果はこのとおり、関数の結果が空白になる行だけ抽出できました。
ExcelFilter文字列空白結果

どうやら、関数で設定した「D3」を自動的に各行に対する条件として判断してくれるようですね。
そして、結果が真(True)になる行だけを抽出するってもののようです。

とはいえ、これだけだと怪しいので、今度は値が入力されている行を抽出してみます。
やってることは同じですが、関数を「=IF(D3<>"",TRUE,FALSE)」に書き換えています。
ExcelFilter計算式2

結果は、「文字列」列に値が設定されている(関数の結果が真)行だけが抽出できました。
ExcelFilter文字列空白外結果

...計算式を使った条件設定は、一見便利に感じるけど正直使いたくないかな。
上手く言えないけど、感覚的にトラブルの原因になりそうな気がするんだよね。

最後に

しかし、フィルタなんて使ったのは10年以上前に学校で習って以来ですよ。
これ、便利なんだけど実務レベルだと、なかなか使う機会がないからすっかり忘れてました。
まぁ、勉強し直しのいい機会でしたね。
スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する