Как в Excel разбить колонку с ФИО на 3 колонки

Периодически при обработке данных возникает необходимость разбить строку с ФИО на три подстроки: фамилия, имя, отчество. Такая задачка вновь всплыла при выгрузке контактной информации из 1С для импорта пользователей в Office365.

Предположим в строке A4 находится текст: Федоров Андрей Алексеевич

Для выделения фамилии:

  1. Для нахождения количества знаков берем позицию первого пробела и вычитаем 1: НАЙТИ(» «;A4;1)-1).
  2. Вычленяем подстроку с 1-й позиции.
  3. Чтобы гарантированно очистить от пробелов используем функцию СЖПРОБЕЛЫ().
=СЖПРОБЕЛЫ(ПСТР(A4;1;НАЙТИ(" ";A4;1)-1))

Для выделения имени:

  1. Находим позицию первого пробела и прибавляем 1: НАЙТИ(» «;A4;1)+1.
  2. Находим позицию второго пробела. Для этого в формуле поиска искать нужно с позиции найденной во в п.1: НАЙТИ(» «;A4;НАЙТИ(» «;A4;1)+1).
  3. Чтобы найти количество символов для извлечения вычитаем из значения п. 2 то, что получено в п.1.
  4. Используем значение из п.1 в качестве начальной позиции.
  5. Используем СЖПРОБЕЛЫ().
=СЖПРОБЕЛЫ(ПСТР(A4;НАЙТИ(" ";A4;1)+1;НАЙТИ(" ";A4;НАЙТИ(" ";A4;1)+1)-НАЙТИ(" ";A4;1))))

Чтобы собрать полученные значения в DisplayName для импорта используем функцию сцепить: =СЦЕПИТЬ(B4;» «;C4)

Мне подсказали более простой способ (Text To Column).

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Запись опубликована в рубрике IT рецепты. Добавьте в закладки постоянную ссылку.