Excelを使っていると、たくさんのデータを処理したい時が多くあると思います。
例えば、顧客リストの中から、特定のデータが登録されていない人のリストを出す。
例えば、納品リストの納期が近い順で並び替える。
などなど、こんな状況はいくらでもあるでしょう。
Excelには様々な機能があり、それを上手く使うことで、これらの処理が一瞬で終わることがあります。
今回は、そんな機能の1つ、オートフィルタを紹介しましょう。
後で詳しく触れますが、このオートフィルタはデータの抽出と、並び替えができる機能です。
知っておくと非常に便利なので、是非使いこなせるようになりましょう。
データのフィルタリング、並び替えが可能なExcelのオートフィルタ
改めて、オートフィルタの概要から説明しましょう。
今回紹介するExcelのオートフィルタは、大きく以下2つの機能を併せ持ちます。
- 特定の条件によってデータを抽出する「フィルター機能」
- 基準となる情報を指定し、その昇順、あるいは降順で並び替える「ソート機能」
どちらも、表形式のデータに適用することが可能な機能です。
それぞれ、詳細を見ていきます。
フィルタリング
表形式のデータについて、特定の列(カラム)の条件で表示するデータを絞り込むことができます。
ようは、条件で表のデータを文字通りフィルタリングする機能ですね。
例えば、顧客リストで取引回数がデータの1つとしてあったとしましょう。
ここにフィルタリングを適用し、10回以上の取引があった顧客を抽出する、といったことが可能になります。
その他、冒頭で出したようにデータが抜けている行だけ抜き出す、あるいは逆にデータが入っている行だけ抜き出す、なんてこともできます。
並び替え
表形式のデータについて、特定の列の昇順、あるいは降順で並び替えることができます。
数値や日付ならそのままその順番に並びます。
文字列はアルファベット優先、日本語だと漢字も含めて辞書順で並び替えが可能です。
しかし、精度は完璧ではないため注意してください。
例えば、氏名の辞書順といった並び替えができますが、より高い精度を求めるなら読み仮名も用意してそれで並び替えるといいでしょう。
オートフィルタの具体的な使い方
では、ここから実際の使い方を見ていきます。
オートフィルタは、そもそも機能の有効化が必要になるため、そのやり方から見ていきましょう。
なお、ここからは説明として、以下のファイルを対象に操作をしていきます。
このファイルは作成にあたり、以下のページからブックをお借りしました。

オリジナルのブック配布元が何にでも自由にとの規約だったので、今回この記事で配布するものも同じく自由に使ってもらって構いません。
とはいえ、恐らく機能の練習くらいにしか使えないと思います。
オートフィルタ有効化
オートフィルタを有効化するには、2通りの手順があります。
まず、フィルターをかけたいデータの、カラム名を全て選択しておきます。
今回のサンプルデータで言えば、セルA1~G1を選択した状態ですね。
そのまま、以下いずれかを行ってください。
- 上部メニュー「データ」→「フィルター」をクリック
- ショートカット:「Ctrl」+「Shift」+「L」を押下
すると、カラム名それぞれに▽ボタンが出現します。

これで、オートフィルタが有効化できました。
ちなみに、無効化する時は選択が不要で、メニューの「フィルター」クリックかショートカットだけでOKです。
並び替え
では、並び替えから見ていきましょう。
並び替えの基準にしたいカラム名の▽ボタンを押し、その上の方にある「昇順」もしくは「降順」を選択するだけです。

試しに、登録日の昇順で並び替えると以下のようになります。

登録日を見ると、日付の古い順に並んでいることが分かりますね。
もちろん、降順にすれば日付の新しい方が先頭に来ます。
フィルタリング
次にフィルタリング、先ほどのメニュー内にも少し見えていたものです。
以下の図で、「日付フィルター」と書かれているメニューと、その下がフィルター設定部分になります。

この画像で「日付フィルター」となっているところはその列に入っているデータによって変わります。
数値なら「数値フィルター」、文字列なら「テキストフィルター」です。
参考までに、それぞれのフィルターでできることの一例を挙げてみましょう。
- 日付フィルター
- 今日/昨日/明日
- 今週/先週/来週
- 今月/先月/来月
- 今年/去年/来年
- 範囲指定
- などなど
- 数値フィルター
- 数値が指定した値と一致する/しない
- 数値が指定した値以上/以下
- 数値が指定した値より大きい/より小さい
- トップ10/平均以上/平均以下
- などなど
- テキストフィルター
- 完全一致
- 前方一致
- 後方一致
- などなど
こんなことができます。
例えば、今年(2023年)に登録した人だけ表示すると…

このように表示を絞り込めます。
ちなみに、フィルタリングしている時は…
- 行番号が青で表示される
- 絞り込みをしている列のボタンに書かれているマークが変化する(フィルターマークがつく)
といった目印があるため、今絞り込みをしているか分からなくなった時はそのあたりを確認してみましょう。
また、複数のカラムで同時にフィルターをかけることも可能で、その場合は両方の条件に一致した行だけが表示されます。
登録日が今年、年齢が20以上29以下と設定した場合は、この両方を満たすデータのみが表示されることになります。
空欄だけ隠す/表示する
さて、上の説明だと空欄に関する指定がないと思います。
これは、メニュー下部のチェックがたくさん並んだ部分を使います。
ここはチェックをつけたデータだけを表示することができ、空欄もこの中の一番下に表示されています。
つまり、空欄だけチェックを外せばその列の空欄行を省くフィルター、逆に空欄だけチェックを入れればその列の空欄行だけを表示するフィルターになるのです。
今回のデータはこれも試せるよう、性別、年齢、誕生日をランダムで空欄にしてあります。
年齢が空欄のデータを表示すると、以下のような感じになります。

応用技:1つでも空欄があればその行を表示
さて、今回のデータについて、1個だけ応用を。
先ほども書いた通り、今回のサンプルデータは特定の情報がランダムで空欄になっています。
では、各行で、いずれか1つでも空欄だったら表示したい場合、どうすれば表示できるでしょうか?
もちろんやり方は1通りではありません、少し考えて、できそうなら実際にやってみてください。
ちなみに、この3つの列で空欄だけ表示…ではNG、3つのデータ全てが空欄の行しか出てきません。
いかがでしょうか。
私ならこうする、という方法を紹介しましょう。
まず、一列データを追加します。
H1に「空欄数」というカラム名を入力し、H2に=COUNTBLANK(A2:G2)
と入力。
COUNTAを使っていない理由ですが、COUNTAは純粋な空欄以外のデータ数をカウントします。
今回、見た目は空欄ですが、データ作成の都合上空文字列(“”)が入ったセルになっています。
そのため、COUNTAのカウント対象になってしまい、全行0になってしまいます。
これを防ぐため、空文字列あるいは空欄を数えるCOUNTBLANKを今回使用しました。
これを最終行までコピーすれば、H列にその行の空欄の個数が表示されます。
相対参照の入った数式をコピーする時は、コピー元をクリップボードにコピーしておき、貼り付け先を全部選択した状態で貼り付けすればOKです。
最後にフィルターを設定し直し、H列が1以上でフィルタリングすれば…

このように、空欄が1つ以上あるデータだけを表示できました。
もちろん他にもやり方はあるかと思いますが、方法の1つとして、参考にしてみてください。
まとめ
今回は、Excelのオートフィルタを解説してきました。
これ単体でも十分使えますが、他の数式や機能と組み合わせることでさらに使いやすくなります。
知識として持っておくだけでも思いつく可能性はあるので、とりあえず覚えておくといいでしょう。
そして、使えそうだなと思ったら使って、自分の技術にしていってください。
コメント