FILTER関数によって生成されたスピル結果から特定の列を選択し、その列のデータを集計する方法

FILTER関数によって生成されたスピル結果から特定の列を選択し、その列のデータを集計する方法

ExcelのFILTER関数は、特定の条件に基づいてデータを抽出する強力なツールです。この記事では、FILTER関数で生成されたスピル結果からINDEX関数を用いて特定の列を選択し、さらにその列のデータを集計する方法について解説します。

スピル結果から生成された列(スピル範囲の一部)をSUM、MAX、MIN、AVERAGE、といった関数で集計することができるようになります。

FILTER関数の基本

FILTER関数は、指定された範囲から条件に合致するデータのみを抽出する関数です。これにより、大量のデータから必要な情報だけを素早く取り出すことが可能になります。FILTER関数は、以下の引数を使用しています。詳しくはリンク先を確認してください。

=FILTER(配列, 含む, 空の場合)
  • 配列」はフィルタリング対象となるデータ範囲です。
  • 含む」は論理式フィルタリング条件を指定します。条件に合致する場合はTRUE、そうでない場合はFALSEを返します。
  • 空の場合」は、条件に合致するデータがない場合に表示する値を指定します。ここでは説明を省略します。

例えば下記の式はA2:E28のリストからE列が「無」であるレコードを抽出する式です。

=FILTER(A2:E28,E2:E28="無")

以下は練習用の表です。

書籍番号 書名 発刊日 金額 在庫
1001 ケーススタディ民法 2016/10/28 1400
1002 交通六法 2016/02/27 2700
1003 法人税法の基礎 2015/12/27 2700
1004 会社法 2014/10/27 2800
1005 民法総則 2015/03/27 2700
1006 判例六法 2016/01/27 2400
1007 基礎法入門 2014/09/27 2500
1008 やさしい経済法 2015/08/27 2500
1009 刑法各論 2016/07/28 2100
1010 現近代民法 2014/10/27 1400
1011 会社法概論 2014/04/27 2000
1012 商法総則 2014/04/27 1900
1013 憲法 2016/09/28 2500
1014 商行為法 2015/11/27 1600
1015 倒産法入門 2014/01/27 2300
1016 破産法 2015/02/27 1200
1017 法社会学 2016/10/28 1500
1018 民事訴訟法学 2016/08/28 2800
1019 法学入門 2015/09/27 2500
1020 労働法の要点 2015/05/27 2400
1021 はやわかり刑法 2016/05/28 3000
1022 講義式憲法 2016/10/28 3000
1023 刑法講義 2016/05/28 2600
1024 会社法 2016/09/27 1300
1025 民法事例集 2015/06/27 1200
1026 六法全書 2014/03/27 2300
1027 労働法実務辞典 2014/09/27 2700

スピル結果から特定の列を選択する方法

FILTER関数によるスピル結果から特定の列を取得するには、INDEX関数を使用します。INDEX関数は、指定された範囲内の特定の位置にあるデータを返す関数です。これをFILTER関数の結果に適用することで、求める列のデータを抽出することができます。

INDEX関数の使用例

=INDEX(FILTER関数(~~),,列番号)

この式では、FILTER関数で抽出したデータの中から特定の列番号のデータのみを取得します。列番号は第三引数で指定します。

上記で例に挙げたFILTER関数の式をINDEX関数で囲み第三引数へ「4」と入力すれば金額の列のみが作成されます。

=INDEX(FILTER(A2:E28,E2:E28="無"),,4)

集計関数を用いたデータの集計

抽出した列のデータを集計するには、SUM関数AVERAGE関数MAX関数MIN関数COUNTA関数などの集計関数を使用します。INDEX関数で取得した列をこれらの関数の引数として渡すことで、求める集計結果を得ることができます。

集計の使用例

これまでに作成した式をSUM関数で囲みます。

=SUM(INDEX(FILTER関数(~~)~~))

すなわち以下のような形式になりますね。

=SUM(INDEX(FILTER(範囲, 条件),,列番号))

この式は、FILTER関数で抽出したデータの中から特定の列をINDEX関数で取得し、その列の合計を計算します。

上の例をSUM関数で囲えば下記の式になります。FILTER関数で抽出したレコードから4列目の値を用いて合計させる式です。

=SUM(INDEX(FILTER(A2:E28,E2:E28="無"),,4))

まとめ

FILTER関数とINDEX関数、そして集計関数を組み合わせることで、複雑なデータから必要な情報を抽出し、効率的に集計することが可能になります。このテクニックは、大量のデータを扱う際に特に役立ちます。

 

コメント

PAGE TOP
タイトルとURLをコピーしました