【新関数】指定した会社の売上明細をFILTER関数で抽出する

A〜B列に売上明細が入力されています。このときに、関数を使って、E1セルに入力した会社「A社」の明細を抽出して、金額をE4セル以下に表示させたいと思います。

少し前までは、このような処理は、フィルターを使うか、複雑な数式を組む必要がありました。

でも、今は、Microsoft365で新しく導入された「FILTER関数」を使うことで、比較的簡単に明細を抽出することができます。

FILTER関数を使って条件に合う複数の明細を抽出する

さきほどの図では、E4セルに次の数式が入力されています。

=FILTER(B4:B12,A4:A12=E1)

ポイントは、「数式をコピー・貼り付けしていない」というところです。数式を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」が表示されます。

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。