複数の列で、特定の条件を満たす行だけを抽出したい場面が実務ではよくあります。
たとえば、下の表のように、学生ごとの成績が一覧となったデータがある場合。
このデータのうち、全科目が「優」か「秀」の人だけを抽出して表示させたい場合、ひとつひとつ目視で確認していたら、すごく面倒ですよね。
大丈夫。エクセルには、とても簡単に、条件を満たす行だけを抽出して表示する機能が備わっています。
エクセルの「フィルター」機能を使ってみましょう。
スポンサードリンク
フィルターを使えば列ごとに条件を設定して抽出できる
今回は、全科目が「優」か「秀」の人だけをフィルターを使って抽出してみます。
まずはフィルターを画面に表示させてみましょう。
表のどこかを選択した状態で、エクセルの画面上部の「データ」タブから、「フィルター」のボタンをクリックします。
[Ctrl] + [Shift] + [L]キーでもフィルターの設定ができます。ショートカットキーを覚える余力があるなら、ぜひ覚えておきましょう。
列ごとに▽マークのボタンが表示されているので、クリックしてみましょう。
その列に存在する文字列が一覧表示されるので、抽出したい文字列にだけチェックを入れて、OKをクリックします。
これを各行で繰り返すだけでで、全科目「優」か「秀」の人を抽出することができました。
数字の場合、指定の数字以上など、柔軟なフィルター抽出もできる
今度は、「優」「秀」などの文字列ではなく、点数が80点以上の人だけを抽出するやり方です。
点数は幅広く分布しているため、フィルターの選択項目も多く、チェックを入れたり外したりするのは面倒です。
こういうときは、「数値フィルター」を使うと便利です。
数値フィルターにカーソルを合わせると、数値を抽出するためのオプションが表示されます。
今回は80点以上のものだけを抽出するので、「指定の値以上」をクリックします。
今回は単純に80点以上のものだけを抽出するだけですので、上の入力欄に「以上」「80」と入力します。
これをすべての列で繰り返せば、全科目が80点以上の人だけを抽出することができます。
ちなみに、もしも「80点以上で、かつ85点は除く」というような条件を付けたい場合は、以下のようにANDにチェックをつけた状態で「と等しくない」「85」と入力することで、80点以上で85点以外のものだけが抽出されます。
また、「80点以上、または60点未満」の点数だけを抽出したい場合は、ORにチェックをつけた状態で「より小さい」「60」と入力すれば、80点以上か60点未満のものだけが抽出できます。
ひとつでも条件を満たす列があるデータを表示するには?
フィルターでは、列ごとに条件を設定し、すべての条件を満たす行だけを表示させる機能です。
なので、例えば、「一科目でも「優」の評価がある場合」とか、「一科目でも90点以上がある場合」に行を表示させる、ということはできません。
複数列のうち一つでも条件を満たす行を抽出する方法については、以下のページで解説します。
(あとで書きます)
まとめ
フィルターの使い方を覚えておくと、膨大なデータの中から任意のデータを簡単に抜き出すことができます。
処理すべきデータが膨大なエクセルファイルを操作するとき、フィルターを使えるかどうかで作業効率はかなり変わります。
少しでも早く帰るために、フィルター操作は絶対に覚えておきましょう。