![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
メールアドレスを検出するわけではありませんが、もしメールアドレスが< >で囲まれていて、かつ、< >の記号が文章の中でメールアドレスの部分のみに使われているか、他に使われていてもメールアドレスよりも後に使われているのであれば、次の方法を試してみて下さい。
A列にA1から文章が入力されているとして、B1に
=MID(A1,FIND("<",A1,1)+1,FIND(">",A1,1)-FIND("<",A1,1)-1)
と入力して、以下コピーとします。
B列に< >の中のアドレスが表示されると思います。
なお、< >も含めて抜き出したいのであれば、
=MID(A1,FIND("<",A1,1),FIND(">",A1,1)-FIND("<",A1,1)+1)
として下さい。
No.3
- 回答日時:
B列に表示したいとのことですが、1個の式で出す方法を思いつかないので、B列とC列に式を入れ、C列に結果を表示する方法を書きます。
後でB列は非表示にしておくと良いと思います。データがA1からA5に入っているとして
A列 B列 C列
データ =SEARCH("@",A1,1) =IF(COUNT(B1)=1,A1,"")
B1とC1に上記の式を入れ、それぞれ5行目までコピーします。
式の意味はB1でアットマークが何文字目か出し、メールアドレスならば数値がでる。C1ではB1に数値が1個あればA1のデータを、数値が無ければ空白を。やってみて下さい。
回答ありがとうございます。
今回はNO1の方に教えていただいた方法でやることになりましたが、
1628taniさんの方法もちょっとチャレンジしてみたいと思います。
No.2
- 回答日時:
こんばんは。
ユーザー定義関数で考えてみました。
こちらは、<...> という区切り文字がなくても、取り出せます。
Alt + F11 で、Visual Basic Editor 画面を開けたら、
メニューの[挿入]-[標準モジュール] をクリックして、白い画面が開いたなら、以下のコードを貼り付けます。貼り付けたら、Alt + F11 で、元の画面に戻ります。
Function PickupADR(文字列 As Variant)
Dim re As RegExp
Dim Matches As Object, M As Object
Dim i As Long, buf As Variant
Set re = CreateObject("VBScript.RegExp")
With re
.Pattern = "\w+@[\w\.]+" 'メールアドレスのパターン
.Global = True
If .test(文字列) Then
Set Matches = .Execute(文字列)
If Matches.Count = 1 Then
PickupADR = Matches(0).Value
ElseIf Matches.Count > 1 Then
ReDim buf(0 To Matches.Count)
For Each M In Matches
buf(i) = M.Value
i = i + 1
Next
PickupADR = buf
End If
End If
End With
End Function
この関数は、一般的な関数のように使えますが、少し変わった特徴があります。
=PICKUPADR(A1)
とすれば、メールアドレスが取り出せますが、ひとつのセルに2つ以上入っている場合は、
=INDEX(PICKUPADR($A$1),1,COLUMN(A1))
として、フィルハンドル・コピーで、右にスライドすれば、次に入っているメールアドレスも取り出せます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- オープンソース 【ChatGTPのオープンソースソフトウェアを解析したことがある方、教えてくださ 2 2023/03/08 18:57
- 会計ソフト・業務用ソフト 同じデータの入ったセルの統合の方法 1 2022/10/04 12:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
特定の文からメールアドレスのみ抽出する方法
PHP
-
Excelのシートでメールアドレスの@より前を抽出するやり方を教えてください。
Excel(エクセル)
-
エクセル内のメールアドレスをメール送信先に一斉に移す方法
Windows Vista・XP
-
-
4
文字列から英数字のみを抽出する関数
Excel(エクセル)
-
5
受信箱にあるメールからメールアドレスのみ抽出したい
Yahoo!メール
-
6
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
7
パーセンテージの平均の出し方は?
数学
-
8
Excel-参照セルが空白の場合、別のセルを参照するには。
Excel(エクセル)
-
9
グラフの横・縦項目が全部表示されない
Excel(エクセル)
-
10
セル内文章から、英数字のみ取り出す関数を教えてください
Excel(エクセル)
-
11
EXCELで、漢字のみ抽出する式を教えてください。
Excel(エクセル)
-
12
件名や差出人をテキストファイルに吐き出すことは出来ますか?
Yahoo!メール
-
13
パワーポイントの画面がずれる
PowerPoint(パワーポイント)
-
14
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
15
エクセル関数で文字列の中のスペースの有無を調べたい。
Excel(エクセル)
-
16
EXCELで2列を参照し、重複するものを横に並べたい
Excel(エクセル)
-
17
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
18
Outlookの転送は、PC起動しているときだけ?
Outlook(アウトルック)
-
19
Thunderbird 受信メールからのアドレス・名前 エクスポート方法
その他(メールソフト・メールサービス)
-
20
エクセルを更新したらメールが来るようにしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
エクセルの数式バーのフォント...
-
エクセルの関数について教えて...
-
エクセルでセルに標準で入力さ...
-
Microsoft1Officeの互換ソフト...
-
シフト表をエクセルで作るとき...
-
ユーザー定義関数をアドイン登...
-
Excel VBAで全ての矢印を赤色に...
-
VBA Private Sub Worksheet_Cha...
-
2列に入っているデータを1列...
-
Excelに詳しい方! B列が「日...
-
excel2013 MonthDays 関数が使...
-
エクセルのクイックアクセスツ...
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報