Excelを利用していて、表から、指定した条件を満たす値のみ抽出して表示したいという場面は結構ありますよね。その都度抽出するだけならフィルターを利用すれば良いのですが、リアルタイムで抽出出来れば、より便利に活用出来ます。
以前ですと配列数式を利用するという手もありましたが、式を確定するのにCtrl+Shft+Enterキーを押す必要があり、ちょっと使いにくいものでした。もしOffice2021やOffice365を利用しているなら、動的配列数式を利用すれば圧倒的に手軽にこの作業が行えます。
配列数式のメリットは、結果を表示する個々のセル全てに数式を入れなくても良い点です。たとえば次のような、日々の売れた項目を追加していく表があったとします。ここから特別な商品が売れた日だけを抽出したいとします。ここではF1セルに入力した商品を右側に表示したいという例です。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-001-1024x513.jpg)
ここではFILTER関数を使用します。
=FILTER(配列,含む,[空の場合])
I2セルに次のように入力します。
=FILTER(B:D,C:C=F1)
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-002-1024x513.jpg)
すると自動的に条件を満たすものが抽出されます。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-003-1024x513.jpg)
F1を「りんご」と入力すれば、瞬時に「りんご」に関する日だけが抽出されます。ちなみに、これは「スピル配列」と呼ばれます。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-004-1024x513.jpg)
元の表に項目を追加した場合でも、瞬時に抽出した表へ追加されます。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-005-1024x513.jpg)
たとえば合計数を出す式などを入れておけば、簡単に売れた個数を調べる事も出来ますね。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-006-1024x513.jpg)
ポイントは、「数式が入っているのはあくまでも1つのセルだけ」、という点です。この例ですとI2セルのみ。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-007-1024x513.jpg)
そのほかのセルには数式自体は入っていないため、グレーで表示されます。
なので、途中に行を追加したり削除したりしても、数式をコピーしたりする必要はありません。マクロ等も必要なく、かなり便利に使えると思います。
![](https://tasu-karu.net/wp-content/uploads/2024/02/excelspill-008-1024x513.jpg)