Welche Formel extrahiert den Domainnamen aus einer E-Mail-Adresse (bob@example.com -> example.com)?


8

Welche Google Spreadsheets-Formel verwende ich, um den Domain-Teil von einer E-Mail-Adresse abzurufen?

Beispiel: bob@example.comexample.com

Antworten:


4

Ich würde die folgende Formel verwenden, um eine URL zu erhalten.

Formel

=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")))

Erklärt

A1wird als E-Mail-Adresse validiert. Wenn ja TRUE, verwenden Sie die von REGEXEXTRACTIhnen erstellte Formel. Wenn sich herausstellt, dass die E-Mail-Adresse keine gültige Adresse ist, überprüfen Sie sie auf eine URL. Wenn sich herausstellt, dass die URL keine gültige URL ist, überprüfen Sie, ob REGEXes sich um eine gültige URL handelt. Text anzeigen Kein gültiger Eintrag ist keine der IFAussagen ist wahr.

Bildschirmfoto

Geben Sie hier die Bildbeschreibung ein

Beispiel

Ich habe eine Beispieldatei für Sie erstellt: Domain von E-Mail-Adresse abrufen


1
Wenn Sie beide wollen (oder nichts dagegen haben, beide zu haben), =split(A2, "@")würden Sie bobin A3 A3 und example.comin A4 setzen. Etwas prägnanter.
Wayne Werner

6

Diese Formel erledigt den Job:

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

Wird nein @gefunden, wird der ursprüngliche Wert angezeigt.

Die =regexextractFunktion ( Dokumentation ) führt den regulären Ausdrucksparameter ( @(.*)) für den Wert der Zelle aus A1und gibt die übereinstimmende Gruppe zurück.


1
Ich bin kein Experte für REGEX (@Vidar ist ....), aber das (.*)ist zu allgemein. Übrigens, wenn keine Übereinstimmung gefunden wird, wird ein Fehler ausgegeben.
Jacob Jan Tuinstra

Warum ist (.*)zu generisch? Willst du nicht alles nach dem @?
Holloway

@Trengot Ich dachte an etwas in der Reihe von"@([A-Za-z0-9-.]+)")
Jacob Jan Tuinstra


1
@JacobJanTuinstra Dieser reguläre Ausdruck funktioniert nicht mit allen Domänennamen, nur mit ASCII-Namen. Domain-Namen können Unicode-Zeichen enthalten, z. B. net 㯜 㯙 net .net

3

Wenn Ihre E-Mail-Adresse (bob@example.com) in A1 ist

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

=index(split(A1,"@"),0,1) = Bob

Sie teilen auf dem @ und wählen dann mit dem Index aus, welche Spalte Sie aus der Aufteilung auswählen möchten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.