Réponses:
J'utiliserais la formule suivante pour obtenir une 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")))
A1est validé comme étant une adresse e-mail. Si TRUE, alors utilisez la REGEXEXTRACTformule que vous avez construite. Si l'adresse e-mail s'avère ne pas être une adresse valide, validez pour une URL. Si l'URL s'avère ne pas être une URL valide, vérifiez s'il REGEXs'agit d'une URL valide. Afficher le texte Aucune entrée valide, aucune des IFaffirmations n'est vraie.

J'ai créé un exemple de fichier pour vous: obtenir le domaine à partir de l'adresse e-mail
Cette formule fera le travail:
=regexextract(A1;"@(.*)")
Si aucun @n'est trouvé, la valeur d'origine est affichée.
La =regexextractfonction ( documentation ) exécute le paramètre d' expression régulière ( @(.*)) par rapport à la valeur de la cellule A1et renvoie le groupe correspondant.
(.*)c'est trop générique. Btw, si aucune correspondance n'est trouvée, cela générera une erreur.
(.*)trop générique? Tu ne veux pas tout après @?
"@([A-Za-z0-9-.]+)")
=split(A2, "@")en A3, mettezboben A3 etexample.comen A4. Un peu plus concis.