はじめに 皆さんは「Excelのワークシートで正規表現が使えたら良いのに・・・」と思ったことはないでしょうか? ご存知の通り、正規表現を使うと、ワイルドカードなどとは比較にならない柔軟さで、条件に一致する文字列を指定することができるようになります。 この記事では、文字列抽出の条件に正規表現を使用できるユーザ定義関数を作成する方法を紹介します。 設計方針 Excelには、正規表現の関数が無いので、VBAとVBScriptのRegExp関数を組み合わせることで、ユーザ定義関数を作成します。 作成する関数は、ワークシート関数として使いやすいように、以下のような動作で作成しました。 戻り値は1つだけ。 (複数マッチは無視して、最初にマッチした文字列だけを取り扱う。) オプションでサブマッチに対応する。 サブマッチを使用する場合は、正規表現でグループ化をした上で、第三引数にサブマッチのindexを指