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


8

Qual fórmula de planilhas do Google eu uso para obter a parte do domínio de um endereço de e-mail?

Exemplo: bob@example.comexample.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


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.


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


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 (bob@example.com) 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.