【VBA】Filter関数でデータ分析を効率化:特定の条件に合致するデータを抽出する方法

【VBA】Filter関数でデータ分析を効率化:特定の条件に合致するデータを抽出する方法

データ分析において、大量のデータから必要な情報を効率的に抽出することは非常に重要です。Excel VBAのFilter関数を使用することで、特定の条件に合致するデータを簡単に抽出できます。この記事では、Filter関数の基本的な使い方から、データ分析における具体的な応用例までを解説します。

Filter関数の基本

Filter関数は、指定した配列から、指定した文字列を含む要素を抽出して、新しい配列として返します。

構文

Filter(sourcearray, match, [include], [compare])

  • sourcearray:検索対象となる文字列配列
  • match:検索する文字列
  • include:省略可能。Trueの場合、matchを含む要素を返し、Falseの場合、matchを含まない要素を返します。デフォルトはTrue
  • compare:省略可能。比較モードを指定します。vbBinaryCompare(バイナリ比較)、vbTextCompare(テキスト比較)などがあります。

Filter関数の戻り値

Filter関数は、条件に合致する要素を含む文字列配列を返します。条件に合致する要素がない場合は、空の配列を返します。

データ分析におけるFilter関数の活用例

ここでは、データ分析におけるFilter関数の具体的な活用例をいくつか紹介します。

例1:特定の製品カテゴリのデータを抽出する

製品名が格納された配列から、特定のカテゴリ(例:電子機器)に属する製品を抽出する例です。

Sub FilterByCategory()
Dim products As Variant
Dim filteredProducts As Variant
Dim i As Long

' 製品名の配列(例)
products = Array(