Заполнение смежных ячеек в excel

Обновлено: 07.07.2024

Как известно, для полноценной работы с данными (фильтрации, сортировки, подведения итогов и т.д.) нужен непрерывный список, т.е. таблица без разрывов (пустых строк и ячеек - по возможности). На практике же часто мы имеем как раз таблицы с пропущенными пустыми ячейками - например после копирования результатов сводных таблиц или выгрузок в Excel из внешних программ. Таким образом, возникает необходимость заполнить пустые ячейки таблицы значениями из верхних ячеек, то бишь.

из сделать

В общем случае, может возникнуть необходимость делать такое заполнение не только вниз, но и вверх, вправо и т.д. Давайте рассмотрим несколько способов реализовать такое.

Способ 1. Без макросов

Выделяем диапазон ячеек в первом столбце, который надо заполнить (в нашем примере, это A1:A12).

Нажимаем клавишу F5 и затем кнопку Выделить (Special) и в появившемся окне выбираем Выделить пустые ячейки (Blanks) :

fill-blanks3.jpg

Не снимая выделения, вводим в первую ячейку знак "равно" и щелкаем по предыдущей ячейке или жмём стрелку вверх (т.е. создаем ссылку на предыдущую ячейку, другими словами):

И, наконец, чтобы ввести эту формулу сразу во все выделенные (пустые) ячейки нажимаем Ctrl + Enter вместо обычного Enter . И все! Просто и красиво.

В качестве завершающего мазка я советовал бы заменить все созданные формулы на значения, ибо при сортировке или добавлении/удалении строк корректность формул может быть нарушена. Выделите все ячейки в первом столбце, скопируйте и тут же вставьте обратно с помощью Специальной вставки (Paste Special) в контекстом меню, выбрав параметр Значения (Values) . Так будет совсем хорошо.

Способ 2. Заполнение пустых ячеек макросом

Если подобную операцию вам приходится делать часто, то имеем смысл сделать для неё отдельный макрос, чтобы не повторять всю вышеперечисленную цепочку действий вручную. Для этого жмём Alt + F11 или кнопку Visual Basic на вкладке Разработчик (Developer) , чтобы открыть редактор VBA, затем вставляем туда новый пустой модуль через меню Insert - Module и копируем или вводим туда вот такой короткий код:

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

Для удобства, можно назначить этому макросу сочетание клавиш или даже поместить его в Личную Книгу Макросов (Personal Macro Workbook), чтобы этот макрос был доступен при работе в любом вашем файле Excel.

Способ 3. Power Query

Power Query - это очень мощная бесплатная надстройка для Excel от Microsoft, которая может делать с данными почти всё, что угодно - в том числе, легко может решить и нашу задачу по заполнению пустых ячеек в таблице. У этого способа два основных преимущества:

  • Если данных много, то ручной способ с формулами или макросы могут заметно тормозить. Power Query сделает всё гораздо шустрее.
  • При изменении исходных данных достаточно будет просто обновить запрос Power Query. В случае использования первых двух способов - всё делать заново.

Для загрузки нашего диапазона с данными в Power Query ему нужно либо дать имя (через вкладку Формулы - Диспетчер имен), либо превратить в "умную" таблицу командой Главная - Форматировать как таблицу (Home - Format as Table ) или сочетанием клавиш Ctrl + T :

Превращаем таблицу в умную

После этого на вкладке Данные (Data) нажмем на кнопку Из таблицы / диапазона (From Table/Range) . Если у вас Excel 2010-2013 и Power Query установлена как отдельная надстройка, то вкладка будет называться, соответственно, Power Query.

В открывшемся редакторе запросов выделим столбец (или несколько столбцов, удерживая Ctrl ) и на вкладке Преобразование выберем команду Заполнить - Заполнить вниз (Transform - Fill - Fill Down) :

Заполнение пустых ячеек в Power Query

Вот и всё :) Осталось готовую таблицу выгрузить обратно на лист Excel командой Главная - Закрыть и загрузить - Закрыть и загрузить в. (Home - Close&Load - Close&Load to. )

В дальнейшем, при изменении исходной таблицы, можно просто обновлять запрос правой кнопкой мыши или на вкладке Данные - Обновить всё (Data - Refresh All) .

С помощью маркера заполнения можно быстро копировать формулы в смежные ячейки.

При перетаскивании маркера в другие ячейки Excel показывает разные результаты для каждой ячейки.

Копирование формулы с помощью маркера заполнения

Выделите ячейку, которая содержит формулу для заполнения смежных ячеек.

Поместите курсор в правый нижний угол, чтобы он принял вид знака плюс (+). Например:

Курсор на маркере заполнения

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

Когда вы отпустите маркер, формула будет автоматически применена к другим ячейкам.

Показаны значения для заполненных ячеек

Кнопка "Параметры автозаполнения"

Чтобы изменить способ заполнения ячеек, нажмите кнопку Параметры автозаполнения , которая появляется после перетаскивания, и выберите нужный вариант.

Дополнительные сведения о копировании формул см. в статье Копирование и вставка формулы в другую ячейку или на другой лист.

Вы также можете нажать CTRL+D, чтобы заполнить формулу вниз по столбцу. Сначала выберите ячейку с формулой, которую нужно заполнить, а затем выберите ячейки под ней и нажмите CTRL+D.

Можно также нажать CTRL+R, чтобы заполнить формулой формулу справа в строке. Сначала вы выберите ячейку с формулой, которую нужно заполнить, а затем выберите ячейки справа от нее, а затем нажмите CTRL+R.

Если заполнение не работает

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

Ссылки на ячейки — это просто указатели на другие ячейки. Например, пусть первая ячейка содержит такую формулу:

A1 и B1 — относительные ссылки. Это означает, что при заполнении формулы вниз ссылки будут пошагово изменяться с A1, B1 на A2, B2 и так далее:

=СУММ(A1;B1)

=СУММ(A2;B2)

=СУММ(A3;B3)

В других случаях ссылки на другие ячейки могут не изменяться. Например, вы хотите, чтобы первая ссылка A1 оставалась фиксированной, а B1 изменялась при перетаскивании маркера заполнения. В этом случае необходимо ввести знак доллара ($) в первой ссылке: =СУММ($A$1;B1). При заполнении других ячеек Excel знак доллара должен продолжать нанося указатель на ячейку A1. Это может выглядеть таким образом:

=СУММ($A$1;B1)

=СУММ($A$1;B2)

=СУММ($A$1;B3)

Ссылки со знаками доллара ($) называются абсолютными. При заполнении ячеек вниз ссылка на A1 остается фиксированной, но ссылку B1 приложение Excel изменяет на B2 и B3.

Есть проблемы с отображением маркера заполнения?

Если маркер не отображается, возможно, он скрыт. Чтобы отобразить его:

В меню Excel выберите пункт Параметры.

Щелкните Правка.

В разделе Параметры правки установите флажок Включить маркер заполнения и перетаскивание ячеек.

Если автоматическое вычисление в книге не работает, при заполнении ячеек формулы не пересчитыются.

Ниже описано, как его включить.

В меню Excel выберите пункт Параметры.

Щелкните Вычисление.

Убедитесь,что в оке Параметры вычислений выбран параметр Автоматически.

Иногда в Excel приходится вводить однотипные данные в определенной последовательности, например дни недели, даты или порядковые номера строк. Для автоматизации таких процессов разработчики внедрили в программу очень удобную функцию, которая называется Автозаполнение ячеек.

Автозаполнение смежных ячеек


В правом нижнем углу текущей ячейки имеется черный квадратик – маркер заполнения.


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

Для проведения Автозаполнения:

  • введите значение в ячейку
  • снова сделать ячейку активной
  • наведите курсор на маркер заполнения, при появлении черного крестика нажмите на него левой или правой кнопкой мыши и, не отпуская кнопку, «протяните» маркер в нужном направлении по горизонтали или по вертикали
  • список заполнится автоматически, после того как кнопка будет отпущена.

Автозаполнение используют в разных целях:

  • Копирование данных в другие ячейки (числа, текст, формулы);
  • Создание арифметических и геометрических прогрессий;
  • Создание различных последовательностей (названия месяцев, дни недели, даты, время);
  • Создание пользовательских последовательностей;
  • Копирование оформления ячеек.

Примеры автозаполнения :

Ряды, полученные с помощью автозаполнения

Автозаполнение смежных ячеек числами

1. Протягивание левой кнопкой мыши маркера ячейки, содержащей число, скопирует это число в последующие ячейки. Если при протягивании маркера удерживать клавишу <Ctrl> , то ячейки будут заполнены последовательными числами

Разбивка текста

Кнопка: Смарт-тег

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

Разбивка текста
Разбивка текста

2. При протягивании маркера заполнения правой кнопкой мыши появится контекстное меню, в котором можно выбрать нужную команду:

Разбивка текста

  • Копировать – все ячейки будут содержать одно и то же число;
  • Заполнить – ячейки будут содержать последовательные значения (с шагом арифметической прогрессии 1).

Заполнение числами с шагом отличным от 1

  • заполнить две соседние ячейки нужными значениями;
  • выделить эти ячейки;
  • протянуть маркер заполнения.

Разбивка текста

Таким образом, для сложных последовательностей, перед применением автозаполнения, необходимо самостоятельно заполнить сразу несколько ячеек, чтобы Excel правильно смог определить общий алгоритм вычисления их значений.

  • ввести начальное значение в первую ячейку;
  • протянуть маркер заполнения правой кнопкой мыши;
  • в контекстном меню выбрать команду Прогрессия ;
  • в диалоговом окне выбрать тип прогрессии – арифметическая и установить нужную величину шага (в нашем примере это – 3).

Заполнение датами

При автозаполнении дат можно выбрать: заполнение по дням, месяцам, годам, а также по рабочим дням.


Сначала расскажем что такое объединенные ячейки в Excel и как их сделать. Тут нет ничего сложно, достаточно выделить две или более ячеек и выбрать команду на ленте Главная -> Выравнивание -> Объединить и поместить в центре.

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

Вы можете объединять ячейки как по горизонтали, так и по вертикали. Также можно объединить области, содержащие боле одной строки и столбца.

Типы объединения ячеек

Способы объединения ячеек

Если внимательней посмотреть на команду объединения ячеек, то можно увидеть выпадающее меню, которое в свою очередь содержит следующие дополнительные действия:

Команды объединения ячеек

  • Объединить по строкам - позволяет выбрать диапазон ячеек, который содержит несколько строк. В этом случае Excel будет создавать объединенные ячейки по одной на каждой строке
  • Объединить ячейки - объединяет выделенные ячейки в одну, но при этом не выравнивает текст в ячейке.
  • Отменить объединение ячеек - позволяет разбить объединенную ячейку на несколько.

Какие проблемы возникают при использовании объединенных ячеек

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

  • Если диапазон содержит объединенные ячейки, то пользоваться сортировкой и фильтрацией в этом диапазоне будет невозможно.
  • Также невозможно будет преобразовать такой диапазон в таблицу (форматировать как таблицу).
  • Также можно забыть об автоматическом выравнивании ширины или высоты ячейки. Например если имеется объединенная ячейка A1:B1, то выравнять ширину столбца A уже не получится.
  • Если Вы пользуетесь горячими клавишами для навигации, например переходите в начало и конец таблицы путем сочетания клавиш Ctrl + стрелка вверх и вниз, то переход не удастся, и курсор будет "упираться" в объединенные ячейки.
  • Если вы выделяете столбцы (или строки) с помощью горячих клавиш Ctrl (Shift) +Пробел, то при наличии объединенных ячеек, вы не сможете выделить 1 столбец (или строку).

Как найти все объединенные ячейки и разъединить их

Чтобы разъединить все ячейки и удалить объединенные, достаточно выполнить следующие действия:

  1. Выделить все ячейки на листе. Это можно сделать путем нажатия сочетания клавиш Ctrl + A или кликнуть на черный треугольник между заголовками строк и столбцов на листе.
  2. Нажать на команду Главная -> Выравнивание -> Объединить и поместить в центре если она выделена. Если же она не выделена, значит выбранный лист не содержит объединенных ячеек.

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

Альтернативы использования объединенных ячеек

Как правило объединенные ячейки применяют для целей выравнивания текста. Однако мало кто знает, что текст можно выровнять и без объединения ячеек и потери функционала. Для этого можно использовать обычное форматирование ячеек:

Альтернатива объединению ячеек

  1. Выделите диапазон ячеек, который хотите отцентрировать. При этом сам текст должен содержаться в левой верхней ячейке.
  2. Выберите команду формат ячеек или нажмите сочетание клавиш Ctrl + 1.
  3. В диалоговом окне Формат ячеек перейдите на вкладку Выравнивание.
  4. В выпадающем списке выравнивания по горизонтали выберите значение по центру выделения и нажмите OK.

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

Читайте также: