Извлечь топ доменное имя из адресов электронной почты, используя Excel

703
Doug Sampson

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

joe@mail.cox.net cox.net bob@student.cox.edu cox.edu john@cox.com cox.com sheri@matadors.csun.edu csun.edu kathy.sutton@csun.edu csun.edu 

Как мне сделать это с помощью Excel? Все ответы, которые я видел в сети, не учитывают тот факт, что некоторые домены имеют более одного уровня. Я не хочу имя, которое появляется перед вторым периодом справа. Некоторые адреса электронной почты имеют только один период между знаком @ и TLD, в то время как другие могут иметь более одного периода между ними.

~ Дуг

1

1 ответ на вопрос

2
teylyn

Это легко сделать с помощью формул.

Чтобы избежать дублирования вычислений, я предлагаю создать вспомогательный столбец, который извлекает текст после @знака, который будет несколько раз упоминаться в формуле.

Если адрес электронной почты указан в A1, поместите эту вспомогательную формулу в ячейку B1:

=MID(A1,FIND("@",A1)+1,99) 

Следующим шагом является подсчет количества .символов в B1. Домен с поддоменом будет иметь 2, поэтому, только если число больше 1, вам нужно обрезать все до и включая первый .символ.

=IF(LEN(B1)-LEN(SUBSTITUTE(B1,".",""))>1,MID(B1,FIND(".",B1)+1,99),B1) 

На скриншоте показана эта комбинация формул в действии. Конечно, вы можете заменить каждое упоминание о B1 формулой из B1, но это будет сложнее поддерживать и потребует больше времени для вычисления (не то, чтобы это имело значение с несколькими сотнями адресов электронной почты).

enter image description here

Похожие вопросы