Microsoft365などのExcelで利用できるREGEXEXTRACT関数は、特定のパターンに一致する文字列を効率的に抽出できる便利な関数です。今回はセル内の文章内から電話番号、メールアドレス、URLを抽出する方法と、その実際の利用例です。
内容:
動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2411)です。
REGEXEXTRACT関数について
REGEXEXTRACT 関数は、指定された正規表現(文字列パターン)に基づいて文字列からテキストを抽出する関数です。
「正規表現」というのは、文字列のパターンを定義するための特殊な文字列です。例えば、電話番号、メールアドレス、URLの抽出において、それぞれ異なるパターンを使用します。
基本構文は次のとおりです。
=REGEXEXTRACT(”抽出対象の文字列”,"抽出の文字列パターン(正規表現)")
電話番号、メールアドレス、URLの抽出方法と実例
以下はREGEXEXTRACT 関数を利用し、A列の文字列からB列に電話番号、C列にメールアドレス、D列にURLを抽出した実例です。
電話番号、メールアドレス、URLの抽出に使用する文字列のパターンは上図で3行目にのとおりです。いずれも”抽出対象の文字列”以外は同じ文字列のパターンを利用しており、具体的には4行目は次の数式です。
電話番号を抽出する数式
=REGEXEXTRACT($A4,"\d{2,4}[-(]\d{1,4}[-)]\d{4}")
メールアドレスを抽出する数式
=REGEXEXTRACT($A4,"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")
URLを抽出する数式
=REGEXEXTRACT($A4,"https?://[^\s/$.?#].[^\s]*")
上図のA列では、電話番号の位置の違い、電話番号のハイフンと括弧が混在しています。この場合も、正規表現で一つの文字列パターンを指定し、抽出ができています。
このような抽出ができるのがREGEXEXTRACT関数です。
文字列パターン(正規表現)の作成方法
文字列のパターンを示す正規表現部分は少し慣れが必要に感じますが、WEB検索等で代表的なものは確認できます。
また、現在はChatGPTやCopilotなどの生成AIに作成してもらうことも可能です。作成された文字列パターンが誤っているケースもありますが、作成されたパターンで適切に抽出されるか確認し、必要に応じて生成AI等で修正すれば容易に文字列パターンを作成することができます。
Excelで正規表現を利用した関数の活用例
以下は、REGEXEXTRACT関数を使った事例です。簡易なパターンは、TEXTBEFORE/TEXTAFTER関数が便利です。
以下は、関連するREGEXREPLACE関数を活用した事例です。
XLOOKUP関数でも利用できます。
以上、Excelで正規表現を使った電話番号、メールアドレス、URLの抽出方法と実例でした。従来だと複雑な数式で抽出していたような文字列の抽出がREGEXEXTRACT関数で簡素化できる可能性があります。