Автоматическое заполнение ячеек в excel макрос

Skip to content

Как быстро заполнить пустые ячейки в Excel?

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

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

Таким образом, мой ответ — «Заполнить». А теперь посмотрим, как это сделать.

  • Как быстро выделить пустые ячейки
  • Заполняем значениями сверху или снизу при помощи формулы
  • Как заменить пустые ячейки нулями либо произвольными значениями
  • Используем простой макрос VBA
  • Как быстро заполнить пустые ячейки не используя формулы.

Есть разные способы решения этой проблемы. Я покажу вам несколько быстрых и один ОЧЕНЬ быстрый способ заполнить пустые ячейки значениями.

Как выделить пустые ячейки на листах Excel.

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

  1. Выберите столбцы или строки, в которых вы хотите заполнить пустоты.

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

  1. Нажмите Ctrl + G или же F5 для отображения диалогового окна “Перейти”.
  2. Щелкните по кнопке «Выделить».
  3. Выберите «Пустые ячейки».

выделяем ячейки без данных

  1. Далее выберите, что будем выделять. Например, формулы, комментарии, константы, пробелы и т. д.
  1. Установите переключатель «Пустые ячейки» и нажмите «ОК».

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

Формула Excel для заполнения пустых ячеек значениями, стоящими выше / ниже

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

  1. Выделите все незаполненные ячейки, как описано выше.
  2. Нажмите F2 или просто поместите курсор в строку формул, чтобы начать писать формулу в активной ячейке.

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

  1. Введите знак равенства (=).
  2. Наведите курсор на ячейку, находящуюся выше или ниже, с помощью клавиши со стрелкой вверх или вниз или просто кликните по ней мышкой.

заполнить пустые ячейки данными  находящимися выше

Формула (=A2) показывает, что A3 получит значение из A2, и будет заполнена предыдущим значением.

  1. Нажмите Ctrl + Enter, чтобы автоматически вставить формулу сразу во все выделенные позиции.

Ну вот! Теперь каждая выделенная ячейка ссылается на ячейку, находящуюся над ней.

Поэтому рекомендую не останавливаться и сразу после ввода формул заменить их на значения. Выполните следующие простые шаги:

  1. У вас выделены все ячейки с формулами, которые вы только что ввели и хотите преобразовать.
  2. Нажмите Ctrl + C или же Ctrl + Ins, чтобы копировать формулы и их результаты в буфер обмена.
  3. Нажмите Shift + F10 а потом V, чтобы вставить обратно в выделенные позиции только значения.
    Shift + F10 + V — это самый быстрый способ использовать диалог Excel «Специальная вставка».

Заполните пустые ячейки нулями или другим определенным значением

Что, если вам нужно заполнить все пробелы в таблице нулями, любым другим числом или просто одинаковыми данными? Вот два способа решить эту проблему.

Способ 1.

  1. Выделите пустые ячейки, как мы уже делали.
  2. Нажмите F2 для активации режима редактирования в строке формул. Или просто кликните туда мышкой.
  3. Введите желаемое число или текст.
  4. Нажмите Ctrl + Enter.

Несколько секунд — и все пустые ячейки одинаково заполнены введенным вами словом, символом либо нулями при необходимости.

Способ 2.

  1. Выделите диапазон с пустыми ячейками.
  2. Нажмите Ctrl + H для отображения диалогового окна «Найти и заменить». Или используйте меню.
  3. В этом окне перейдите на вкладку «Заменить».
  4. Оставьте поле «Найти» пустым и введите необходимое значение в текстовое поле «Заменить на».
  5. Щелкните » Заменить все».

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

Заполнение пустых ячеек при помощи макроса VBA.

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

Sub Fill_Blanks()
For Each cell In Selection
If IsEmpty(cell) Then cell.Value = cell.Offset(-1, 0).Value
Next cell
End Sub

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

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

Какой бы способ вы ни выбрали, заполнение таблицы Excel займет у вас буквально минуту.

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

Если вы не хотите иметь дело с формулами каждый раз, когда заполняете пустоты в вашей таблице, то можете использовать очень полезную надстройку Ultimate Suite для Excel, созданную разработчиками Ablebits. Входящая в неё утилита «Заполнить пустые ячейки» автоматически копирует в пустые клетки таблицы значение из первой заполненной ячейки снизу или сверху. Далее мы рассмотрим, как это работает.

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

Поэтому постараемся привести таблицу к стандартному виду, заполнив все пустоты и разъединив ранее объединенные области.

Перейдите на ленте на вкладку AblebitsTools.

  1. Установите курсор в любую ячейку таблицы, в которой вам нужно заполнить пустые ячейки.
  2. Щелкните значок «Заполнить пустые ячейки (Fill Blank Cells)».

На экране появится окно надстройки, в котором перечислены все столбцы и указаны параметры заполнения.

  1. Снимите отметку со столбцов, в которых нет пустых ячеек.
  2. Выберите действие из раскрывающегося списка в правом нижнем углу окна.

Если вы хотите заполнить пустые поля значением из ячейки, находящейся выше, выберите параметр «Заполнить ячейки вниз (Fill cells downwards)». Если вы хотите скопировать содержимое из ячейки ниже, выберите в этом же выпадающем списке «Заполнить ячейки вверх (Fill cells upwards)». В нашем случае выбираем заполнение вниз.

  1. Нажмите кнопку Заполнить (Fill).

Готово!  :)

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

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

Проверьте это! Загрузите полнофункциональную пробную версию надстройки Fill Blank Cells и посмотрите, как она может сэкономить вам много времени и сил.

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

Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать основные функции диаграммы Ганта, покажу…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы знаете все о маркере заполнения,…
Проверка данных в Excel: как сделать, использовать и убрать Мы рассмотрим, как выполнять проверку данных в Excel: создавать правила проверки для чисел, дат или текстовых значений, создавать списки проверки данных, копировать проверку данных в другие ячейки, находить недопустимые записи, исправлять и удалять проверку данных.…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых столбцов в Excel не может…
Как полностью или частично зафиксировать ячейку в формуле При написании формулы Excel знак $ в ссылке на ячейку сбивает с толку многих пользователей. Но объяснение очень простое: это всего лишь способ ее зафиксировать. Знак доллара в данном случае служит только одной цели — он указывает,…
Чем отличается абсолютная, относительная и смешанная адресация Важность ссылки на ячейки Excel трудно переоценить. Ссылка включает в себя адрес, из которого вы хотите получить информацию. При этом используются два основных вида адресации – абсолютная и относительная. Они могут применяться в разных комбинациях…
6 способов быстро транспонировать таблицу В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу. В этой статье вы найдете…
4 способа быстро убрать перенос строки в ячейках Excel В этом совете вы найдете 4 совета для удаления символа переноса строки из ячеек Excel. Вы также узнаете, как заменять разрывы строк другими символами. Все решения работают с Excel 2019, 2016, 2013 и более ранними версиями. Перенос…

Автозаполнение ячеек в заданном диапазоне с помощью метода Range.AutoFill. Синтаксис, параметры, примеры автозаполнения из кода VBA Excel.

Определение

Определение метода Range.AutoFill:

AutoFill — это метод объекта Range, который выполняет автозаполнение ячеек в указанном диапазоне.

Синтаксис

Синтаксис метода Range.AutoFill:

Expression.AutoFill (Destination, Type)

Expression — выражение (переменная), возвращающее объект Range.

Параметры

Параметры метода Range.AutoFill:

Параметр Описание
Destination Диапазон ячеек, который необходимо заполнить. В него должен быть включен исходный диапазон (Expression). Обязательный параметр.
Type Константа из коллекции XlAutoFillType, задающая тип автозаполнения. Необязательный параметр.

Константа из коллекции XlAutoFillType указывает, как должен быть заполнен целевой диапазон (Destination) в зависимости от содержимого диапазона исходных данных (Expression). По умолчанию используется константа xlFillDefault (0), когда приложение Excel само определяет значения и форматы, используемые для заполнения целевого диапазона.

Примеры с Range.AutoFill

Примеры автозаполнения целевых диапазонов из кода VBA Excel с помощью метода AutoFill объекта Range.

Пример 1

Автозаполнение указанного диапазона (Destination), состоящего из нескольких строк и столбцов, данными одной ячейки (Expression) в зависимости от ее расположения в целевом диапазоне:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

Sub Primer1()

    ‘Удаляем границы ячеек, если уже были запуски кода

    Range(«A1:E20»).Borders.LineStyle = xlNone

    ‘Ячейка Expression в верхнем левом углу Destination

    Range(«A1») = 111

    Range(«A1»).AutoFill Range(«A1:E5»)

    Range(«A1:E5»).Borders(xlEdgeBottom).LineStyle = True

    ‘Ячейка Expression в нижнем левом углу Destination

    Range(«A10») = 222

    Range(«A10»).AutoFill Range(«A6:E10»)

    Range(«A6:E10»).Borders(xlEdgeBottom).LineStyle = True

    ‘Ячейка Expression в верхнем правом углу Destination

    Range(«E11») = 333

    Range(«E11»).AutoFill Range(«A11:E15»)

    Range(«A11:E15»).Borders(xlEdgeBottom).LineStyle = True

    ‘Ячейка Expression в нижнем правом углу Destination

    Range(«E20») = «444»

    Range(«E20»).AutoFill Range(«A16:E20»)

End Sub

Целевые диапазоны для наглядности разделены горизонтальными линиями. Ячейка (Expression) может находиться только по углам целевого диапазона (Destination), иначе будет сгенерирована ошибка.

Пример 2

Горизонтальное автозаполнение указанного диапазона (Destination) последовательностью чисел, месяцев и дней недели:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Sub Primer2()

    ‘Удаляем границы ячеек, если уже были запуски кода

    Range(«A1:L4»).Borders.LineStyle = xlNone

    ‘Автозаполнение строки единицами

    Range(«A1») = 1

    Range(«A1»).AutoFill Range(«A1:L1»)

    Range(«A1:L1»).Borders(xlEdgeBottom).LineStyle = True

    ‘Автозаполнение строки последовательностью натуральных чисел

    Range(«A2») = 1

    Range(«B2») = 2

    Range(«A2:B2»).AutoFill Range(«A2:L2»)

    Range(«A2:L2»).Borders(xlEdgeBottom).LineStyle = True

    ‘Одновременное заполнение одной строки последовательностью

    ‘месяцев и второй строки — днями недели

    Range(«A3») = «Январь»

    Range(«A4») = «Понедельник»

    Range(«A3:A4»).AutoFill Range(«A3:L4»)

End Sub

Пример 3

Вертикальное автозаполнение указанного диапазона (Destination) последовательностью дат:

Sub Primer3()

    ‘Автозаполнение столбца датами, начиная с текущей

    Range(«A1») = Date

    Range(«A1»).NumberFormat = «DD.MM.YYYY»

    Range(«A1»).AutoFill Range(«A1:A20»)

    ‘Автозаполнение столбца датами в обратном порядке

    Range(«B20») = Date

    Range(«B20»).NumberFormat = «DD.MM.YYYY»

    Range(«B20»).AutoFill Range(«B1:B20»)

End Sub


Заполнение пустых ячеек значениями из соседних ячеек

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

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

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

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

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

fill-blanks3.png

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

fill-blanks4.png

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

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

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

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

Sub Fill_Blanks()
    For Each cell In Selection
        If IsEmpty(cell) Then cell.Value = cell.Offset(-1, 0).Value
    Next cell
End Sub

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

Для удобства, можно назначить этому макросу сочетание клавиш или даже поместить его в Личную Книгу Макросов (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).

Ссылки по теме

  • Объединение двух столбцов с данными
  • Быстрое выделение всех ячеек с формулами или константами
  • Быстрое заполнение пустых ячеек макросом из надстройки PLEX

I am trying to use macro recorder in Excel to record a macro to fill down a column of cells, however because the fill down each time is a different number of cells it either fills down to short or too long and this seems to be because the macro identifies the cell range and its fixed.

Is there anyway that I can get it to fill down to the last populated neighbouring cell. E.g. AutoFill down column E until it reaches the last populated row in column D. I have looked at some examples on here but the code all looks very different so not sure if it can be done with macro recorder or I have to get someone to write some code or is it something that has to be done manually?

This is the code that I have in the macro.

ActiveCell.FormulaR1C1 = _
        "=IF(MONTH(RC[-1])>3,"" ""&YEAR(RC[-1])&""-""&RIGHT(YEAR(RC[-1])+1,2),"" ""&YEAR(RC[-1])-1&""-""&RIGHT(YEAR(RC[-1]),2))"
    Selection.AutoFill Destination:=Range("E2:E1344")
    'Selection.AutoFill Destination:=Range("E2:E1344")
    Range("E2:E1344").Select

If anyone can help i’d be extremely grateful

pnuts's user avatar

pnuts

58k11 gold badges85 silver badges137 bronze badges

asked Aug 28, 2013 at 12:38

user2725363's user avatar

Untested….but should work.

Dim lastrow as long

lastrow = range("D65000").end(xlup).Row

ActiveCell.FormulaR1C1 = _
        "=IF(MONTH(RC[-1])>3,"" ""&YEAR(RC[-1])&""-""&RIGHT(YEAR(RC[-1])+1,2),"" ""&YEAR(RC[-1])-1&""-""&RIGHT(YEAR(RC[-1]),2))"
    Selection.AutoFill Destination:=Range("E2:E" & lastrow)
    'Selection.AutoFill Destination:=Range("E2:E"& lastrow)
    Range("E2:E1344").Select

Only exception being are you sure your Autofill code is perfect…

answered Aug 28, 2013 at 12:46

Vasim's user avatar

VasimVasim

3,0123 gold badges34 silver badges56 bronze badges

3

This example shows you how to fill column B based on the the volume of data in Column A. Adjust «A1» accordingly to your needs. It will fill in column B based on the formula in B1.

Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown

answered Aug 28, 2013 at 12:49

xQbert's user avatar

xQbertxQbert

34.5k2 gold badges40 silver badges62 bronze badges

2

ActiveCell.Offset(0, -1).Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown

answered Aug 13, 2014 at 16:17

chris gagnon's user avatar

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

Например, вы хотите применить формулу только к каждой второй или третьей строке при перетаскивании вниз до автозаполнения. Или, может быть, вы хотите заполнить все пробелы на листе. Эта статья покажет вам пять наиболее эффективных способов автоматизации заполнения столбцов.

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

Вы просто щелкаете и удерживаете мышь в правом нижнем углу ячейки и перетаскиваете ее вниз, чтобы применить формулу из этой ячейки к каждой ячейке под ней (аналогично копированию формул в Excel ).

В случае, когда первая ячейка представляет собой просто число, а не формулу, Excel просто автоматически заполняет ячейки, считая вверх на единицу.

Однако что, если вы не хотите применять формулу автозаполнения Excel к каждой ячейке под ней? Например, что, если вы хотите, чтобы каждая вторая ячейка автоматически заполняла и объединяла имя и фамилию, но вы хотите оставить адресные строки нетронутыми?

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

Вы можете сделать это, немного изменив процедуру автозаполнения. Вместо того, чтобы нажимать на первую ячейку и затем перетаскивать ее из правого нижнего угла, вы вместо этого выделите первые две ячейки. Затем поместите мышь в нижний правый угол двух ячеек, пока курсор не изменится на « + ».

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

Excel больше не заполняет автоматически каждую ячейку на основе первой ячейки, а теперь заполняет только каждую вторую ячейку в каждом блоке.

Как обрабатываются другие клетки

Что, если эти вторые ячейки не пустые? Что ж, в этом случае Excel будет применять те же правила во второй ячейке первого блока, который вы выделили, и ко всем остальным ячейкам.

Например, если во второй ячейке стоит «1», Excel автоматически заполнит все остальные ячейки, считая на 1.

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

2. Автозаполнение до конца данных в Microsoft Excel

Одна вещь, с которой люди часто сталкиваются при работе с листами Excel в корпоративной среде, – это большие листы.

Достаточно просто перетащить курсор мыши сверху вниз для набора из 100–200 строк, чтобы заполнить этот столбец автоматически. Но что, если на самом деле в электронной таблице 10 000 или 20 000 строк? Перетаскивание курсора мыши вниз через 20 000 строк займет много времени.

Есть простой способ сделать это более эффективным. Вот как автоматически заполнять большие области в Excel. Вместо того, чтобы перетаскивать столбец вниз, просто удерживайте клавишу Shift на клавиатуре.

Теперь вы заметите, что когда вы наводите указатель мыши на правый нижний угол ячейки, вместо значка плюса это значок с двумя горизонтальными параллельными линиями.

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

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

3. Заполните пустые поля.

Представьте, что вам было поручено очистить электронную таблицу Excel, и ваш начальник хочет, чтобы вы применили определенную формулу к каждой пустой ячейке в столбце.

Вы не можете увидеть какой-либо предсказуемый шаблон, поэтому вы не можете использовать описанный выше трюк с автозаполнением «все остальные x». Кроме того, такой подход уничтожит все существующие данные в столбце. Что ты можешь сделать?

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

На листе выше ваш босс хочет, чтобы вы заполнили любую пустую ячейку строкой «N / A». На листе, состоящем всего из нескольких строк, это будет простой ручной процесс. Но на листе с тысячами строк на это у вас уйдет целый день.

Так что не делайте этого вручную. Просто выберите все данные в столбце. Затем перейдите в главное меню, щелкните значок « Найти и выбрать» , затем выберите « Перейти к специальному» .

В следующем окне выберите Бланки .

В следующем окне вы можете ввести формулу в первую пустую ячейку. В этом случае вы просто наберете N / A, а затем нажмите Ctrl + Enter, чтобы то же самое применилось к каждой найденной пустой ячейке.

Если вы хотите, вместо «N / A» вы можете ввести формулу в первую пустую ячейку (или щелкнуть предыдущее значение, чтобы использовать формулу из ячейки чуть выше пустой).

Когда вы нажимаете Ctrl + Enter , он применяет ту же формулу ко всем другим пустым ячейкам. Очистка беспорядочной электронной таблицы с помощью этой функции может быть довольно быстрой и простой.

4. Заполнить макросом предыдущего значения

Этот последний трюк на самом деле требует нескольких шагов. Вам нужно щелкнуть несколько пунктов меню, а уменьшение количества кликов – вот в чем суть повышения эффективности, верно?

Итак, давайте сделаем еще один шаг к этому последнему трюку. Давайте автоматизируем это с помощью макроса. Следующий макрос будет в основном искать в столбце и проверять наличие пустой ячейки. Если поле пусто, оно скопирует значение или формулу из ячейки над ним.

Чтобы создать макрос, щелкните пункт меню « Разработчик» и щелкните значок « Макросы» .

Назовите макрос и нажмите кнопку « Создать макрос». Откроется окно редактора кода. Вставьте следующий код в новую функцию.

 FirstColumn = InputBox("Please enter the column letter.")
FirstRow = InputBox("Please enter the row number.")
LastRow = Range(FirstColumn & "65536").End(xlUp).Row
For i = FirstRow To LastRow
If Range(FirstColumn & i).Value = "" Then
Range(FirstColumn & (i - 1)).Copy Range(FirstColumn & i)
End If
Next i

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

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

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

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

5. Макрос итерационных вычислений

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

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

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

 FirstColumn = InputBox("Please enter the column letter.")
FirstRow = InputBox("Please enter the first row number.")
LastRow = InputBox("Please enter the last row number.")
For i = FirstRow To LastRow
Range(FirstColumn & i).Value = 5000 + (Range(FirstColumn & (i - 1)).Value * 0.1)
Next i

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

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

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

Здесь вы можете узнать больше об ошибках, которых следует избегать при создании макросов Excel .

Автозаполнение столбцов Excel очень просто

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

Like this post? Please share to your friends:
  • Автоматическое заполнение столбца excel
  • Автоматическое добавление новой строки excel
  • Автоматическое заполнение путевых листов в excel скачать бесплатно
  • Автоматическое добавление даты в excel
  • Автоматическое заполнение пустых ячеек в excel