Какая формула извлекает доменное имя из адреса электронной почты (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-адрес окажется недействительным, проверьте, REGEXявляется ли он действительным. Показать текст Нет действительной записи , нет IFутверждений, которые являются правдой.

Скриншот

введите описание изображения здесь

пример

Я создал файл примера для вас: Получить домен с адреса электронной почты

Джейкоб Ян Туинстра
источник
1
Если вы хотите и то, и другое (или не возражаете против того, чтобы иметь оба), =split(A2, "@")в A3 вставьте bobA3 и example.comA4. Немного более лаконично.
Уэйн Вернер
7

Эта формула сделает работу:

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

Если значение не @найдено, отображается исходное значение.

=regexextractФункция ( документация ) выполняет регулярное выражение параметр ( @(.*)) по отношению к значению ячейки A1, и возвращает соответствующую группу.

НИК
источник
1
Я не эксперт по REGEX (@Vidar это ....), но (.*)он слишком общий. Кстати, если совпадение не найдено, будет выдано сообщение об ошибке.
Джейкоб Ян Туинстра
Почему (.*)слишком общий? Разве ты не хочешь все после @?
Holloway
@ Тренго Я думал о чем-то вроде"@([A-Za-z0-9-.]+)")
Джейкоб Ян Туинстра
@Trengot См stackoverflow.com/a/7111947/1536038
Jacob Jan Tuinstra
1
@JacobJanTuinstra Это регулярное выражение не будет работать со всеми доменными именами, только ASCII. Доменные имена могут содержать символы Юникода, например, 㯙 㯜 㯙 㯟 .net
3

Если ваш адрес электронной почты (bob@example.com) указан в A1

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

=index(split(A1,"@"),0,1) боб

Вы разделяете на @ и затем используете индекс, чтобы выбрать, какой столбец вы хотите из разделения.

ITechGeek
источник