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 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 非対応 | 非対応 | 対応 | 対応 | 対応 |
実務での使用例
売上データから東京だけ抽出
オートフィルターを使わず数式だけで条件抽出。元データを壊さない
=FILTER(A2:D100, B2:B100="東京")売上順にソートした一覧を別シートに表示
D列(売上)の降順で並べ替え。元データの並び順はそのまま
=SORT(A2:D100, 4, -1)重複なしの取引先リストを自動生成
プルダウン用のマスタ候補を一発で取り出せる
=UNIQUE(A2:A100)