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 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 非対応 | 非対応 | 非対応 | 非対応 | 対応 |