Преобразование имени и отчества в инициалы с помощью формул Excel и присоединение их к фамилии. Разделение фамилий, имен и отчеств, расположенных в одной ячейке, по разным ячейкам и наоборот.
Фамилия, имя и отчество в разных ячейках
Если фамилия, имя и отчество записываются в разные ячейки, работать с ними легче, чем при размещении их в одной ячейке. Перечислим преимущества:
- при заполнении таких ячеек в таблицах срабатывает автоподбор значений, так как имена и отчества часто повторяются;
- для заполнения таких ячеек можно использовать раскрывающиеся списки наиболее распространенных имен и отчеств;
- фамилия, имя и отчество, записанные в разные ячейки, легко объединить в одну, а имя и отчество заменить инициалами.
Итак, объединяем фамилию, имя и отчество полностью из разных ячеек в одну:
Здесь можно использовать формулу «СЦЕПИТЬ», как в примере =СЦЕПИТЬ(A1;" ";B1;" ";C1)
, или просто соединить строки с помощью & (амперсандов) =A1&" "&B1&" "&C1
, не забыв добавить между словами пробелы.
В следующем примере мы также объединим фамилию, имя и отчество из разных ячеек в одну, при этом имя и отчество заменив на инициалы:
Здесь также можно использовать формулу «СЦЕПИТЬ», как в примере =СЦЕПИТЬ(A1;" ";ЛЕВСИМВ(B1;1);".";ЛЕВСИМВ(C1;1);".")
или & (амперсанды) =A1&" "&ЛЕВСИМВ(B1;1)&"."&ЛЕВСИМВ(C1;1)&"."
, не забыв добавить между фамилией и инициалами пробел, а к инициалам точки. В этом примере мы извлекаем левые символы из имени и отчества для присоединения их к фамилии в виде инициалов.
Фамилия, имя и отчество в одной ячейке
Использование фамилии, имени и отчества в одной ячейке имеет тоже свои преимущества:
- уменьшается количество колонок в таблице;
- в большинство документов* требуется внесение фамилии, имени и отчества в полном написании.
*Если документы генерируются на основе этой таблицы, то вставка ФИО не потребует дополнительных преобразований.
Лично мне в работе не приходилось преобразовывать фамилию, имя и отчество из одной ячейки в разные, но могу предположить, что для кого-то это бывает необходимо:
Для этого преобразования используются следующие формулы в соответствующих ячейках:
- ячейка B1 —
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1)-1)
- ячейка C1 —
=ПСТР(A1;НАЙТИ(" ";A1;1)+1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)-НАЙТИ(" ";A1;1)-1)
- ячейка D1 —
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1))
Чтобы определить начало имени и начало отчества используются позиции первого и второго пробелов, найденных с помощью функции «НАЙТИ».
Необходимость следующего преобразования возникает чаще предыдущего, используется для заполнения различных документов наряду с полным именем:
Для этого преобразования используется следующая формула в ячейке B1 — =СЦЕПИТЬ(ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1));" ";ПСТР(A1;НАЙТИ(" ";A1;1)+1;1);".";ПСТР(A1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)+1;1);".")
Здесь тоже функцию «СЦЕПИТЬ» можно заменить & (амперсандами) — =ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1))&" "&ПСТР(A1;НАЙТИ(" ";A1;1)+1;1)&"."&ПСТР(A1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)+1;1)&"."
Вы можете копировать эти формулы в свои файлы, не забывая изменять адреса ячеек на фактические. Часто инициалы пишут перед фамилией, изменить формулы для такого отображения ФИО несложно.
Предположим, что столбец A содержит имена, столбец B — фамилии, а вы хотите заполнить столбец C сочетаниями имен и фамилий. Если ввести полное имя в столбец C, функция мгновенного заполнения заполнит остальные ячейки соответствующим образом.
-
Введите полное имя в ячейке C2 и нажмите клавишу ВВОД.
-
Начните вводить следующее полное имя в ячейке C3. Excel определит закономерность и отобразит предварительное изображение остальной части столбца, заполненной объединенным текстом.
-
Для подтверждения предварительного просмотра нажмите клавишу ВВОД.
Если вариант заполнения не выводится, вероятно, эта функция не включена. Вы можете выбрать Данные > Мгновенное заполнение, чтобы применить заполнение вручную или нажать клавиши CTRL+E. Чтобы включить мгновенное заполнение, выберите Сервис > Параметры > Дополнительно > Параметры правки и установите флажок Автоматически выполнять мгновенное заполнение.
Предположим, что столбец A содержит имена, столбец B — фамилии, а вы хотите заполнить столбец C сочетаниями имен и фамилий. Если ввести полное имя в столбец C, функция мгновенного заполнения заполнит остальные ячейки соответствующим образом.
-
Введите полное имя в ячейке C2 и нажмите клавишу ВВОД.
-
Выберите Данные > Мгновенное заполнение или нажмите клавиши CTRL+E.
-
Excel определит закономерность в ячейке C2 и заполнит ячейки ниже.
Превращаем полное ФИО в Фамилию + Инициалы.
Если Фамилия, Имя и Отчество (ФИО) хранятся в одной ячейке (например, в
B1
) и отсутствуют лишние пробелы, то превратить полное ФИО в Фамилию + инициалы можно с помощью этой формулы (см.
файл примера
):
=ЛЕВСИМВ(B1;НАЙТИ(» «;B1;1)+1)&».»&ПСТР(B1;НАЙТИ(» «;B1;НАЙТИ(» «;B1;1)+1)+1;1)&».»
Формула определяет позицию начала Имени и Отчества по пробелам (код символа пробел =32). Очевидно, что порядок следования фамилии и имени с отчеством важен для работы формулы.
Формула
НАЙТИ(» «;B1;1)
в выражении
Иванов Иван Иванович
. Соответственно, выражение
ЛЕВСИМВ(B1;НАЙТИ(» «;B1;1)+1)
выводит фамилию и первый инициал (первую букву имени).
Гарантировать, что в ячейке отсутствуют лишние пробелы можно предварительно применив формулу
СЖПРОБЕЛЫ()
.
Чтобы превратить
Иванов Иван Иванович
(в ячейке
B2
) в
И.И. Иванов
(инициалы перед фамилией) используйте формулу =
ПСТР(B2;НАЙТИ(СИМВОЛ(32);B2;1)+1;1)&».»&ПСТР(B2;ПОИСК(СИМВОЛ(32);B2;НАЙТИ(СИМВОЛ(32);B2;1)+1)+1;1)&». «&ЛЕВСИМВ(B2;НАЙТИ(СИМВОЛ(32);B2;1)-1)
Совет
:
Если бы фамилия, имя и отчество хранились в отдельных ячейках
, то формула была бы гораздо проще
=ЛЕВСИМВ(B1;1)&».»
То же относится и к другим строковым значениям:
Адрес (индекс, страна, город, улица); Название книги (автор, название), банковские реквизиты (номер счета, банк, БИК) и др.
Формулы становятся значительно проще, если разные по смыслу данные хранятся в отдельных ячейках.
Дано : таблица Excel с колонкой, содержащей фамилию, имя и отчество (ФИО).
Задача : извлечь при помощи формул из колонки ФИО данные в следующем виде:
- Фамилия
- Имя Отчество
- И.О. (инициалы)
- Фамилия И.О.
- Имя
- Отчество
Будем использовать формулы с текстовыми функциями.
Будем предполагать, что исходные данные (ФИО) содержатся в ячейке
A1 —
«Иванов Сергей Олегович» .
1. Выделение фамилии из ФИО Формула извлечения фамилии (в ячейке B1):
=ЛЕВСИМВ(A1;ПОИСК(" *";A1)-1)
2. Выделение Имени Отчества из ФИО Формула извлечения Имени Отчества (в ячейке C1):
=ПСТР(A1;ПОИСК(" ";A1)+1;ДЛСТР(A1))
3. Выделение инициалов (И.О.) из ФИО Формула извлечения И.О. (в ячейке D1):
=ПСТР(A1;ПОИСК(" *";A1)+1;1)&"."&ПСТР(A1;ПОИСК(" *";A1;ПОИСК(" *";A1)+1)+1;1)&"."
4. Выделение фамилии и инициалов из ФИО Формула извлечения в виде Фамилия И.О. (в ячейке E1):
=ЛЕВСИМВ(A1;ПОИСК(" *";A1)-1)&" "&ПСТР(A1;ПОИСК(" *";A1)+1;1) &"."&ПСТР(A1;ПОИСК(" *";A1;ПОИСК(" *";A1)+1)+1;1)&"."
5. Выделение имени из ФИО Формула извлечения имени из ФИО (в ячейке F1):
=ПСТР(A1;ПОИСК(" *";A1)+1;ПОИСК(" *";A1;ПОИСК(" *";A1)+1)-ПОИСК(" *";A1)-1)
Если имеется ячейка с именем отчеством (C1 в нашем примере), то формула схожа с формулой выделения фамилии:
=ЛЕВСИМВ(C1;ПОИСК(" *";C1)-1)
6. Выделение отчества из ФИО Формула извлечения отчества из ФИО (в ячейке G1):
=ПСТР(A1;ПОИСК(" *";A1;ПОИСК(" *";A1)+1)+1;ДЛСТР(A1))
Если имеется ячейка с именем отчеством (C1 в нашем примере), то формула может иметь вид:
=ПРАВСИМВ(C1;ПОИСК(" *";C1)+1)
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Преобразование имени и отчества в инициалы с помощью формул Excel и присоединение их к фамилии. Разделение фамилий, имен и отчеств, расположенных в одной ячейке, по разным ячейкам и наоборот.
- Фамилия, имя и отчество в разных ячейках
- Фамилия, имя и отчество в одной ячейке
Фамилия, имя и отчество в разных ячейках
Когда фамилия, имя и отчество записаны в разные ячейки, работать с ними легче, чем, когда они расположены в одной ячейке. Перечислим преимущества:
- при заполнении таких ячеек в таблицах срабатывает автоподбор значений, так как имена и отчества часто повторяются;
- для заполнения таких ячеек можно использовать раскрывающиеся списки наиболее распространенных имен и отчеств;
- фамилия, имя и отчество, записанные в разные ячейки, легко объединить в одну, а имя и отчество заменить инициалами.
Итак, объединяем фамилию, имя и отчество полностью из разных ячеек в одну:
Здесь можно использовать формулу «СЦЕПИТЬ», как в примере =СЦЕПИТЬ(A1;" ";B1;" ";C1)
, или просто соединить строки с помощью & (амперсандов) =A1&" "&B1&" "&C1
, не забыв добавить между словами пробелы.
В следующем примере мы также объединим фамилию, имя и отчество из разных ячеек в одну, при этом имя и отчество заменив на инициалы:
Здесь также можно использовать формулу «СЦЕПИТЬ», как в примере =СЦЕПИТЬ(A1;" ";ЛЕВСИМВ(B1;1);".";ЛЕВСИМВ(C1;1);".")
или & (амперсанды) =A1&" "&ЛЕВСИМВ(B1;1)&"."&ЛЕВСИМВ(C1;1)&"."
, не забыв добавить между фамилией и инициалами пробел, а к инициалам точки. В этом примере мы извлекаем левые символы из имени и отчества для присоединения их к фамилии в виде инициалов.
Фамилия, имя и отчество в одной ячейке
Использование фамилии, имени и отчества в одной ячейке имеет тоже свои преимущества:
- уменьшается количество колонок в таблице;
- в большинство документов* требуется внесение фамилии, имени и отчества в полном написании.
*Если документы генерируются на основе этой таблицы, то вставка ФИО не потребует дополнительных преобразований.
Лично мне в работе не приходилось преобразовывать фамилию, имя и отчество из одной ячейки в разные, но могу предположить, что для кого-то это бывает необходимо:
Для этого преобразования используются следующие формулы в соответствующих ячейках:
- ячейка B1 —
=ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1))
- ячейка C1 —
=ПСТР(A1;НАЙТИ(" ";A1;1)+1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)-НАЙТИ(" ";A1;1)-1)
- ячейка D1 —
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1))
Чтобы определить начало имени и начало отчества используются позиции первого и второго пробелов, найденных с помощью функции «НАЙТИ».
Необходимость следующего преобразования возникает чаще предыдущего, используется для заполнения различных документов наряду с полным именем:
Для этого преобразования используется следующая формула в ячейке B1 — =СЦЕПИТЬ(ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1));" ";ПСТР(A1;НАЙТИ(" ";A1;1)+1;1);".";ПСТР(A1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)+1;1);".")
Здесь тоже функцию «СЦЕПИТЬ» можно заменить & (амперсандами) — =ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1))&" "&ПСТР(A1;НАЙТИ(" ";A1;1)+1;1)&"."&ПСТР(A1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)+1;1)&"."
Вы можете копировать эти формулы в свои файлы, не забывая изменять адреса ячеек на фактические. Часто инициалы пишут перед фамилией, изменить формулы для такого отображения ФИО несложно.
Здесь можно получить ответы на вопросы по Microsoft Excel | 57340 | 468994 |
29 Сен 2018 19:59:16 |
|
44519 | 357828 |
29 Янв 2017 17:28:40 |
||
Лучшие избранные темы с основного форума | 14 | 80 |
28 Июн 2018 15:25:11 |
|
Если вы — счастливый обладатель Mac 😉 | 217 | 1059 |
21 Сен 2018 06:21:34 |
|
Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. | 2079 | 13277 |
29 Сен 2018 09:34:03 |
|
Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. | 307 | 1580 |
28 Сен 2018 09:07:46 |
|
800 | 11406 |
29 Сен 2018 09:04:53 |
||
Обсуждение функционала, правил и т.д. | 268 | 3463 |
28 Сен 2018 12:42:51 |
|
Сейчас на форуме (гостей: 418, пользователей: 7, из них скрытых: 2) , , , ,
Сегодня отмечают день рождения (32), (37), (30)
Всего зарегистрированных пользователей: 82848
Приняло участие в обсуждении: 31728
Всего тем: 105542
Эксперименты делают из нас героев.
(Флэш)
Хотя инструмент Мгновенное заполнение (Flash Fill) появился в Excel ещё с 2013-й версии, но почему-то для многих пользователей этот факт остался незамеченным. И совершенно напрасно. Во многих случаях он оказывается проще, легче и быстрее, чем аналогичные решения на формулах или макросах. По моему опыту, на тренингах эта тема вызывает постоянное «вау!» аудитории — независимо от продвинутости и/или усталости слушателей.
Механизм работы этого инструмента прост: если у вас есть один или несколько столбцов с исходными данными и вы начинаете набирать рядом в соседнем столбце их же, но в каком-либо нужном вам измененном виде, то Excel рано или поздно намекнёт, что готов продолжить дальше за вас:
Чтобы выявить логику (шаблон, pattern) преоборазования и запустить эту функцию Excel обычно хватает ввода 1-3 первых результирующих значений вручную. Если предложенный вариант вам подходит, то достаточно нажать Enter — и остаток списка будет доделан моментально.
Если вы уже ввели 2-3 первых значения, а продолжение всё не появляется, то можно форсировать процесс сочетанием клавиш Ctrl+E или использовать кнопку Мгновенное заполнение (Flash Fill) на вкладке Данные (Data):
Давайте рассмотрим несколько примеров использования этого инструмента на практике, чтобы понять его возможности.
Извлечение слов из текста и перестановки
Написать формулу, которая извлекает, например, третье слово из текста в ячейке — маленький подвиг. Разобрать фразу по пробелу в разные колонки с помощью Данные — Текст по столбцам (Data — Text to Columns) тоже дело не быстрое. С помощью мгновенного заполнения это делается легко и красиво. Причем, можно попутно менять извлекаемые слова местами, комбинируя их в любом порядке:
Деление текста по регистру
Для выделения слов мгновенному заполнению совершенно не обязательно наличие именно пробела. Отлично сгодится и любой другой разделитель, например, запятая или точка-с-запятой после импорта CSV-файла. Но что совсем круто, так это то, что разделителя может и не быть совсем — достаточно только заглавных букв:
Реализовать подобное формулами очень тяжко. Если без мгновенного заполнения, то поможет только макрос.
Склейка текста
Если можно делить, то можно и клеить! Мгновенное заполнение легко соберёт для вас длинную фразу из нескольких фрагментов, перемежая их нужными пробелами, запятыми, союзами или словами:
Извлечение отдельных символов
Обычно для вытаскивания отдельных символов и подстрок в Excel используются функции ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT), ПСТР (MID) и им подобные, но мгновенное заполнение с легкостью решает и эту задачу. Классический пример — формирование ФИО:
Извлечение только чисел, текста или дат
Если вы когда-нибудь пытались вытащить только нужный тип данных из буквенно-цифровой каши, то должны понимать всю сложность этой простой, на первый взгляд, задачи. Мгновенное заполнение и тут справляется «на ура», но нужен лёгкий пендель в виде Ctrl+E:
С извлечением текста тоже самое:
Даты — тоже не проблема (даже если они написаны в разных форматах):
Преобразование форматов чисел или дат
Мгновенное заполнение поможет изменить внешний вид имеющихся данных или привести их к «одному знаменателю». Например, обычную дату преобразовать «шиворот-навыворот» в Unix-формат:
Здесь нюанс в том, что перед вводом нужно заранее поменять формат итоговых ячеек на текстовый, чтобы Excel не пытался распознать введенные вручную в качестве образца «неправильные» даты.
Аналогичным образом можно также правильно представить телефонные номера, добавив код страны и трехзначный префикс оператора (города) в скобках:
Не забудьте сначала поменять формат ячеек в столбце В на текстовый — иначе Excel будет воспринимать значения начинающиеся со знака «+» как формулы.
Преобразование текста (чисел) в дату
При выгрузках из различных ERP и CRM-систем часто дата представляется 8-значным числом в формате ГГГГММДД. Конвертировать её в нормальный вид можно либо функцией ДАТАЗНАЧ (DATEVALUE), либо гораздо проще — мгновенным заполнением:
Изменение регистра
Если вам достался текст с нЕпрАвИльНЫм рЕгисТроМ, то можно просто намекнуть в соседнем столбце к какому виду вы хотите его преобразовать — и мгновенное заполнение сделает за вас всю работу:
Чуть сложнее будет, если нужно изменить регистр по разному у разных частей текста. Например, сделать заглавными только второе слово, оставив первое в нормальном виде. Здесь двух введённых в качестве образца значений окажется недостаточно и придется внести правки, которые мгновенное заполнение тут же учтёт в результатах:
Ограничения и нюансы
При использовании в работе мгновенного заполнения следует помнить несколько моментов:
- Оно срабатывает только, если вводить образцы строго рядом — в предыдущем или следующем столбце справа от данных. Если отступить одну пустую колонку от исходного текста, то ничего не получится.
- При выявлении шаблона учитываются все значения в строке — слева и справа от вводимого столбца. Мораль: лишние колонки, способные запутать алгоритм или внести помехи, лучше заранее отделить от рабочих данных пустыми столбцами или удалить.
- Мгновенное заполнение отлично работает в умных таблицах.
- Малейшая ошибка или опечатка при наборе ячеек-образцов может привести к тому, что мгновенное заполнение не сможет выявить паттерн и не сработает. Будьте внимательны.
- Есть ситуации, когда шаблон определяется некорректно, поэтому всегда нужно проверять результаты, которые вы получили (хотя бы выборочно).
Ссылки по теме
- Как извлечь последнее слово из текста в ячейке
- Нечёткий текстовый поиск (Пушкин = Пушкен) с помощью Fuzzy Lookup в Excel
- Три способа склеить текст в Excel