Всем привет! В одном столбце Excel есть все или некоторые из нижеуказанных данных (в произвольном порядке): 1) № телефона (7 или 10 цифр со скобками и пробелами) - если есть в ячейке, всегда идет первым, 2) ФИО (или только имя, или ИО, или ИФ), 3) email, 4) произвольный комментарий (текст, который не подпадает под пп. 1 - 3). Как все эти данные разнести на 4 столбца (особенно если учесть, что 1) и 2) может быть несколько)?
Пример - в приложенном файле. В исходном - таких строк >1000, так что вручную не разнести. Предполагаю, может быть полезным считать, что
признаком (1) являются 4 и более цифры подряд,
признаком (2) - слова с заглавных букв непосредственно после № телефона,
по D Символ 192 - Буква А Символ 193 - Буква Б (пропишите в любой ячейке =СИМВОЛ(192) )
т.е. СТРОКА(192:255) просто возвращает числа от 192 до 255 на них ссылается функция Символ МИН+ПОИСК ищет в ячейке порядковый номер первой встречающей буквы (кириллицы) Например: (351) 561 3515, Артём Петр. С 15/03 первая буква "А" находиться на 17 месте в ячейке =МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($A$192:$A$255));C2);"")) вернет 17 , вычитаем 3 = 14 , т.е. телефон занимает первые 14 символов ЛЕВСИМВ - берет из ячейки первые 14 символов
У меня в файле ошибка вместо СИМВОЛ(СТРОКА(192:255) нужно СИМВОЛ(СТРОКА($A$192:$A$255), чтобы при протягивании формулы вниз, набор символов не менялся
E - функция на VBA .Pattern = "[0-9,:]" Исключает из ячейки все цифры и двоеточие.
Ham13 написал: по D Символ 192 - Буква АСимвол 193 - Буква Б (пропишите в любой ячейке =СИМВОЛ(192) )
Понятно.
Цитата
Ham13 написал: У меня в файле ошибка вместо СИМВОЛ(СТРОКА(192:255) нужно СИМВОЛ(СТРОКА($A$192:$A$255), чтобы при протягивании формулы вниз, набор символов не менялся
О, тогда столбцы F, G, H возвращают ошибку.
Кстати, с CTRL+H (Найти и заменить) знаком, регулярно пользуюсь. Только не знаю, чем она может быть полезна в данном случае.
Проверил работу на реальном файле. Сначала хотел скопировать в него формулы, но сразу появилось #ИМЯ. Надо какие-то надстройки в своем Экселе включать, чтобы формулы заработали? Потом скопировал столбец из реального файла в Пример - email и № телефона (без добавочного) извлекает отлично, а вот с именами возникают проблемы: то всё правильно извлечёт, то имя или фамилию перенесёт в последний столбец, то и вовсе всё ФИО оказывается в последнем столбце. Причину понять не могу. Также обнаружился еще один вариант записи № телефона: (168) 651 5456, д. 3518 или (168) 651 5456, доб. 3518. Как добавочный № оставить в столбце с телефоном? Спасибо.