📊つかえる関数.com

VBAのAutoFilter代わりにFILTER関数で条件抽出する方法は?

マクロ・自動化中級·更新: 2025-01-15
VBAでRange.AutoFilterメソッドを使っていた条件抽出は、Excel 2021/365のFILTER関数で置き換えられます。`=FILTER(データ範囲, 条件列=条件値, "該当なし")`のように記述すると、マクロなしで動的に絞り込み結果が更新されます。複数条件の場合は`(条件1)*(条件2)`で論理積、`(条件1)+(条件2)`で論理和を表現できます。VBAと違いスピル機能で自動的に結果範囲が拡張されるため、コピペや削除の手間がありません。

📊 バージョン対応

2016
非対応
2019
非対応
2021
対応
365
対応

📋 実務での使用例

💼 売上1000以上の行を抽出

売上1000以上の行を抽出

=FILTER(A2:D100, C2:C100>=1000, "該当なし")

💼 部署が"営業"かつ売上1000以上

部署が"営業"かつ売上1000以上

=FILTER(A2:D100, (B2:B100="営業")*(C2:C100>=1000))
VBA代替FILTER条件抽出マクロなし
📄

動的配列関数 移行マップ

旧関数 → 新関数の書き換え一覧(2021/365対応)

準備中※ PDFは現在作成中です。近日公開予定