Страницы: 1
RSS
ФИО в Инициалы без повторов
 
Здравствуйте, уважаемые форумчане

    Имеется большой диапазон данных (D13:D2798), содержащий Ф.И.О. сотрудников. Данные - без повторов, могут располагаться не последовательно, без сортировки. Во втором столбце E формулой выводятся фамилии и инициалы. Проблема в том, что во втором столбце появляются повторы фамилий и инициалов. Например, два раза встречается Лыткин В. И., три раза встречается Лихачева А.С. Повторов немного, но надо чтобы не было совсем.
     Поэтому вопрос: можно ли сделать так, чтобы производился поиск во всем диапазоне фамилий и инициалов и в найденных повторах фамилия, имя отображались полностью, а вместо отчеств – первые буквы. То есть, первое значение должно остаться как есть (1: Иванов П. С.), а все последующие повторяющиеся значения должны быть преобразованы:
  1: Иванов П. С. → Иванов П. С.
  2: Иванов П. С. → Иванов Петр С.
  3: Иванов П. С. → Иванов Павел С.

           А при совпадении и фамилий и имён, нужно вывести фамилию и отчество полностью, а вместо имени – первую букву:
  1: Иванов П. С. → Иванов П. Сергеевич
  2: Иванов П. С. → Иванов П. Семенович

           Ну а если в данных не будет отчества, то вывести только фамилию и имя:
   1: Иванов П.  → Иванов Павел
   2: Иванов П.  → Иванов Петр

           Никак не пойму, как этого добиться. Изменить имеющуюся в приложенном файле формулу (если она будет полезна) или сделать это средствами VBA?
           Помогите, пожалуйста.
           Файл прилагается. В приложенном файле меньше записей, т.к. объем файла большой, не загружается.


С уважением,
Ниетхан
 
Имхо, надо сначала сделать столбец с повторами. Затем еще сделать доп. столбец, где с помощью СчетЕсли() посчитать количество каждой ФИО. Все те, которые =1 отложить, а остальных тупо доделать руками.
Потому как иначе читайте у меня в подписи.
Понятно, если б такую работу надо было проводить ежедневно. Но тут то разово. И быстрее будет исправить вручную, чем автоматизировать это, отлаживать, проверять....
Если автоматизировать бардак, то получится автоматизированный бардак.
 
вариант
Код
=ЕСЛИ(СЧЁТЕСЛИ($E$2:E2;E2)=2;ЛЕВСИМВ(D2;ПОИСК("/";ПОДСТАВИТЬ(D2;" ";"/";2)))&ЛЕВСИМВ(СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(D2;" ";ПОВТОР(" ";40);2);30));1)&".";ЕСЛИ(СЧЁТЕСЛИ($E$2:E2;E2)=3;ЛЕВСИМВ(D2;ПОИСК(" ";D2)+1)&"."&СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(D2;" ";ПОВТОР(" ";40);2);30))&".";E2))
Изменено: Сергей - 21.12.2016 16:15:13 (урезал файл)
Лень двигатель прогресса, доказано!!!
 
Согласен с Вами.
Просто этот список большой и часто пополняется вновь принимаемыми на работу сотрудниками. Плюс к этому, этот список связан с многими другими столбцами данных. Иногда забываю проверить на наличие повторов и в итоговые таблицы закрадывается ошибка (вместо данных одного человека отображаются данные совсем другого сотрудника). Думал, что можно как-то автоматизировать...
Хорошо, будем вручную делать.

Спасибо за отклик
 
Формула работает!
Только в случае повтора и фамилии и имени с заменой имени на первую букву можно убрать точку после отчества?
Лыткин В. Имануилович.
 
Сергей, а нельзя ли сделать так, чтобы поиск был во всем диапазоне E2:E2781?
Изменено: Niyetkhan - 21.12.2016 16:27:45
 
Очень лажовый способ идентифицировать пациентов по ФИО! Вот придет к вам второй Иванов Иван Иванович, и вы опять будете придумывать какой-нить номер или значок к ФИО...
Лучше сделайте сразу уникальный ИД, типа ИНН, или СНИЛС, и идентифицируйте их по нему!
А если кто-то замуж выйдет и из Дуни Кулаковой станет Дуней Зажимаевой, вы все таблицы будете переделывать???
Изменено: wowick - 21.12.2016 16:36:05
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
Niyetkhan написал: часто пополняется вновь принимаемыми на работу сотрудниками.
Цитата
wowick написал: Лучше сделайте сразу уникальный ИД, типа ИНН, или СНИЛС, и идентифицируйте их по нему!
У всех сотрудников есть табельный номер. Он - уникальный в пределах одного предприятия.Если у Вас есть нормальный Отдел кадров, то с этим не должно быть проблем.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Niyetkhan написал:
этот список большой и часто пополняется вновь принимаемыми на работу сотрудниками.
Этот список сотрудников - экспорт из корпоративного ПО или "рукопашный"?
Цитата
Михаил Лебедев написал:
У всех сотрудников есть табельный номер. Он - уникальный в пределах одного предприятия.
Уникальный по отношению к другим табельным номерам.
По отношению к сотруднику - это вполне может быть одно из значений множественного поля, если сотрудник увольнялся и вновь трудоустраивался в организацию.
Полагаю, использовать ИНН или СНИЛС предпочтительнее.
Страницы: 1
Читают тему
Наверх