- 締切済み
エクセルでメールアドレスと抽出したい
同じセルに A1セルに AAAA@gmail.com BBBB@gmail.com と2つのメアドが入っている。 B1セルに AAAA@gmail.com C1セルに BBBB@gmail.com としたい場合どのようにやればいいでしょうか? どうぞよろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【お詫びに】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
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【先の回答は、全面的に撤回】 =CutSTr(A1,CHAR(10), 1) =CutSTr(A1,CHAR(10), 2) でもOKでした。 CHR(10)⇒CHAR(10) ↑ 単なる無知ゆえのミスでした。No4さんと同じやり方で、私はCHR(10)でテストしたってこと。で、参照すると改行しないということ。ALT+ENTERで入力した時だけ改行するってこと。どっちも、知りませんでした。ですから、先の回答は、全面的に撤回します。
- STICKY2006
- ベストアンサー率29% (1536/5269)
1.「テキストエディタ」を起動する。 2.「A1」セルを「コピー」する。 3.「テキストエディタ」に「貼り付け」る。 4.「"」が先頭と末尾にくっついた状態になるので、「"」を「BackSpace」等で消す。 5.「4.」で消した状態の2行を選択し、「コピーする」 6.「B1」セルを選択し、「貼り付け」る。 データの量が多いとかでしたら、「4.」で、テキストエディタの「置換」機能とか使えばいいと思いますよ。
- aokii
- ベストアンサー率23% (5210/22062)
A1セルに入っているデータが、改行文字等のデータとともに、はっきりと分からないとうまくいかないかも知れませんが、以下の式を使ってみてください。 B1セルに、=MID($A1,1,FIND(CHAR(10),$A1)-1) C1セルに、=MID($A1,FIND(CHAR(10),$A1)+1,200)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
- mt2015
- ベストアンサー率49% (258/524)
A1セルの2つのメールアドレスの区切りには何が入っていますか? スペース?改行? それが解ればその区切りの前後で文字列を取り出すことが可能です。