• ベストアンサー

文字列からメールアドレスを切り取ってくる方法

自社で得た顧客情報から、自社のデータベースのフォームに入力していくときに、適切にメールアドレスの部分だけを切り取ってデータとして、そのフォーマットの適切な場所に貼り付けていきたいです。 たとえば日本語の文字や全角・半角のスペースなどに挟まれた、メールアドレスの部分をきちんと切り取ってくるための、方法(エクセルの関数などを使った方法など)は、ありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TIGANS
  • ベストアンサー率35% (245/681)
回答No.2

まずは@を見つけて、その前後を メールアドレスの正規表現で切り出すことになると思います。 (全文正規表現マッチでもいいですが時間がかかるので) https://www.megasoft.co.jp/mifes/seiki/s309.html それをCSVファイルなどに書き出してインポート。 Excelなどにポンつけできるやり方は見たことないですね。

spongetak
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • SI299792
  • ベストアンサー率47% (774/1619)
回答No.4

区切り文字が特定されていないのであれば、ユーザー定義関数しかありません。 下のマクロをVBA 入れると、MailCut という関数ができます。 使い方は、A1にメールアドレスがるとして、 =MailCut(A1) です。 ' Option Explicit ' Function MailCut(Expression As String) As String '   Dim RegExp As Object '   Set RegExp = CreateObject("VBScript.RegExp")   RegExp.Pattern = "\w+@[A-Za-z.]+"      Set RegExp = RegExp.Execute(Expression) '   If RegExp.Count > 0 Then     MailCut = RegExp(0).Value   End If End Function

spongetak
質問者

お礼

ありがとうございます!

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

「全角・半角のスペースなどに挟まれた」のように「…など」の曖昧模糊な表現はやめてください。それには具体例を幾つか挙げるべきです。 回答者は、その中から規則性を見付けて、関数「など」を使った方法を提案できるのです。

spongetak
質問者

お礼

ありがとうございます そうですね! しかし実際にそれ以上、ちょっと規則性がないのです。イレギュラーなところは手作業になると思います。

回答No.1

Q、メールアドレスを切り取ってくる方法は存在するか? A、あると思いますが・・・。もしかしたら、難しいかも知れません。

関連するQ&A