• 締切済み

エクセルでメールアドレスと抽出したい

同じセルに A1セルに AAAA@gmail.com BBBB@gmail.com と2つのメアドが入っている。 B1セルに AAAA@gmail.com C1セルに BBBB@gmail.com としたい場合どのようにやればいいでしょうか? どうぞよろしくお願いいたします。

みんなの回答

回答No.6

【お詫びに】No.4さんの回答のキモを確認する一つの手法を紹介しておきます。 回答のキモは、区切り子=CHAR(10)だってことです。で、それを確認することは、標準モジュールに以下の関数を登録するで可能になります。 Public Function GetAscCode(ByVal strText As String, ByVal N As Integer) As Long   GetAscCode = Asc(Mid(strText, N, 1)) End Function 添付図では、B1でA1の改行コードのAsciiを求めています。No.4さんの回答は次のように書き換えても同じ結果を得られます。 =MID($A1,1,FIND(CHAR(GetAscCode(A1,15)),$A1)-1) つまり、キモは Ascii code=10 だということです。 なお、CutStr()は、標準モジュールに登録している関数です。 Public Function CutStr(ByVal Text As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String   If N > 0 Then     strDatas = Split("" & Separator & Text, Separator, , 0)     CutStr = strDatas(N * Abs(N <= UBound(strDatas)))   End If End Function

回答No.5

【先の回答は、全面的に撤回】 =CutSTr(A1,CHAR(10), 1) =CutSTr(A1,CHAR(10), 2) でもOKでした。 CHR(10)⇒CHAR(10)  ↑ 単なる無知ゆえのミスでした。No4さんと同じやり方で、私はCHR(10)でテストしたってこと。で、参照すると改行しないということ。ALT+ENTERで入力した時だけ改行するってこと。どっちも、知りませんでした。ですから、先の回答は、全面的に撤回します。

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.4

1.「テキストエディタ」を起動する。 2.「A1」セルを「コピー」する。 3.「テキストエディタ」に「貼り付け」る。 4.「"」が先頭と末尾にくっついた状態になるので、「"」を「BackSpace」等で消す。 5.「4.」で消した状態の2行を選択し、「コピーする」 6.「B1」セルを選択し、「貼り付け」る。 データの量が多いとかでしたら、「4.」で、テキストエディタの「置換」機能とか使えばいいと思いますよ。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.3

A1セルに入っているデータが、改行文字等のデータとともに、はっきりと分からないとうまくいかないかも知れませんが、以下の式を使ってみてください。 B1セルに、=MID($A1,1,FIND(CHAR(10),$A1)-1) C1セルに、=MID($A1,FIND(CHAR(10),$A1)+1,200)

回答No.2

Excelに関しては無知の私。無謀にも、課題に挑戦。 >Chr(10)で切り分けりゃー、出来るさ! が、見事に失敗。で、B1=A1で確かめると B1=AAAA@gmail.comBBBB@gmail.com と、どこにもvbLfはありゃーしない。そういうことで、添付図のような式になった次第です。これで、後は MID()とFIND()の組み合わせで達成できると思います。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

A1セルの2つのメールアドレスの区切りには何が入っていますか? スペース?改行? それが解ればその区切りの前後で文字列を取り出すことが可能です。