Предположим, что столбец A содержит имена, столбец B — фамилии, а вы хотите заполнить столбец C сочетаниями имен и фамилий. Если ввести полное имя в столбец C, функция мгновенного заполнения заполнит остальные ячейки соответствующим образом.
-
Введите полное имя в ячейке C2 и нажмите клавишу ВВОД.
-
Начните вводить следующее полное имя в ячейке C3. Excel определит закономерность и отобразит предварительное изображение остальной части столбца, заполненной объединенным текстом.
-
Для подтверждения предварительного просмотра нажмите клавишу ВВОД.
Если вариант заполнения не выводится, вероятно, эта функция не включена. Вы можете выбрать Данные > Мгновенное заполнение, чтобы применить заполнение вручную или нажать клавиши CTRL+E. Чтобы включить мгновенное заполнение, выберите Сервис > Параметры > Дополнительно > Параметры правки и установите флажок Автоматически выполнять мгновенное заполнение.
Предположим, что столбец A содержит имена, столбец B — фамилии, а вы хотите заполнить столбец C сочетаниями имен и фамилий. Если ввести полное имя в столбец C, функция мгновенного заполнения заполнит остальные ячейки соответствующим образом.
-
Введите полное имя в ячейке C2 и нажмите клавишу ВВОД.
-
Выберите Данные > Мгновенное заполнение или нажмите клавиши CTRL+E.
-
Excel определит закономерность в ячейке C2 и заполнит ячейки ниже.
Эксперименты делают из нас героев.
(Флэш)
Хотя инструмент Мгновенное заполнение (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
В 2013-й версии Excel появилась новая функциональная возможность – «Мгновенное заполнение» (Flash Fill в англоязычной версии Excel). С помощью данного механизма можно быстро извлекать и соединять данные на страницах Excel без применения формул.
Смотрите также видеоверсию статьи «Мгновенное заполнение в Excel (Flash Fill)».
Мгновенное заполнение использует распознавание шаблонов для извлечения данных из смежных столбцов. Принцип работы Мгновенного заполнения очень схож с таковым в Автозаполнении, т.е. пользователь указывает несколько примеров преобразования данных и Excel, распознав алгоритм преобразования, сможет автоматизировать работу пользователя.
Для работы Мгновенного заполнения необходимо ввести несколько, а иногда просто даже одно, значений, прилегающие к столбцу с данными и выполнить команду: «Вкладка Данные/Работа с данными/Мгновенное заполнение» (или горячее сочетание Ctrl+E). Если заполнение не сработает, можно ввести еще несколько примеров и попробовать выполнить команду еще раз.
Мгновенное заполнение для извлечения данных
Разбиение строки на подстроки
Мы уже рассматривали способы того, как разбить ячейки в Excel, использование мгновенного заполнения можно считать небольшим дополнением к двум рассмотренным ранее способам.
Как и ранее, в качестве примера извлекаемых данных, будем рассматривать ФИО людей.
Можно извлечь отдельно фамилию или имя, а можно полностью разбить данные в ячейке на несколько, достаточно просто ввести рядом с полным ФИО пользователя ту часть данных, которую необходимо извлечь, а потом выполнить команду мгновенного заполнения (Ctrl+E).
Изменение регистра текста
Мгновенное заполнение отлично подходит для однообразного изменение написания текста, например, преобразовать первые строчные буквы в прописные, все строчные в прописные, прописные в строчные и т.д.
Извлечение информации из URL
Для извлечения данных текстовая информация в ячейке не обязательно должна быть разделена пробелами, мгновенное заполнение отлично справиться с «вытягиванием» информации из URL. В следующем примере приведены адреса ссылок на ролики в YouTube, не секрет, что идентификатором конкретного ролика являются символы после знака «=». Достать данную информацию из ячейки проще простого.
Возможные проблемы при работе с мгновенным заполнением, а также недостатки.
Несмотря на то, что мгновенное заполнение просто отличная функция, она не обладает каким-либо обучаемым механизмом распознавания, поэтому данные в ячейках должны быть однообразными, например, если в пример с фамилиями и именами добавить пользователя с отчеством, то мгновенное заполнение извлечет последнее слово из ячейки. То же произойдет, если фамилия человека будет представлена двумя словами.
На рисунке выше цветом выделены ячейки, где алгоритм мгновенного заполнения сработал некорректно. Однако, поспешно расстраиваться не стоит, можно провести дополнительное «обучение» мгновенного заполнения, введя не по одному значению, а, скажем, первые пять, предусмотрев данные с отчеством, а также фамилии с тире, тогда Excel, заполнит данные правильно. На рисунке ниже зеленым выделены ячейки, которые использовались для «обучения».
В любом случае, при работе с большими объемами данных не следует терять бдительность и предусмотреть такие варианты.
Следующей потенциальной неприятностью, с которой может столкнуться пользователь, является то, что иногда мгновенное заполнение не сможет распознать алгоритм извлечения данных и дополнительное введение данных в ячейки не поможет. Здесь придется использовать другие инструменты Excel.
Нужно понимать, что мгновенное заполнение не будет изменять информацию, при ее изменении в первоначальных ячейках, если нужны динамические связи, придется воспользоваться функциями Excel.
Последний недостаток, который придется принять, при работе с мгновенным заполнением – это отсутствие возможности проведения аудита, т.е. вы просто не сможет отследить формулу, по которой было произведено извлечение данных.
Мгновенное заполнение для объединения данных
Мгновенное заполнение отлично подходит не только для извлечения данных из ячеек, но и для объединения и других операций.
Например, можно очень быстро создать единообразные адреса электронной почты из фамилии и имени сотрудника, записанных латиницей, для обучения алгоритма понадобилось заполнить всего одну ячейку.
Кстати, работу алгоритма мгновенного заполнения можно записать формулой с использованием функций: СТРОЧН, ЛЕВСИМВ.
=СТРОЧН(ЛЕВСИМВ(A1;1)&"."&B1&"@msoffice-prowork.com")
В следующем примере, данные в ячейках были сцеплены в одну, но число из столбца «День» преобразовано в дату месяца.
В этом примере для обучения алгоритма пришлось заполнить две строки.
В итоге, можно отметить, что мгновенное заполнение отличный инструмент и каждый сможет найти для себя пути его применения.
При импорте данных часто требуется немного подправить текст. Например, имена были записаны в верхнем регистре, а в них нужно оставить заглавными только первые буквы. Один из вариантов — использовать формулы для изменения текста (например, =ПРОПНАЧ). Другой способ — применить новую функцию Excel 2013, которая называется Мгновенное заполнение. [1]
Рис. 1. Мгновенное заполнение быстро преобразует имена из столбца А в нужный регистр
Скачать заметку в формате Word или pdf, примеры в формате Excel
Мгновенное заполнение использует распознавание шаблонов для извлечения, а также конкатенации (объединения текста) данных из смежных столбцов. Просто введите несколько примеров в столбец, прилегающий к столбцу с данными, а потом выполните команду Данные –> Работа с данными –> Мгновенное заполнение, или нажмите Ctrl+E (английское). Excel проанализирует введенные данные и попытается заполнить остальные ячейки. Если Excel не распознает шаблон, который вы имели в виду (и заполнит ячейки неудачно), нажмите Ctrl+Z, добавьте еще пару примеров и попробуйте снова.
Например (рис. 1), в столбце В приведен список президентов США. Введите в ячейку С1 «Джордж Вашингтон», и начните набирать в ячейке С2 «Джон А…». Вы заметите, что Excel вмешается уже на этапе ввода. Программа распознает шаблон (который можно описать как «оставить заглавными во всем тексте только первые буквы») и заполнит столбец преобразованным (светло-серым) текстом. Нажмите Enter, чтобы подтвердить догадку Excel, либо внести еще несколько записей. В любой момент можно нажать Ctrl+E, чтобы указать программе заполнить столбец по угаданному шаблону.
В следующем примере (рис. 2) требуется извлечь фамилии президентов так, чтобы список можно было отсортировать по фамилиям. Это простая задача для Мгновенного заполнения. Программа распознает шаблон уже на второй записи. Теперь можно отсортировать список по столбцу С в алфавитном порядке. Правда, возможны и осечки (обратите внимание на две последние записи на рис. 3).
Рис. 2. Извлечение фамилий методом мгновенного заполнения
Рис. 3. Excel – не человек; он просто извлекает последнее слово из записи 🙂
Мгновенное заполнение правильно извлекает и имена (рис. 4). Опять же Excel распознал шаблон уже на второй записи. Подсказка у меня почему-то не сработала, но заполнение ячейки D1 и последующая команда Ctrl+E сделали свое дело.
Рис. 4. Извлечение имен методом мгновенного заполнения
У некоторых президентов есть не только имя и фамилия, но и второе имя. Может ли функция мгновенного заполнения извлекать вторые имена? Отчасти. Я вводил в Excel несколько примеров, содержавших вторые имена, и Мгновенное заполнение успешно их извлекало. Однако если в наборе были перемешаны записи, содержавшие второе имя, и записи, включавшие только фамилию и имя, то программа везде извлекала имя. Как я ни пытался, мне не удалось заставить приложение в такой ситуации игнорировать записи из двух компонентов.
Мгновенное заполнение может быть полезным и для извлечения имени домена (или имени файла) из полного URL-адреса (рис. 5).
Рис. 5. Мгновенное заполнение извлекает имена доменов и файлов из URL-адреса
Мгновенное заполнение — отличная функция, но при использовании ее с важными данными следует учитывать некоторые возможные проблемы:
- Иногда Мгновенное заполнение просто не работает. Казалось бы, извлечение вторых имен — несложный шаблон, но Мгновенное заполнение его не распознало.
- Механизм неточный. Опробовав Мгновенное заполнение на небольшом количестве данных, вы убедитесь, что оно сработало верно. Однако при применении данной возможности с тысячами строк вы не можете быть уверены в абсолютной правильности, не проверив каждую строку самостоятельно. Лучше использовать Мгновенное заполнение с данными, для которых характерно определенное единообразие.
- Мгновенное заполнение нединамическое. Если вы измените какую-либо информацию, к которой было применено Мгновенное заполнение, изменения не отразятся в автоматически заполненном столбце.
- Отсутствует «аудиторский след». Если вы применяете формулы для извлечения данных, то они служат «документацией» для любого пользователя, желающего узнать, как были извлечены сведения. При использовании Мгновенного заполнения такой «аудиторский след» отсутствует. Вы никак не сможете определить, какие правила использовались в Excel при извлечении данных.
Мгновенное заполнение умеет не только извлекать данные. Оно также способно объединить данные. Если необходимо объединить данные в одном или нескольких столбцах, можно написать формулу, использующую оператор конкатенации (&). Например, в следующей формуле комбинируется содержимое ячеек A1, В1 и С1: =А1&В1&С1. Если требуется выполнять более сложные варианты объединения, Мгновенное заполнение может сделать эту работу автоматически и избавить вас от сложностей, связанных с созданием и отладкой формулы.
Например, в столбце А (рис. 6) перечислены имена, а в столбце В — фамилии. Можно воспользоваться Мгновенным заполнением для создания электронных адресов (в столбце С) для домена example.ru. Эти адреса состоят из первого инициала, нижнего подчеркивания и фамилии — все в нижнем регистре.
Рис. 6. Мгновенное заполнение позволяет быстро создать из имен и фамилий адреса электронной почты
Достаточно ввести в ячейку С1 адрес и нажать Ctrl+E, и Мгновенное заполнение распознает шаблон и запишет оставшуюся часть информации в столбец С. Работа с Мгновенным заполнением значительно проще, чем создание равнозначной формулы: =СТРОЧН(ЛЕВСИМВ(A1;1)&"
_"
&B1&"
@example.ru"
)
И последний пример (рис. 7). В столбцах A:D содержатся исходные данные, а в столбце Е было выполнено Мгновенное заполнение на основании записи в Е2. Мгновенное заполнение сработало не идеально, и в строке 3 отразилось «2016 в.». Если раскрыть контекстную подсказку, то вы увидите несколько опций (рис. 8). Так вот, пока вы не приняли предложение этого меню, можно отредактировать исходную ячейку (Е2), и содержимое остальных ячеек столбца Е изменится. Я удалил фрагмент « г.», и ячейки приняли релевантный вид (рис. 9).
Рис. 7. Текст в столбце Е сгенерирован с помощью Мгновенного заполнения
Рис. 8. Контекстное меню Мгновенного заполнения
Рис. 9. Корректный вариант Мгновенного заполнения
Эквивалентная формула для генерирования текста: =A2&"
"
&B2&"
: "
&ТЕКСТ(D2;"
$0"
)&"
от "
&C2&"
октября 2016"
[1] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 189–192.
В Excel есть довольно много полезных текстовых функций, которые здорово помогают при обработке данных. Например, выделить первое слово, последнее, в середине ячейки, что-то склеить и т.д.
В примере ниже из столбца с названием и номером отдела нужно взять только название отдела. То есть выделить первое слово. В целом этом несложно сделать с помощью комбинации функций ЛЕВСИМВ и ПОИСК. С помощью ПОИСК определяется количество знаков до первого пробела, а с помощью ЛЕВСИМВ берется найденное количество знаков с левой стороны.
Но даже этот простой пример у многих может вызвать затруднение. Есть еще один способ – воспользоваться командой мгновенное заполнение (на вкладке Данные), которая появилась в Excel 2013. С ее помощью данные можно преобразовать не по формуле, а по указанному образцу.
Выглядит примерно так.
То есть вы задаете набор исходных данных и в соседнем столбце указываете образец, во что они должны превратиться. Excel улавливает суть и продлевает преобразование по указанному шаблону до конца диапазона исходных данных.
Огромный плюс заключается в том, что Excel берет на себя не только автоматизацию, но и интеллект, т.к. конкретного алгоритма нет. Есть только образец.
Но есть и пару минусов. Во-первых, если данные не очень однородны или образец не однозначно указывает способ преобразования, то Excel может ошибиться. В этом случае нужно указать еще один или несколько образцов. Второй минус – нет привязки к исходным данным, т.к. нет формулы. Т.е. после изменения данных, результат не меняется, как иногда хотелось бы.
В любом случае функция мгновенного заполнения – значительно расширяет возможности по быстрой обработке данных. Пользуйтесь на здоровье.
Поделиться в социальных сетях: