Формула Excel — формула разделения имен для людей с многосоставными фамилиями:

Формула Excel — формула разделения имен для людей с многосоставными фамилиями:

У меня есть список из 20 000+ имен. Имя и фамилия каждого человека находятся в одном столбце "Полное имя". Мне нужно создать два столбца для имени и фамилии.

Для большинства это сделать легко. Но для некоторых людей это довольно сложно.

Вот несколько примеров спектра имен, с которыми я имею дело. Если бы я перебирал их по одному, у меня бы ушли недели.

Любые предложения о том, как с этим справиться, были бы полезны.

БЫВШИЙ:

David Batte
Guy-Mael Jacobe de Naurois
Jean-Marc Lioutier
Thibaud Le Seguillon
Mrs. Manuela Junghaehnel
Hussain Mohammed Dipu Kabir

решение1

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

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

Практическое решение — сделать это с помощью нескольких проходов. Используйте вспомогательные столбцы, каждый с одной формулой шаблона или несколько, которые можно легко объединить. Каждый последующий набор вспомогательных столбцов может игнорировать строки, которые уже были проанализированы. Когда вы закончите, вы можете объединить вспомогательные столбцы в отдельные столбцы результатов, используя , &поскольку они будут содержать либо проанализированный результат, либо пробел.

Автоматизируйте простые:

  • отдельные имя и фамилия (на основе единственного пробела в середине)
  • имена, написанные через дефис (имя, написанное через дефис, все равно является одной строкой, поэтому вы также можете разделить его пробелом)
  • общие префиксы и суффиксы имен (например, le, de и т. д.; ищите шаблоны в форме _de_, например, , где подчеркивание представляет собой пробел, и связывайте его с соответствующим именем)
  • титулы (г-н, г-жа, миссис, доктор, старший, младший и т. д.; найдите их и свяжите с соответствующим именем или просто используйте их для поиска имени и игнорируйте титул)
  • несколько имен, если вы собираетесь отделить только первое (ищите первый пробел)
  • и т. д.

Формула первого раунда распространяется на каждую строку. Отсортируйте результаты так, чтобы все пустые (неразрешенные) строки были вверху, или используйте фильтр, чтобы показать только эти строки. Распространите следующую формулу на неразрешенные строки в следующих вспомогательных столбцах. Повторите для каждой последующей формулы. Если вы начнете с самых распространенных шаблонов, список быстро сократится, а неразрешенные примеры будут объединены для упрощения сканирования следующего шаблона.

Формула для любого заданного шаблона будет простой. Создание всеобъемлющего набора формул выходит за рамки ответа, но вы всегда можете спросить о конкретном шаблоне, который вы не можете понять, и поиск на сайте или в Интернете в целом выявит существующие ответы, которые будут охватывать общие.

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

Вы даже можете автоматизировать эти процессы, используя формулу или VBA, которые позволяют указать, где следует разделять (например, ввести 2второй пробел), или имея набор формул для разделения по разным разделителям, и выбирая формулу). Затем формула анализирует имя.

Связанный контент