メールアドレスからドメイン名を抽出する式はどれですか(bob@example.com-> example.com)?


8

メールアドレスからドメイン部分を取得するために使用するGoogleスプレッドシートの数式はどれですか。

例:bob@example.comexample.com

回答:


4

次の式を使用してURLを取得します。

=IF(ISEMAIL(A2),
   REGEXEXTRACT(A2,"@(.+)"),
   IF(ISURL(A2),
     A2,
     IF(ISURL(REGEXEXTRACT(A2,"@(.+)")),
       REGEXEXTRACT(A2,"@(.+)"),
       "No valid entry"
     )
   )
 )

 Copy / Paste 
 =IF(ISEMAIL(A2),REGEXEXTRACT(A2,"@(.+)"),IF(ISURL(A2),A2,IF(ISURL(REGEXEXTRACT(A2,"@(.+)")),REGEXEXTRACT(A2,"@(.+)"),"No valid entry")))

説明した

A1電子メールアドレスであることが検証されます。の場合TRUE、作成したREGEXEXTRACT式を使用します。電子メールアドレスが有効なアドレスではないことが判明した場合は、URLを検証します。URLが有効なURLではないことが判明した場合は、そのURLが有効かどうかを確認してくださいREGEX。テキストを表示有効なエントリがない場合は、IFステートメントが真であることを示します。

スクリーンショット

ここに画像の説明を入力してください

サンプルファイルを作成しました:メールアドレスからドメインを取得します


1
両方が必要な場合(または両方が必要な場合)、=split(A2, "@")A3 bobではA3とexample.comA4に配置されます。もう少し簡潔。
Wayne Werner

7

この式は仕事をします:

=regexextract(A1;"@(.*)")

@見つからない場合は、元の値が表示されます。

=regexextract関数(ドキュメントが)を実行する正規表現のパラメータ(@(.*)セルの値に対して)をA1、マッチンググループを返します。


1
私はREGEXの専門家ではありませんが(@Vidarは...)、(.*)あまりにも一般的すぎます。ところで、一致が見つからない場合は、エラーがスローされます。
Jacob Jan Tuinstra 2014年

なぜ(.*)一般的すぎるのですか?後にすべてが必要@ですか?
Holloway

@Trengot私は何かに沿って考えていました"@([A-Za-z0-9-.]+)")
Jacob Jan Tuinstra 2014年


1
@JacobJanTuinstraその正規表現は、すべてのドメイン名では機能せず、ASCIIでのみ機能します。ドメイン名には、Unicode文字を含める

3

メールアドレス(bob@example.com)がA1にある場合

=index(split(A1,"@"),0,2) = example.com

=index(split(A1,"@"),0,1) =ボブ

@で分割していて、インデックスを使用して、分割から必要な列を選択しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.