📊つかえる関数.com

VBAのRegExp代わりにREGEX関数で正規表現を使う方法は?

結論

REGEX系関数でVBAのRegExpオブジェクト相当の処理が数式で可能

マクロ・自動化上級·

詳しい解説

VBAでCreateObject("VBScript.RegExp")を使っていた正規表現処理は、Excel 365のREGEXTEST/REGEXEXTRACT/REGEXREPLACE関数で置き換えられます。`=REGEXTEST(テキスト, "パターン")`でマッチ判定、`=REGEXEXTRACT(テキスト, "パターン")`で抽出、`=REGEXREPLACE(テキスト, "パターン", "置換後")`で置換が可能です。VBAのようにSetやExecuteメソッドを呼ぶ必要がなく、数式だけで正規表現を扱えます。ただし365専用のため、配布先環境に注意が必要です。

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

バージョン対応

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