📊つかえる関数.com

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

結論

FILTER関数で条件指定するとVBAのAutoFilterと同等の抽出が可能

マクロ・自動化中級·

詳しい解説

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

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

バージョン対応

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

実務での使用例

売上1000以上の行を抽出

売上1000以上の行を抽出

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

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

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

=FILTER(A2:D100, (B2:B100="営業")*(C2:C100>=1000))