При работе с данными сотрудников, клиентов и других людей в Google Таблицах может возникнуть необходимость переформатировать написание их имен или вытянуть их для подписи. В большинстве случаев полное ФИО необходимо заменить на фамилию с инициалами. Конечно, если строк мало, то все можно перепечатать вручную. Однако при работе с большим объемом информации проще обратиться к специальным формулам. Я покажу две из них. Первая – более простая и подходит в тех ситуациях, когда фамилии, имена и отчества изначально находятся в разных ячейках. Вторая – массивная и более сложная в написании, но позволит в рамках одной формулы вытащить инициалы с фамилией и разместить информацию в нужном месте таблицы, в дальнейшем растянув эту формулу так, чтобы она применялась и для других записей тоже.
Использование функции MIDB
Если изначально таблица составлялась таким образом, что ФИО каждого человека записывались в разных ячейках, извлечение инициалов будет крайне простым. В рамках формулы будет использоваться только функция MIDB и дополнительные настройки, позволяющие обеспечить правильное написание фамилии и инициалов. Эта функция позволяет вывести в ячейку только указанное количество символов из строки, что как раз и подойдет для выполнения нужной операции.
-
Посмотрите на приведенный ниже пример. Это простая таблица с ФИО, где нужно отдельно для подписи вывести формат Иванов И.И. Записей может быть огромное количество, формула вполне растягивается до нужного размера.
-
Выберите нужную ячейку для записи инициалов и после «=» просто добавьте номер ячейки с фамилией, поскольку ее содержимое будет выводиться полностью. Следующий знак «&» используется для объединения функций. Запомните его, поскольку его придется использовать еще много раз в обоих вариантах извлечения инициалов.
-
После объединения добавьте " " и еще один знак «&». Вы знаете, что кавычки используются для обозначения текста, но они будут содержать исключительно пробел, чтобы сделать отступ для дальнейшей записи инициала.
-
Объявите функцию MIDB, заполнением которой мы и займемся в дальнейшем.
-
Ее первая часть должна выглядеть примерно как MIDB(B2;1;1). Сначала указываем ячейку для извлечения символов, затем символ, с которого нужно начать, и завершающий символ. В этом случае извлекаем исключительно первый.
-
Добавьте &"."&, чтобы поставить точку после первого инициала и соединить формулы.
-
Завершающая часть формулы имеет вид MIDB(C2;1;1)&".", то есть теперь мы берем уже отчество и тоже извлекаем из него первый символ. В конце добавляем еще одну точку для инициалов.
-
Полностью эта формула имеет вид =A2&" "&MIDB(B2;1;1)&"."&MIDB(C2;1;1)&".", а результат вывода как раз представлен на следующем скриншоте. Конечно, не забудьте поменять номера ячеек на свои, чтобы ссылаться на правильные данные.
Далее формулу можно растянуть на нужный диапазон или самостоятельно менять ячейки, чтобы обеспечить корректный вывод. Функция MIDB может использоваться и для других целей, когда речь идет о возвращении символов из ячейки.
Создание продвинутой формулы извлечения инициалов из ФИО
Вся простота реализации предыдущей формулы связана с тем, что изначально фамилии, имена и отчества разделены по разным ячейкам. Если же имя человека написано в рамках одной ячейки, процесс немного усложняется. Конечно, при помощи стандартного разделения по словам можно исправить эту ситуацию, но подходит такой вариант далеко не всегда. Поэтому предлагаю воспользоваться продвинутой формулой.
-
За пример будет взята таблица, которую вы видите на следующем скриншоте. Есть ячейки с ФИО, а нужно справа поставить формат Иванов И.И. для будущих подписей. В этом как раз поможет создаваемая далее формула.
-
Она будет сформирована из трех разных частей. Основой каждой будет часть с двумя функциями, которая имеет вид ИНДЕКС(SPLIT(A1;" ");;1). При помощи этих двух формул мы разделяем содержимое ячейки на части и берем только ту, которая нужна для дальнейших действий. В этом случае будет отображена полностью вся фамилия, поскольку никаких ограничений для количества символов не установлено.
-
Точно так же берется и вторая часть из ячейки, где 1 просто заменяется на 2, чтобы извлечь имя.
-
Аналогично происходит и с отчеством, однако эти две формулы необходимо будет еще доработать, чтобы вывод был не полный, а только первые буквы строки. Об этом пойдет речь при полном формировании всей формулы.
-
Первая часть остается такой же, как было показано выше, то есть ИНДЕКС(SPLIT(A1;" ");;1), поскольку будем получать фамилию в полном виде. Далее запишите &" "&, чтобы добавить после нее пробел.
-
Ко второй части добавляется функция ЛЕВСИМВ, что позволяет нам извлечь только первый символ из всей строки. В итоге часть формулы улучшается до варианта ЛЕВСИМВ(ИНДЕКС(SPLIT(A1;" ");;2)).
-
Добавим точку для разделения инициалов, используя уже знакомую часть &"."&.
-
Запишем последнюю часть через ЛЕВСИМВ(ИНДЕКС(SPLIT(A1;" ");;3))&".". Тут уже все понятно: мы просто извлекаем первый левый символ из разделенной третьей строки ФИО, чтобы получить второй инициал. В конце добавляем стандартную точку.
-
Результат отображен на следующем скриншоте.
-
Формулу можно растянуть, чтобы получить корректный вывод всех инициалов, если формат написания имен совпадает с предыдущим вариантом.
На первый взгляд сама формула кажется сложной, поскольку она многосоставная и использует целых три разные функции. Однако я постарался описать действие каждой части, чтобы вы понимали, как можно было бы модернизировать формулу для своих целей и в каких еще случаях она была бы актуальна. Ниже оставляю ее в полном формате для тех случаев, если у вас такая же таблица, как было показано в примере, и никакие правки, кроме номеров ячеек, вносить не нужно.
=ИНДЕКС(SPLIT(A1;" ");;1)&" "&ЛЕВСИМВ(ИНДЕКС(SPLIT(A1;" ");;2))&"."&ЛЕВСИМВ(ИНДЕКС(SPLIT(A1;" ");;3))&"."
Вам остается только предварительно убедиться в том, что все имена в таблице записаны в одинаковом формате, если нужно, поправьте их. После этого можете выбрать одну из предложенных выше формул, отталкиваясь от формата записанных данных, и без проблем выделить инициалы с фамилиями, записав их должным образом.
Комментарии