Qual fórmula extrai o nome de domínio de um endereço de email ([email protected] -> example.com)?

Respostas:

4

Eu usaria a seguinte fórmula para obter um URL.

Fórmula

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

Explicado

A1é validado por ser um endereço de email. Se TRUE, use a REGEXEXTRACTfórmula que você construiu. Se o endereço de email não for um endereço válido, valide para um URL. Se o URL não for válido, verifique se REGEXé um URL válido. Mostrar texto Nenhuma entrada válida é nenhuma das IFafirmações são verdadeiras.

Captura de tela

insira a descrição da imagem aqui

Exemplo

Criei um arquivo de exemplo para você: Obter domínio do endereço de email

Jacob Jan Tuinstra
fonte
11
Se você quer os dois (ou não se importa de ter os dois), =split(A2, "@")em A3 colocaria bobem A3 e example.comem A4. Um pouco mais conciso.
Wayne Werner
7

Esta fórmula fará o trabalho:

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

Se não @for encontrado, o valor original é mostrado.

A =regexextractfunção ( documentação ) executa o parâmetro de expressão regular ( @(.*)) no valor da célula A1e retorna o grupo correspondente.

nic
fonte
11
Eu não sou especialista em REGEX (@Vidar é ....), mas (.*)é muito genérico. Btw, se nenhuma correspondência for encontrada, ele lançará um erro.
precisa
Por que é (.*)muito genérico? Você não quer tudo depois do @?
Holloway
@Trengot Eu estava pensando em algo na linha de"@([A-Za-z0-9-.]+)")
Jacob Jan Tuinstra
@Trengot Veja stackoverflow.com/a/7111947/1536038
Jacob Jan Tuinstra
11
@JacobJanTuinstra Esse regex não funciona com todos os nomes de domínio, apenas com nomes ASCII. Os nomes de domínio podem ter caracteres Unicode neles, por exemplo, net 㯜 㯙 㯟 .net
3

Se o seu endereço de email ([email protected]) estiver em A1

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

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

Você está dividindo no @ e depois usando o índice para selecionar a coluna que deseja da divisão.

ITechGeek
fonte