📊つかえる関数.com

VBAのDictionary代わりにUNIQUE関数で一意リストを作る方法は?

結論

UNIQUE関数でVBAのDictionary相当の重複削除が1行で実現

マクロ・自動化中級·

詳しい解説

VBAでCreateObject("Scripting.Dictionary")を使って重複削除していた処理は、Excel 2021/365のUNIQUE関数で置き換えられます。`=UNIQUE(範囲)`だけで重複を除いた一意リストが得られ、元データの追加や変更に自動追従します。`=UNIQUE(FILTER(...))`のように他の動的配列関数と組み合わせれば、条件付き一意リストも簡単に作成できます。VBAのようにループ処理やDictionaryオブジェクトの管理が不要で、メモリ効率も良好です。

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

バージョン対応

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

実務での使用例

顧客リストから重複を削除

顧客リストから重複を削除

=UNIQUE(A2:A100)

東京都の顧客のみ一意抽出

東京都の顧客のみ一意抽出

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