VBA関数
Filter関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2022-11-16

Filter関数


Filter関数は、指定されたフィルタ条件に基づいた文字列配列のサブセット(一部分)を含むゼロベース(0開始)の配列を返します。


Filter関数

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

sourcearray
必ず指定します。
検索先の 1次元配列の文字列を指定します。
したがって、配列のデータ型はStringまたはVariant。

match
必ず指定します。
検索する文字列を指定します。

include
省略可能です。
sourcearrayに指定した配列の各要素の文字列の中に、引数 include が含まれるかどうかを表すブール値を指定します。

includeが真 (True) の場合、Filter関数は、配列の各要素の文字列の中で、引数matchが含まれる配列のサブセットを返します。
includeが偽 (False) の場合、Filter関数は、配列の各要素の文字列の中で、引数matchが含まれない配列のサブセットを返します。

compare
省略可能です。
文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
設定する値については、以下の設定値を参照してください。

定数 説明
vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードで比較を行います。
vbTextCompare 1 テキスト モードで比較を行います。

※バイナリ モードでは、全角半角、大文字小文字が区別されます。
※テキストモードでは、全角半角、大文字小文字が区別されません。

sourcearray 内で引数 match に一致する文字列がなかった場合は、Filter 関数は空の配列を返します。
引数 sourcearray が Null値であるか、1次元配列でない場合は、エラーになります。

Filter 関数が返す配列は、一致した項目数分だけの要素が含まれています。

※Filter関数の検索は部分一致になります。
※配列のデータ型がVariantで、データとして数値(Variant/IntegerやVariant/Long)が入っていても文字列として扱われます。
※Filter関数は「Option Base 1」の影響を受けず、常に0起点(LBound=0)の配列を返します。

Filter関数の使用例

Dim MyArray
MyArray = Array("東京都", "神奈川県", "千葉県", "茨城県", "大阪府")
MsgBox Join(Filter(MyArray, "県"), ",") ・・・ "神奈川県,千葉県,茨城県"


Office VBA リファレンス Filter関数
※VBA関数一覧

マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

Array関数
LBound関数
UBound関数
Filter関数
Join関数
Split関数
CurDir関数
Dir関数
EOF関数
FileAttr関数
FileDateTime関数


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ