オートフィルタ

オートフィルタとは

表が大きいと見たいデータを探し出すのも大変ですが、Excelには表の中から指定した条件に合うデータだけを表示する「オートフィルタ」というたいへん便利な機能が備わっています。

 

テーブル中のいずれかのセルを選択している状態で、「データ」タブの「フィルタ」ボタンをクリックするだけで、自動的にオートフィルタ機能が有効になり、先頭行(通常はタイトル行)の各欄にプルダウンメニューが並んでくれます。

 

そのプルダウンメニューを開くとその列に記載されているデータ内容が並んでいます。その中から見たいものを選ぶと、その条件に合ったデータ行だけが抽出されて表示されます。それ以外のデータは画面上消えていますが、なくなったわけではないのでご安心を・・。その証拠に別のものを選べば、今度はその条件のもので選択表示されます。

 

オートフィルタでは、抽出表示された表を更に絞込み表示させることもできます。

データを全部表示に戻すには、オートフィルタの条件で、「すべて表示する」を選んでください。複数の項目で絞込みをしていた場合にはそれぞれを「すべて表示する」にして戻すことをお忘れなく。

 

 

オートフィルタの設定
オートフィルタの設定
「性別」のプルダウンメニューから「男」のみを選択
「性別」のプルダウンメニューから「男」のみを選択
続けて「組」から「1」のみを選択し「1組の男」を抽出
続けて「組」から「1」のみを選択し「1組の男」を抽出

●  オートフィルタの解除

オートフィルタ機能を解除するのも簡単です。再度、「データ」タブの「フィルタ」ボタンを押せばオートフィル機能が解除されます。

 

SUBTOTALとの組み合わせ

抽出されたデータだけで合計値や平均値などを求めたいという場合がすくなくありません。

合計を求める一般的な「SUM関数」を使ってしまうと、フィルタで非表示になった行のデータも集計に含まれてしまいます。

「SUBTOTAL関数」を使えば、フィルタで抽出されたデータのみで集計されます。

 

 

【便利知識】

オートフィルタ機能がアクティブな状態で「ホーム」タブや「数式」タブにある合計(Σ)ボタンを押すと、「SUM関数」ではなく「SUBTOTAL関数」が設定されます。

 

 

「合計」ボタンでSUBTOTAL関数が設定される
「合計」ボタンでSUBTOTAL関数が設定される
抽出されたデータのみを対象に合計値が算出される
抽出されたデータのみを対象に合計値が算出される

連番を振る

一般に、行に連番を振る時には、ドラッグなどで「連続した数字を入力する」か、「ROW関数」(例: =ROW()-1)を用いますが、オートフィル機能でデータを抽出した場合には、非表示の行が飛び番になって、連続してくれません。

 

【便利知識】

「SUBTOTAL関数」を使うと、オートフィルタ機能を働かせた場合でも崩れない連番を振ることができます。

 例: A2のセル =SUBTOTAL(3,$B$1:$B2)-1

    A3のセル =SUBTOTAL(3,$B$1:$B3)-1

      :

    A10のセル  =SUBTOTAL(3,$B$1:$B10)-1

 

SUBTOTAL関数の最初の引数「3」は、データの個数(COUNTA)を求める、という意味です。

A2は、B1とB2の間のデータの個数(2)から1を引きますので、結果は1となります。

同様に、A3の結果は2となります。

おわかりのように、最後の引数には「複合参照」で行番号が可変になっていますので、A2のセルに入力したら、後はドラッグすれば良いのです。

 

SUBTOTALはフィルタで非表示となる行は集計の対象になりませんので、飛び番が生じません。

 

※よく、「=SUBTOTAL(3,$B$2:B2)の形で説明されている場合がありますが、これだと、フィルタを掛けた時に、最後の行に余分なデータが表示されてしまうおそれがあります。

 

SUBTOTAL関数を使って連番を振る
SUBTOTAL関数を使って連番を振る
データが抽出された状態でも連番が崩れない
データが抽出された状態でも連番が崩れない