Добрый день форумчане,нужна Ваша помощь. Задача такая...
Имеются номера тел-ов. в различном порядке(пример ниже), нужно только оставить код города+телефон. А также вставить "98" перед каждым телефоном т.е чтобы выглядело примерно 98495000000
Добрый день форумчане,нужна Ваша помощь. Задача такая...
Имеются номера тел-ов. в различном порядке(пример ниже), нужно только оставить код города+телефон. А также вставить "98" перед каждым телефоном т.е чтобы выглядело примерно 98495000000
В Вашем файле формы, в которых записан телефон, крайне разнообразны. Основную вариативность привносят следующие пункты:
1). Где-то есть код выхода на междугороднюю связь "8", где-то нет. 2). Какие-то номера содержат пробелы. 3). Некоторые номера содержат скобки, другие - нет 4). Некоторые номера записаны с участием скобок, некоторые нет. 5). Часть номеров содержат сторонний текст: 5.1) из них часть содержит внутренний номер 5.2) из них часть является факсом, а не телефонным номером 6). Часть ячеек содержит несколько номеров + любой другой пункт из этого списка. 7). Встречаются 2 разновидности дефиса.
Написание формулы/кода для работы с этим безобразием потребует от исполнителя находчивость, смекалку и хороший кусок времени. Если полный список телефонов у Вас меньше базы данных средней пиццерии и задача единовременная, то лучше будет всё сделать вручную. С основными моментами поможет следующее:
1). С помощью команды "Заменить" (оно же Ctrl + H) поочерёдно меняете на пустоту всё, что не цифры: пробел, запятую, одну скобку, другую, тире и т.д. 2). Сортируете номера по длине строки. ДЛСТР() Вам поможет. 3). Очень длинные номера разбиваете/укорачиваете по вкусу. Повторяете пункт 2 перед 4. 4). Теперь, когда в одной ячейке только один номер - по длине строки можно понять, есть ли в номере код выхода на межгород или международ. В зависимости от этого, чтобы добавить недостающие цифры, делаем формулу по вкусу:
Код
="98"&A1
Код
="9"&A1
Если задача регулярная и/или объём базы телефонов сравним с базой нового мобильного оператора, пережившего старт-ап и выходящего в ноль по балансу, то всё веселее:
1). В рамках Ваших возможностей и желательно законодательства для предоставившего Вам эту базу выбираем что-нибудь наподобие: - Просим нормальный файл - Пишем и согласовываем регламент ведения базы данных - Отрубаем руки - Отлучаем от церкви 2). Далее рекомендую обратиться к людям, которые пишут макросы и пользовательские функции. Учитывая описанные мной в начале "нюансы" задачи, в ветке "фриланс" на этот вопрос у Вас гораздо больше шансов получить ответ, чем здесь.
Alexey232, здравствуйте.
В Вашем файле формы, в которых записан телефон, крайне разнообразны. Основную вариативность привносят следующие пункты:
1). Где-то есть код выхода на междугороднюю связь "8", где-то нет. 2). Какие-то номера содержат пробелы. 3). Некоторые номера содержат скобки, другие - нет 4). Некоторые номера записаны с участием скобок, некоторые нет. 5). Часть номеров содержат сторонний текст: 5.1) из них часть содержит внутренний номер 5.2) из них часть является факсом, а не телефонным номером 6). Часть ячеек содержит несколько номеров + любой другой пункт из этого списка. 7). Встречаются 2 разновидности дефиса.
Написание формулы/кода для работы с этим безобразием потребует от исполнителя находчивость, смекалку и хороший кусок времени. Если полный список телефонов у Вас меньше базы данных средней пиццерии и задача единовременная, то лучше будет всё сделать вручную. С основными моментами поможет следующее:
1). С помощью команды "Заменить" (оно же Ctrl + H) поочерёдно меняете на пустоту всё, что не цифры: пробел, запятую, одну скобку, другую, тире и т.д. 2). Сортируете номера по длине строки. ДЛСТР() Вам поможет. 3). Очень длинные номера разбиваете/укорачиваете по вкусу. Повторяете пункт 2 перед 4. 4). Теперь, когда в одной ячейке только один номер - по длине строки можно понять, есть ли в номере код выхода на межгород или международ. В зависимости от этого, чтобы добавить недостающие цифры, делаем формулу по вкусу:
Код
="98"&A1
Код
="9"&A1
Если задача регулярная и/или объём базы телефонов сравним с базой нового мобильного оператора, пережившего старт-ап и выходящего в ноль по балансу, то всё веселее:
1). В рамках Ваших возможностей и желательно законодательства для предоставившего Вам эту базу выбираем что-нибудь наподобие: - Просим нормальный файл - Пишем и согласовываем регламент ведения базы данных - Отрубаем руки - Отлучаем от церкви 2). Далее рекомендую обратиться к людям, которые пишут макросы и пользовательские функции. Учитывая описанные мной в начале "нюансы" задачи, в ветке "фриланс" на этот вопрос у Вас гораздо больше шансов получить ответ, чем здесь.
Rioran, спасибо за Ваш ответ :).Даже не смотря на некие пробелы и 2-3 номера в ячейке, добавив формулу ="98"&A1,можно ли как то избавится от 7ки которая идет следом после 98......выделил желтым цветом столбец
Rioran, спасибо за Ваш ответ :).Даже не смотря на некие пробелы и 2-3 номера в ячейке, добавив формулу ="98"&A1,можно ли как то избавится от 7ки которая идет следом после 98......выделил желтым цветом столбецAlexey232
Посмотрите, например как можно поэтапно чистить такие списки, дальше можно продолжить самому. Но как уже сказал Rioran, 100% результат не получится.
Посмотрите, например как можно поэтапно чистить такие списки, дальше можно продолжить самому. Но как уже сказал Rioran, 100% результат не получится.Russel