Хорошо, вот моя ситуация. У меня есть таблица Excel со списком плохо отформатированных телефонных номеров из CRM моей компании. Большинство из них являются внутренними, номера США с кодом страны +1, некоторые пропускают плюс, а некоторые просто круглые скобки. Некоторые из них являются международными номерами. У некоторых есть расширения. Некоторые из этих расширений: ### - ### - #### x ####, некоторые ### - ### - #### ext: #### и т.д.

Мне нужно переформатировать эти числа по следующим критериям. Внутренние номера: все должны быть отформатированы тире, без скобок: ### - ### - #### Все расширения должны быть выделены в свой собственный столбец. , Я могу попробовать сделать это после того, как все числа отформатированы правильно.

Международные номера должны быть отформатированы как полная строка, начинающаяся с +, например, +1234567890. Редактировать Прямо сейчас, международные номера, как правило, длиннее и не начинаются с 1 или +1.

Бонус! Некоторые списки на листе имеют несколько номеров, разделенных запятой.

Любой совет о том, как справиться с этим будет принята с благодарностью. Я немного потерян.

1 ответ1

0

Один из способов сделать это (и, вероятно, не самый лучший) - использовать следующие 3-4 столбца, чтобы сначала очистить числа.

В первом новом столбце вы можете убрать свой номер телефона:

  • Вы можете легко определить, есть ли + или нет с помощью функции LEFT() .
  • Для номеров США вы можете удалить +1 или 1 с помощью SUBSTITUTE() а также конвертировать "" в "-".
  • Если несколько номеров разделены с помощью «,», вы можете ограничить строку 1 номером телефона, комбинируя LEFT() или MID() с FIND() и ища «,» в качестве разделителя в FIND()
  • Точно так же, используя IF() , FIND() и LEFT() / MID() / RIGHT() , вы можете удалить любое расширение.

Во втором столбце вы можете сделать то же самое для возможных 2-х телефонных номеров, которые могут быть указаны. Чтобы определить, с чего начать, вы можете использовать что-то вроде RIGHT(B2,len(B2)-FIND(",",B2)+1) (при условии, что ваша исходная телефонная строка находится в B2), которая будет возвращать содержимое только после "".

Для расширений вы можете FIND() "x" или "ext"(используя оператор OR() если необходимо) в исходной строке, чтобы увидеть, где она начинается, и изолировать их с помощью оператора RIGHT() (я предполагаю, что они всегда в конце, иначе вы можете извлечь строку между "x" и «», предполагая, что есть другое число после использования MID()).
(в качестве альтернативы вы можете сначала вручную преобразовать все "ext", "Ext.", "exten." и т. д. в одну строку, используя функцию поиска и замены Excel [CTRL + H])

Трудно действительно помочь намного больше, чем это, учитывая, что ваше описание довольно широкое и, как кажется, входные данные довольно плохо организованы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .