Excel でテキスト文字列から連絡先情報(電話番号、メールアドレス)を抽出
著者Xiaoyang•変更日
Excel で連絡先データを扱う際、氏名や住所などの詳細に加え、電話番号とメールアドレスが同じセルに混在していることがよくあります。これは、メールや Web サイトからデータをコピーしたり、外部ソースからインポートしたりした際に特に起こりやすい現象です。
Excel で電話番号とメールアドレスを抽出する必要がある場合、手動での作業は時間もかかりミスも起こりやすくなります。特に大規模なデータセットやフォーマットが一貫していないデータを扱う際には、その傾向がさらに顕著です。このステップバイステップガイドでは、Excel の1 つのセルから電話番号とメールアドレスを素早く抽出する方法をご紹介します。これらの手法を使えば、データをより効率的にクリーンアップし、整理・構造化することが可能になります。

Excel で連絡先情報(電話番号、メールアドレス)を抽出
このセクションでは、それを実現するための3 つの実用的な方法をご紹介します。Excel 365 で数式を使う方法、すべてのExcel バージョンで動作するユーザー定義関数(UDF)を使う方法、そしてより高速で柔軟なソリューションとして KUTOOLS AI を活用する方法です。
数式による連絡先情報(電話番号、メールアドレス)の抽出(Excel 365)
Excel 365 は動的配列関数をサポートしており、テキストからパターンを抽出するのが格段に簡単になります。お使いのExcel バージョンで TEXTJOIN や REGEXEXTRACT などの関数が利用可能な場合は、数式を使って電話番号やメールアドレスを直接抽出できます。
電話番号の抽出
次の数式を使えば、電話番号を別の列に取り出して、ソースデータが変更されるたびに結果を自動的に更新できます。
- 抽出した電話番号を表示したい空白セルを選択し、次の数式をコピー&ペーストします:
=TEXTJOIN(", ",TRUE,REGEXEXTRACT(A2,"\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}",1)) - Enterキーを押してください。必要に応じてフィルハンドルを下にドラッグして、他のセルにも数式を適用できます。複数の電話番号が見つかった場合は、カンマ区切りで1 つのセルに返されます。スクリーンショットを参照してください:

数式の仕組み
- REGEXEXTRACT(A2,「\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}」,1):
- \(?\d{3}\)?:3 桁の数字に一致します。この数字は括弧で囲まれている場合もあれば(例:(555))、囲まれていない場合もあります(例:555)。
- [-\s]?:ハイフン「-」やスペースなどのオプションの区切り文字にマッチします。
- \d{3}:次の3 桁の数字に一致します。
- \d{4}:末尾の4 桁の数字に一致します。
- 1:この引数を使うと、Excel はセル内で見つかったすべての一致結果を返します(最初の1 件だけではありません)。
- TEXTJOIN(", ",TRUE,...)
セルに複数の電話番号が含まれている場合、TEXTJOIN 関数で抽出されたすべての結果が、カンマ区切りで1 つのセルにまとめて結合されます。
メリット:
- ソースが変更されると自動的に更新される動的な結果
- 標準的な電話番号形式に便利
- 1 つのセルから複数の電話番号を抽出可能
制限事項:
- Excel 365 で最も効果的に動作
- 主に標準的な米国スタイルの電話番号に適しています
- 国際的な形式にはうまく対応できない場合があります
電子メールアドレスを抽出する
Excel 365 をご利用なら、数式はメールアドレスのパターンを素早く動的に特定し、自動で抽出するのに最適な手段です。
- 抽出した電子メールアドレスを抽出するを表示したい空白セルをクリックし、次の数式を入力します:
=TEXTJOIN(", ",TRUE,REGEXEXTRACT(A2,"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}",1)) - Enterキーを押してください。必要に応じてフィルハンドルを下にドラッグして、他のセルにも同じ数式を適用できます。複数のメールアドレスが見つかった場合は、カンマ区切りで1 つのセルに表示されます。スクリーンショットをご参照ください:

数式の仕組み
- REGEXEXTRACT(A2,「[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}」,1):
- [A-Za-z0-9._%+-]+:@記号より前のユーザー名部分(英数字とドット・プラスなどの記号)に一致します。
- @:メールアドレス内の「@」記号に一致します。
- [A-Za-z0-9.-]+:ドメイン名(例:gmail や outlook など)に一致します。
- \.[A-Za-z]{2,}:ドメインの拡張子(例:.com、.org、.edu など)に一致します。これは、ドットの後にアルファベットが少なくとも2 文字以上続くことを保証します。
- 1(最後の引数):この引数を指定すると、Excel はセル内で見つかったすべての一致結果を返します。指定しない場合は、最初に見つかったメールアドレスのみが取得されます。
- TEXTJOIN(", ",TRUE,...):複数のメールアドレスが見つかった場合、すべてのメールアドレスを抽出し、1 つのセルにカンマ区切りで結合します。
メリット:
- ソーステキストが変更されると動的に動作
- 1 つのセルから複数のメールアドレスを抽出可能
制限事項:
- Excel 365 または正規表現関連の関数をサポートするバージョンが必要です
- 一般的でないメールアドレス形式を完全にキャプチャできない場合があります
- 複雑なテキスト文字列の場合は手動での確認が必要な場合があります
- 大規模で複雑なワークシートでは、数式ベースの抽出が管理しにくくなることがあります
ユーザー定義関数による連絡先情報(電話番号、メールアドレス)の抽出
上記の数式がお使いのExcel バージョンでご利用いただけない場合は、ユーザー定義関数(UDF)が連絡先情報を抽出するための効果的な代替手段となります。
- Alt + F11を押して、VBA エディターを開きましょう。
- 次に、挿入>モジュールをクリックし、次のコードを貼り付けます:
Function ExtractContactInfo(txt As String, infoType As String) As String Dim reg As Object Dim matches As Object Dim m As Object Dim result As String Dim pattern As String Set reg = CreateObject("VBScript.RegExp") reg.Global = True reg.IgnoreCase = True Select Case LCase(infoType) Case "phone" pattern = "\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}" Case "email" pattern = "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}" Case Else ExtractContactInfo = "Invalid type" Exit Function End Select reg.pattern = pattern If reg.Test(txt) Then Set matches = reg.Execute(txt) For Each m In matches result = result & m.Value & ", " Next m result = Left(result, Len(result) - 2) End If ExtractContactInfo = result End Function - エディターを閉じてワークシートに戻り、空白セルに次の数式を入力してください:
- 電話番号を抽出:
=ExtractContactInfo(A2,"phone") - 電子メールアドレスを抽出する:
=ExtractContactInfo(A2,"email")
- 電話番号を抽出:
- その後、数式を下にドラッグすれば、リスト内のすべての電話番号とメールアドレスを一括で抽出できます。

メリット:
- ほぼすべてのExcel バージョンで動作
- 長いワークシート数式よりも再利用しやすいです。
- 繰り返しのタスクや大規模データセットに最適です。
制限事項:
- VBA の知識が必要です。
- マクロはデフォルトで無効になっていることがあります。
- 一部の組織では、セキュリティ上の理由から VBA がブロックされています。
- VBA エディターに慣れていないユーザーには向いていません。
- ファイルは通常、マクロ有効ブック(。xlsm)形式で保存する必要があります。
KUTOOLS AI による連絡先情報(電話番号、メールアドレス)の抽出
数式や VBA コードを使わずに電話番号やメールアドレスをセルから簡単に抽出したい場合は、KUTOOLS AI の Cells Aideがさらに簡単な方法をご提供します。
KUTOOLS AI を使えば、電話番号やメールアドレスにとどまらず、名前やその他のさまざまな情報をも簡単に抽出できます。抽出したい内容をプロンプトで指定するだけで、選択したセルから必要なほぼすべての情報を瞬時に取得可能です。
- Kutools>KUTOOLS AI>Cells Aideをクリックしてください(スクリーンショット参照)。

- Cells AI オールインワンアシストダイアログボックスで、以下のオプションを指定します:
- ソース範囲の範囲ボックスで、処理したいテキスト文字列を含むセルを選択してください。
- プロンプトライブラリドロップダウンをクリックして、事前定義されたプロンプト「連絡先情報の抽出」を選択してください。
- プロンプト内容ボックスで、必要に応じてプロンプトを確認または編集してください。例:
セルのテキストから氏名、電話番号、メールアドレスを抽出してください。複数の電話番号やメールアドレスが見つかった場合は、1つのセルにカンマ区切りで返してください。一致するものが見つからない場合は、空欄を返してください。 - 生成ボタンをクリックすると、KUTOOLS AI が選択されたデータを分析し、抽出した日付を右側の結果パネルに表示します。

- 結果を取得後、範囲に挿入ボタンをクリックして、抽出情報を配置する空白セルを選択します。最後に、OKをクリックしてください。

結果:名前、電話番号、メールアドレスなど、指定されたすべての連絡先情報が個別のセルにきれいに抽出され、すぐに確認・活用できます。
メリット:
- 数式を覚える必要もなければ、VBA を書く必要もありません。
- 電話番号形式は、米国およびその他の国に対応しています。
- 初心者でもかんたんに使えます。
- より自然で非構造化されたテキストにもしっかり対応できます。
- 大量のデータを処理する際の保存時間。
制限事項:
- Kutools のインストールが必要です。
- AI 構成(API キーなど)が必要となる場合があります。
- プロンプトやテキストの複雑さによって、結果がやや異なる場合があります。
拡張的な活用方法
テキスト文字列から電話番号やメールアドレスを抽出した後でも、実際の業務で使いやすくするには、さらに結果を整理する必要がある場合があります。多くのケースでは、単に1 つのセルから連絡先情報を取り出すだけでは不十分です。複数の連絡先を個別のセルに分けて分析しやすくしたり、抽出結果を一貫した形式に標準化して、よりクリーンでプロフェッショナルなワークシートを作成したいこともあるでしょう。
複数の連絡先を個別のセルに抽出
場合によっては、1 つのセルに複数の電話番号やメールアドレスが含まれていることがあります。このような場合、すべての結果を1 つのセルにまとめてしまうと、後でデータを並べ替えたり、フィルターやインポート、分析を行ったりする際に実用的ではありません。
以下の数式が役立つかもしれません:
電話番号を個別のセルに抽出:
=REGEXEXTRACT(A2,"\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}",1)

電子メールアドレスを抽出するを個別のセルに抽出:
=REGEXEXTRACT(A2,"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}",1)

電話番号の書式を標準化
上記の数式は、電話番号を元の形式のまま抽出します。結果をよりクリーンで一貫性のあるものにするには、次のような数式を使って、(555) 123-4567 といった標準形式にさらに整形できます。
=LET(
nums,REGEXEXTRACT(A2,"\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}",1),
TEXTJOIN(", ",TRUE,
MAP(nums,LAMBDA(x,
LET(
d,TEXTJOIN("",TRUE,IFERROR(MID(x,SEQUENCE(LEN(x)),1)*1,"")),
"("&LEFT(d,3)&") "&MID(d,4,3)&"-"&RIGHT(d,4)
)
))
)
)

まとめ
結論として、Excel でテキスト文字列から電話番号やメールアドレスを抽出すれば、データの明確性と使いやすさが大幅に向上します。Excel 365 の数式、幅広い互換性を備えたユーザー定義関数、あるいはより高速で柔軟な操作を実現する KUTOOLS AI の Cells Aide——いずれを選んでも、非構造化された連絡先テキストを整理された情報へと効果的に変換できます。
各方法にはそれぞれ長所と制限があります。以下の比較表を参考にすれば、お使いのExcel バージョンやスキルレベル、データ抽出のニーズに最も適した方法を素早く選べます。
| 方法 | メリット | デメリット |
|---|---|---|
| 数式 (Excel 365) | ✅ VBA 不要 ✅ 動的で下方向へのコピーが簡単 ✅ 標準的な抽出タスクに最適 | ❌ 新しいExcel バージョンでのみ利用可能 ❌ 数式が分かりにくい場合がある ❌ 不規則なデータにはあまり柔軟に対応できない |
| ユーザー定義関数 | ✅ すべてのExcel デスクトップ版で動作 ✅ 再利用可能でカスタマイズ可能 ✅ 繰り返しのタスクに適している | ❌ VBA が必要 ❌ マクロ有効ブックが必要 ❌ 初心者にはあまり親しみにくい |
| KUTOOLS AI の Cells Aide | ✅ 数式や VBA が不要 ✅ 初心者でも簡単に使用可能 ✅ 整理されていないテキストや不規則なテキストにも対応 ✅ 電話番号やメールアドレス以外にも多くの情報を抽出可能 | ❌ Kutools のインストールが必要 ❌ 一部のケースでは結果の確認が必要な場合がある ❌ プロンプトの品質に依存 |
最高の Office 生産性ツール
| 🤖 | KUTOOLS AI Aide:以下に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索、強調表示、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを操作 | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列を移動|非表示列の表示状態を切り替え|範囲および列を比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブック&シートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+ 実用的数式(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|。。。他にも多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は300 以上の高度な機能を提供し、生産性を高め、時間を大幅に節約します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースを導入し、作業を格段に簡単にします。
- Word、Excel、PowerPoint、Publisher、Access、Visio、Project でタブを使った編集と閲覧を有効にします。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回のマウスクリックをカット!
すべてのKutools アドインが、1 つのインストーラーで。
Kutools for Officeスイートには、Excel、Word、Outlook、PowerPoint 用のアドインと Office Tab Pro がバンドルされており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- 1 つのインストーラー、1 つのライセンス— 数分でセットアップ可能(MSI 対応)
- 連携してさらに効率化— Office アプリ全体で生産性を合理化
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- ベストバリュー— 個別アドイン購入よりお得





