📊つかえる関数.com

FILTER、SORT、UNIQUE等の動的配列関数はどのバージョンで使える?

結論

動的配列関数はExcel 2021/2024およびMicrosoft 365で使用可能です。

関数中級·

詳しい解説

FILTER、SORT、SORTBY、UNIQUE、SEQUENCE、RANDARRAY の6つの動的配列関数はExcel 2021/2024およびMicrosoft 365で使用可能です。これらの関数は「スピル」機能を使い、1つの数式から複数のセルに結果を展開します。Excel 2019以前ではスピル機能自体が非対応のため使用できません。

旧バージョンでの代替方法

SUMPRODUCT+IF 配列数式(全バージョン対応)Excel 2016以降

FILTERの代替として、SUMPRODUCT関数とIF関数を組み合わせることで条件集計ができます。ただし抽出(行ごとの取り出し)ではなく集計(合計・件数など)の代替です。

=SUMPRODUCT((B2:B100="東京")*C2:C100)

ヘルパー列を使ったフィルタリング(全バージョン対応)Excel 2016以降

D列などにIF関数で条件フラグを立て、オートフィルターまたはSORT機能で手動絞り込みする方法です。動的ではありませんがExcel 2016でも機能します。

=IF(B2="東京", "対象", "")

よくあるエラーと対処法

#SPILL!(スピル先にデータがある)

原因: FILTER/SORT/UNIQUEなどの動的配列関数が結果を展開しようとするセル範囲に、すでにデータが入っています。

対処: スピル先の範囲(数式セルの下や右のセル)を空にしてください。結果の展開範囲は自動計算されるため、事前に十分な空白領域を確保します。

#CALC!(空の配列)

原因: FILTER関数の条件に一致するデータが1件もない場合に発生します。

対処: FILTER関数の第3引数(見つからない場合の値)を指定してください。例:=FILTER(A2:D100, B2:B100="東京", "該当なし")

#NAME?(数式バーに _xlfn.FILTER 等と表示)

原因: Excel 2019以前のバージョンで動的配列関数を含むファイルを開いている。

対処: Excel 2021/2024/365で開き直すか、SUMPRODUCT+IF等の代替式に書き換えてください。

執筆・検証:田中 けんた|Excel歴15年・MOS資格保持

バージョン対応

バージョン対応状況
Excel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
非対応非対応対応対応対応

実務での使用例

売上データから東京だけ抽出

オートフィルターを使わず数式だけで条件抽出。元データを壊さない

=FILTER(A2:D100, B2:B100="東京")

売上順にソートした一覧を別シートに表示

D列(売上)の降順で並べ替え。元データの並び順はそのまま

=SORT(A2:D100, 4, -1)

重複なしの取引先リストを自動生成

プルダウン用のマスタ候補を一発で取り出せる

=UNIQUE(A2:A100)