【新関数】指定した会社の売上明細をFILTER関数で抽出する
A〜B列に売上明細が入力されています。このときに、関数を使って、E1セルに入力した会社「A社」の明細を抽出して、金額をE4セル以下に表示させたいと思います。
少し前までは、このような処理は、フィルターを使うか、複雑な数式を組む必要がありました。
でも、今は、Microsoft365で新しく導入された「FILTER関数」を使うことで、比較的簡単に明細を抽出することができます。
FILTER関数を使って条件に合う複数の明細を抽出する
さきほどの図では、E4セルに次の数式が入力されています。
ポイントは、「数式をコピー・貼り付けしていない」というところです。数式をE4セルに入れただけで、E4セル〜E6セルに値が表示されています。
このように、数式を入力したセルだけでなく、その下や右のセルにも値が自動的に入力されることを「スピル」と呼びます。
「スピル」は、英語で「spill」と書きます。日本語に訳すと「こぼれる」「あふれ出る」というような意味があります。数式を入れると、その他のセルに値が「あふれる」イメージから名づけられたのだろうと思います。
数式の意味
この数式は次のような意味があります。
引数 | 内容 | 意味 |
---|---|---|
1つめの引数 | B4:B12 | 表示する(候補となる)元データを指定します。 |
2つめの引数 | A4:A12=E1 | 表示するデータの条件を指定します。 |
1つ目の引数で指定した元データのうち、2つ目の引数で指定した条件を満たすデータだけが表示されます。
2つめの引数で指定している条件
少しややこしいのが、2つめの引数です。
2つめの引数は、いわゆる「配列数式」の形の数式です。
配列数式というのは、「1つの数式」で「複数の数式」を同時に入力するような数式の入力方法です。
たとえば、今回、入力されている「A4:A12=E1」というのは、イメージ的には、次のように、9つの数式を同時に入力しているイメージです。
数式のイメージ | 判定結果 | |
---|---|---|
A4=E1 | → | FALSE |
A5=E1 | → | FALSE |
A6=E1 | → | FALSE |
A7=E1 | → | FALSE |
A8=E1 | → | TRUE |
A9=E1 | → | FALSE |
A10=E1 | → | TRUE |
A11=E1 | → | TRUE |
A12=E1 | → | FALSE |
要は、「A4:A12=E1」という数式の「=」の左側を「A4」「A5」・・・「A12」に分解して、「A4=E1」「A5=E1」・・・「A12=E1」という9つの数式を同時に入力している、と考えてください。
そして、1つ目の引数で指定したセル範囲と、比較して、条件を満たしている行だけを表示します。
1つめの引数で指定したセル範囲 | 2つめの引数の判定結果 | 表示するかどうか |
---|---|---|
27,374 | FALSE | 表示しない |
69,909 | FALSE | 表示しない |
98,158 | FALSE | 表示しない |
40,632 | FALSE | 表示しない |
22,658 | TRUE | 表示する |
35,735 | FALSE | 表示しない |
66,469 | TRUE | 表示する |
70,542 | TRUE | 表示する |
92,651 | FALSE | 表示しない |
このようにして、条件を満たす3つのデータ「22,658」「66,469」「70,542」が表示されます。