Excel

Excel ~動的配列数式 FILTER関数~

投稿日:

Stay Homeであまり外出できず、御朱印ライドもお休み中です。 Stay Homeの間に、仕事でも使うExcelの関数についてまとめていこうと思います。
今回はOffice365でサポートされた比較的新しい機能である、動的配列数式を紹介します。
動的配列数式が何かは後程説明しますので、まずはFILTER関数の動きから見てみましょう。


Filter関数:条件に一致した行を抽出する関数です


例えば下のような表があったときに、商品名の条件に一致した行を抽出してくれます。

F3セルで”みかん”を選択すると、I4列の商品名が”みかん”でフィルターされて出力されます。

F3セルで”りんご”を選択すると、I4列の商品名が”りんご”でフィルターされて出力されます。

ある程度入力の規則が決まっている表に対してフィルターして見たい時に便利です。

この関数、実はH3セルだけにしか設定しておらず、以下のように記述しています。


=FILTER(範囲,フィルターしたい範囲=一致させる文字列,空の場合)


となります。今までの関数では関数を記載したセルにしか結果が出力されませんでしたが、FILTER関数では複数のセルに出力が表示されます。
この動作はスピルと呼ばれ、このような配列を返す数式を動的配列数式と呼びます。
ちなみに、動的に出力される場所にあらかじめ文字列が入っていると、【#SPILL!】と表示され、スピルの範囲が空白ではありませんと、エラーとなってしまいます。

今は「おじゃまむし」と入れているのでわかりやすいですが、実際にはスペースが入っているだけでエラーとなるので注意が必要です。
下の例では、I5セルにスペースを入れてみました。

一つの関数だけで複数のセルに値を返す新しい仕様が加わりました。
これからExcelの関数についての考え方ががらっと変わっていきそうです。
これら動的配列数式はほかにも、[SORT関数][SORTBY][UNIQUE関数][XLOOKUP関数]などもあるので、順次ご紹介していきます。

-Excel

Copyright© ゆるちゃり , 2024 All Rights Reserved Powered by STINGER.