Excel 関数レシピ#
セル内の文字列検索#
正規表現カスタム関数#
Excelには正規表現を直接サポートする関数はありませんが、VBA(Visual Basic for Applications)を使用して自分でカスタム関数を作成し、正規表現を使用することができます。 以下は、正規表現を使用するカスタム関数の例です。
- Excelを開いて、「開発」タブを表示します。タブが表示されていない場合は、Excelオプションから「メイン タブに開発ツールを表示する」オプションを有効にしてください。
- 「開発」タブから「Visual Basic」をクリックしてVBAエディタを開きます。
- VBAエディタで、新しいモジュールを挿入します。これを行うには、「挿入」メニューから「モジュール」を選択します。
- 新しいモジュール内に、以下のVBAコードを貼り付けます
Function RegExMatch(inputString As String, pattern As String) As String
Dim regex As Object
Dim matches As Object
Dim match As Object
Dim result As String
Set regex = CreateObject("VBScript.RegExp")
With regex
.Global = True
.MultiLine = False
.IgnoreCase = True ' 大文字と小文字を区別しない場合はFalseに変更
.pattern = pattern
End With
Set matches = regex.Execute(inputString)
If matches.Count > 0 Then
Set match = matches(0)
result = match.Value
Else
result = "None"
End If
RegExMatch = result
End Function
カスタム関数を保存し、VBAエディタを閉じます。 これで、作成したカスタム関数をExcelのセルで使用することができます。たとえば、A1セルにテキストがある場合、以下のようにカスタム関数を使用して正規表現を実行できます:
この例では、A1セルのテキストから最初に見つかる数字の連続した部分を抽出します。正規表現パターンを必要に応じて調整してください。