こんにちは、ちちくろです♪
Excelというソフトは・・表計算というだけあって計算するソフトなのですが・・Excelで出来ることはそれだけじゃない、データの検索や集計等の・・データベースのような使い方も得意です♪
私も現役時代に・・Excelを計算で使うよりも・・データの検索や集計で使う方が多かったと思います。
一番よく使ったのは検索機能で・・ ユーザーや同僚からもらった資料のデータを、他のデータと比較することが多かったのでよく使っていました♪
ところで、Excelにはフィルター機能というものがあります・・フィルター機能というのは、表の中から指定したデータを含む行を抽出できる機能です。
フィルター機能を使えば・・先の作業がとても楽に作業できると思うのですが・・私はあまりフィルター機能を使うことがありませんでした・・それはフィルター機能が使い辛いと感じていたので・・。
しかし・・新しいバージョンのExcelではFILTER関数というものが使えるようで・・これなら使い勝手が良さそうなので・・一度使ってみることに・・結果とても使い勝手がよさそう・・。
現役時代にFILTER関数が使えていたら・・そのように思ったのでFILTER関数について書いてみようと思います。
目次
フィルター機能
Excelのフィルター機能とは・・一つの表の中から特定の条件に合致するデータを見つけることが出来る機能で、とても便利なので使っている人は多いかと・・。
しかし、私はフィルター機能を使うことは無く・・データを並び替え必要な行をコピー・・別のブックまたはワークシートに張り付けて使用していました。
なぜそのようなことをしていたのかは・・次項でご説明します。
見落としてしまうフィルターマーク
私はフィルター機能が使い辛いと感じていました・・なぜなら・・フィルターのマークが小さくてわかり辛い から・・。
先ほども書いたように・・ユーザーや同僚から作業に必要な資料をもらって作業量などを見積もるのですが・・もらった資料にフィルターがかけられていると・・データの量が極端に少なく見えてしまいます・・。
そのため・・作業量を少なく見積もってしまい・・大失敗してしまうことが・・。
フィルターがかけられていたら・・項目のところにマークがつくのですが・・このマークが小さくて見落としてしまいがち・・。
なので、ユーザーや同僚からもらった資料がフィルター設定されていたら・・いの一番にフィルター設定を解除して作業をしていました。
FILTER関数
FILTER関数とは・・Excelのフィルター機能を使える関数・・。
FILTER関数が使えるのは・・EXCEL2021から使えるようです♪
もちろんMicrosoft365でも使えます♪
一つの表・・もしくは配列から・・特定のデータを含む行を表示してくれる機能・・。
次項から具体的な使い方を説明しようかと・・。
FILTER関数の使い方
FILTER関数を使うには・・セルのこのような数式を 書き込みます・・”=FILTER(配列,含む,空きの場合)”
それぞれの内容は・・。
- 配列:フィルター処理するセルの範囲または配列
- 含む:抽出する条件
- 空きの場合:条件に合うデータが無い時
配列で表の範囲を指定し・・含むで、抽出するデータとどの列から抽出等の抽出方法を・・空きの場合で抽出できなかった時の処理を指定します。
最後の空きの場合は・・省略することが可能・・その場合は・・抽出できない場合【#CALA!】と表示されます・・【#CALA!】と表示されると・・なんか味気ないので【該当なし】などと表示させたほうが良いような・・。
FILTER関数の数式の具体例は次項に・・。
具体例
図のような商品一覧のシートがあります・・検索シートにFILTER関数で抽出した結果を表示させようかと・・。
商品一覧のシートから検索シートのA7に冷蔵庫のみを抽出するその場合・・。
関数リボンの関数の挿入を使って説明を・・。
出来た関数は “=FILTER(商品一覧!A2:E46,商品一覧!B2:B46=”冷蔵庫”,”該当なし”)”というもの・・その意味は・・。
- 商品一覧!A2:E46,・・フィルター処理するセルの範囲
- 商品一覧!B2:B46=”冷蔵庫”・・商品一覧シートのB2~B46行から”冷蔵庫”を抽出
- 該当なし”・・冷蔵庫が無かったら【該当なし】と表示する
この時注意することは・・【配列の行】と【含む】の行を合わせること・・配列のセル範囲がA2:E46ならば・・2行目から46行目ということに・・なので・・【含む】で検索する列の行は2行目から46行目を指定する必要が・・。
これを合わせていないと・・エラーになってしまいます・・ご注意を♪
A7のセルにFILTER関数を書き込むと・・
A7セルを起点に・・種類に冷蔵庫と書き込まれたデータが表示されます・・ここで・・アレと思うかも・・。
関数が書き込まれていないセルにも・・結果が表示されています・・通常関数の結果は・・関数が書き込まれたセルに表示されるものなのですが・・。
これは、Excel2021に新しくスピルという機能が追加されたから・・。
スピル機能が実装されたから・・FILTER関数が使えるように・・FILTER関数以外にも・・スピルを使った関数がいくつか用意されているようです。
セル参照を使う
データを抽出するたびに数式を書き込むのは非効率・・なのでセル参照を使ってもっと便利にFILTER関数を使うことに・・。
データを抽出する度にセルに関数を書き込むのは・・面倒ですよね♪
関数を使う場合・・都度セルに関数を書き込むのではなく・・セル参照を使うのが良いかと・・。
当然・・FILTER関数の同様にセル参照を使うことが出来ます。
C2セルを参照し商品を変更
セル参照を使うには・・数式の【商品一覧!B2:B46=”冷蔵庫”】の部分を・・【商品一覧!B2:B46=C2】に変更します・・すると・・。
C2に【テレビ】と書き込むと・・【種類】に【テレビ】と書かれた行が抽出されます・・。
もう一度C2のセルに【クリーナー】と書き込むと・・同様お結果に・・。
C2のセルに抽出したい商品を書き込むと・・その商品のデータが表示されます・・これで少しは使い勝手が良くなったかと・・。
INDIRECT関数と組み合わせる
ただ・・このままだと抽出する項目は種類のみに・・。
メーカーや規格などでも抽出したい・・その場合はINDIRECT関数を使うことに・・。
INDIRECT関数を使うには・・セル範囲に名前を付けることに・・。
セル範囲に名前を付けるには・・商品一覧のA2~A46を選択し・・名前ボックスに【商品番号】と記入・・。
同様に・・【種類】・【メーカー】・【規格】・【価格】を作成・・。
ここでも・・配列の行数と合わせることを忘れずに・・♪
そして・・数式の含む部分を【”INDIRECT(B2)=C2”】に変更・・この数式の内容は・・。
検索する列はB2セルを参照し・・検索する値はC2セルを参照するということ・・。
動作を確認・・B2セルに種類を・・C2セルにテレビと記入すれば・・。
【種類】に【テレビ】と書かれたデータが抽出されます・・。
B2セルに【メーカー】を・・C2セルに【A社】と記入すれば・・ 【メーカー】に【A社】と書かれたデータが抽出されるように・・。
更に・・B2セルを入力規則でリストにすれば・・もっと使いやすくなるかも・・。
まとめ
FILTER関数を使えば元の表を崩さずに抽出できる・・またセル参照を使えばもっと使いやすくなる・・。
更にINDIRECT関数を使うと・・検索項目を変更することも可能になる・・。
ただ・・複数の抽出条件を設定出来たら・・もっと便利に使えるかも・・
そこで・・次回は複数の抽出条件を設定する方法をご紹介したいと思います。