Office365に新しく追加されたFILTER関数は「スピル配列」の特性を持っています
- これまでの「フィルター機能」との違い
- FILTER関数は「1つのセル」に入力するだけで良い
- ※ 「表」をテーブル化しておくことで、DATAが増えても「範囲」が広がります。
- ※ "K4"のセルに「リスト入力」を設定しておけば、簡単に切り替えることができます
- 抽出するフィールド(項目)を指定する
- FILTER関数は、スピル配列の特性を持つ使い勝手の良い関数です。
これまでの「フィルター機能」との違い
FILTER関数でできることは、これまでのフィルター機能とほとんど同じですが、「関数」であるため、他の関数と組み合わせることでフィルター機能では不可能な複雑なことができます。
そして、最大の特徴は「関数」なので元のデータが更新(変更)された場合、自動的に更新されて表示されます。
フィルター機能で情報を絞り込む
フィルター機能を使えば簡単に情報を絞り込むことができます。
しかし、この機能は「元のデータの形を変えて表示する」ことになるため、その都度操作をする必要があります。
FILTER関数で情報を絞り込む
関数(数式)を使って、別の場所や別のシートに書き出すことができます。
あらかじめ抽出したい条件を設定した「シート」を用意しておけば、元データを入力するだけで自動的にそれぞれのシートに抽出された集計表が作成されます。
FILTER関数は「1つのセル」に入力するだけで良い
FILTER関数は1つのセルに入力するだけで、「結果が複数ある」場合は「溢れる(スピル)ようにゴースト」が表示されます。
商品名が「ミネラルウォーター」のデータ(行)を抽出
FILTER関数の使い方
FILTER関数はスピル配列の特性を持っているので、範囲の設定に「A1:G14」のような「動的配列」を使うことができます。
抽出結果を表示したい範囲の「左上」に数式を入力する
FILTER関数は抽出結果を表示したい範囲の「左上」のセルに数式を入力すれば抽出結果が「溢れる(スピル)」ように表示されます。
抽出された「DATA」は数式が入力されているセルを左上にしてゴーストとして下に「溢れる(スピル)」ように表示されます、
ゴーストが表示されるエリアに「DATAが入力されたセル」があるとエラーになることです。
FILTER関数の「範囲」と「条件」を入力
条件の引数は、文字列を「 "" 」でくくって指定することができますが、「セル番地」にすることにより、数式を変更せずに抽出条件を変更することができます。
- 範囲をテーブル化した「表全体」にします。
- 条件を「商品名の列が"K4"のセルに入力された文字列に等しい」にします
数式 =FILTER(B4:I30,G4:G30=K4)
※ 「表」をテーブル化しておくことで、DATAが増えても「範囲」が広がります。
表を「テーブル化」して作業効率を上げる - Excelの機能を活用して、事務作業の省力化や経営分析をする
※ "K4"のセルに「リスト入力」を設定しておけば、簡単に切り替えることができます
リスト入力で"K4"のセルのデータを変えるだけで、即座に抽出内容が変わります。
UNIQUE関数を使って、リスト入力の「元の値」を自動更新する - Excelの機能を活用して、事務作業の省力化や経営分析をする
抽出するフィールド(項目)を指定する
FILTER関数の引数「範囲」を表全体にすると、抽出される結果も「全ての項目(フィールド)」になります。
抽出する項目を指定したい場合には「配列リテラル」を使います。
※ 項目が離れずに並んでいる場合は「その範囲だけを選択」してもよい
「顧客名」「商品名」「金額」の3列だけを抽出する
引数「条件」は、真偽値(TRUE・FALSE)を指定するものなので、配列数式で「1をTRUE、0をFALSEで代用」します。
FILTER関数の条件「商品名="ミネラルウォーター"」で絞り込んだデータを、さらにFILTER関数でネスト(入れ子)構造にして、条件を配列リテラルで「 {0,0,1,0,0,1,0,1} 」にすることで「3列目・6列目・8列目」だけを抽出します。
FILTER関数は、スピル配列の特性を持つ使い勝手の良い関数です。
これまでの「フィルター機能」のように、「元データの形を変えて表示する」のではなく、関数であるため、「元データから抽出して別の場所に表示させる」ことができます。
この特徴を生かせば、売り上げデータを「月別や年別」に別けることなく「一連のデータ」として管理(入力)しておいて、あらかじめ用意しておいた「月別」、「年別」、「業者別」のシートに自動的に表示させることができます。
毎月々集計表を作成しなくても、「元データ」を追加していくだけで自動的に「集計表」が出来上がる仕組みを作ることができます。
次回は、関数ならではの複雑な抽出「条件」の作成方法を紹介していきます。
- これまでの「フィルター機能」との違い
- FILTER関数は「1つのセル」に入力するだけで良い
- ※ 「表」をテーブル化しておくことで、DATAが増えても「範囲」が広がります。
- ※ "K4"のセルに「リスト入力」を設定しておけば、簡単に切り替えることができます
- 抽出するフィールド(項目)を指定する
- FILTER関数は、スピル配列の特性を持つ使い勝手の良い関数です。