Filter関数 解説(Excel VBA)

Excel VBA: Filter関数の解説と使用例

Filter関数は、指定した値を含む配列の要素を返すExcel VBAの組み込み関数です。この関数は配列から特定の要素を取り出したいときや、特定の条件に基づいて配列をフィルタリングしたいときに役立ちます。

構文

Filter関数の構文は以下の通りです:

    Filter(SourceArray, Match, [Include = True], [Compare = vbBinaryCompare])
  • SourceArray: フィルタリング対象となる配列を指定します。
  • Match: 配列の中から検索する値を指定します。
  • Include: 任意のパラメータで、Matchパラメータの値を含む要素を返すか(True)、除外するか(False)を指定します。デフォルトはTrueです。
  • Compare: 任意のパラメータで、比較の種類を指定します。vbBinaryCompareはバイナリ比較(デフォルト)、vbTextCompareはテキスト比較を表します。

使用例

以下のサンプルコードは、特定の文字列を含む要素を配列から取り出す例です。

    Sub UseFilterFunction()
        Dim animals() As Variant
        Dim filteredAnimals() As Variant

        ' 対象となる配列を作成
        animals = Array("Dog", "Cat", "Elephant", "Horse", "Rabbit")

        ' "a"を含む要素をフィルタリング
        filteredAnimals = Filter(animals, "a")

        ' 結果を表示
        For Each animal In filteredAnimals
            Debug.Print animal
        Next animal
    End Sub

このコードを実行すると、”Dog”, “Cat”, “Elephant”, “Rabbit”といった”a”を含む要素がデバッグウィンドウに出力されます。Filter関数を利用することで、配列の中から特定の条件に合致する要素だけを取り出すことができます。