Заполнение пустых ячеек значениями из соседних ячеек
Как известно, для полноценной работы с данными (фильтрации, сортировки, подведения итогов и т.д.) нужен непрерывный список, т.е. таблица без разрывов (пустых строк и ячеек — по возможности). На практике же часто мы имеем как раз таблицы с пропущенными пустыми ячейками — например после копирования результатов сводных таблиц или выгрузок в Excel из внешних программ. Таким образом, возникает необходимость заполнить пустые ячейки таблицы значениями из верхних ячеек, то бишь…
В общем случае, может возникнуть необходимость делать такое заполнение не только вниз, но и вверх, вправо и т.д. Давайте рассмотрим несколько способов реализовать такое.
Способ 1. Без макросов
Выделяем диапазон ячеек в первом столбце, который надо заполнить (в нашем примере, это A1:A12).
Нажимаем клавишу F5 и затем кнопку Выделить (Special) и в появившемся окне выбираем Выделить пустые ячейки (Blanks):
Не снимая выделения, вводим в первую ячейку знак «равно» и щелкаем по предыдущей ячейке или жмём стрелку вверх (т.е. создаем ссылку на предыдущую ячейку, другими словами):
И, наконец, чтобы ввести эту формулу сразу во все выделенные (пустые) ячейки нажимаем 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):
Вот и всё Осталось готовую таблицу выгрузить обратно на лист Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…)
В дальнейшем, при изменении исходной таблицы, можно просто обновлять запрос правой кнопкой мыши или на вкладке Данные — Обновить всё (Data — Refresh All).
Ссылки по теме
- Объединение двух столбцов с данными
- Быстрое выделение всех ячеек с формулами или константами
- Быстрое заполнение пустых ячеек макросом из надстройки PLEX
Большинство из нас может столкнуться с этой проблемой, когда мы копируем список данных, который содержит несколько пустых ячеек, а затем вставляем их в другой столбец, пустые ячейки также будут вставлены. Это очень раздражает, когда нам не нужны пробелы и мы хотим вставить только непустые ячейки. Как в таком случае быстро и удобно копировать и вставлять в Excel только непустые ячейки? Вот несколько быстрых приемов, чтобы решить эту проблему:
Скопируйте и вставьте только непустые ячейки с помощью команды Перейти к специальной
Копируйте и вставляйте только непустые ячейки с помощью функции фильтра
Скопируйте и вставьте только непустые ячейки с формулой массива
Скопируйте и вставьте только непустые ячейки с кодом VBA
Скопируйте и вставьте только непустые ячейки с Kutools for Excel
Скопируйте и вставьте только непустые ячейки с помощью команды Перейти к специальной
Для Перейти к специальному , вы можете сначала выбрать все данные, а затем скопировать и вставить их в другое место.
1. Выберите свой список данных, которые вы хотите использовать.
2. Затем нажмите Главная > Найти и выбрать > Перейти к специальному, см. снимок экрана:
3. В Перейти к специальному диалоговое окно, отметьте Константы вариант, см. снимок экрана:
4. Затем нажмите OK, и в списке выбраны только ячейки значений.
5. А затем скопируйте и вставьте данные в нужное место. И были вставлены только непустые значения ячеек. Смотрите скриншот:
Внимание: Этот метод доступен только для констант, он не применяется к ячейкам формулы.
Копируйте и вставляйте только непустые ячейки с помощью функции фильтра
Наблюдения и советы этой статьи мы подготовили на основании опыта команды Фильтр Функция может помочь вам сначала отфильтровать непустые ячейки, а затем вы можете скопировать и вставить их в другие ячейки по мере необходимости.
2. Нажмите Данные > Фильтр, см. снимок экрана:
3. Затем нажмите кнопку раскрывающегося списка в правом углу ячейки в выбранном списке и снимите флажок Пробелы вариант в раскрывающемся меню. Смотрите скриншот:
4, Затем нажмите OK, все непустые ячейки были отфильтрованы, как показано на следующем снимке экрана:
5. Наконец, вы можете скопировать отфильтрованные данные и вставить их в любое нужное место.
Внимание: Таким образом вступают в силу и значения, и формулы.
Скопируйте и вставьте только непустые ячейки с формулой массива
Чтобы скопировать и вставить только непустые ячейки, вы также можете применить следующую формулу массива.
1. Помимо ваших данных, введите в пустую ячейку следующую формулу:
=LOOKUP(«zzzzz»,CHOOSE({1,2},»»,INDEX(A:A,SMALL(IF($A$1:$A$15<>»»,ROW($A$1:$A$15)),ROWS($B$1:B1)))))
Внимание: В приведенной выше формуле A1: A15 — это список данных, который вы хотите использовать. Вы можете изменить его по своему усмотрению.
2, Затем нажмите Shift + Ctrl + Enter вместе, а затем выберите ячейку B1 и перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу, и все непустые значения ячеек были извлечены. Смотрите скриншот:
3. Поскольку они являются формулами, когда вы копируете их в другое место, вы должны копировать и вставлять их как значения.
Внимание: Эта формула доступна только для констант и не применяется к ячейкам формулы.
Скопируйте и вставьте только непустые ячейки с кодом VBA
Если вас интересует код VBA, вы можете выполнить следующий код, чтобы завершить эту задачу.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: копируйте и вставляйте только непустые ячейки в Excel
Sub PasteNotBlanks()
'Update 20140325
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
If InputRng.Columns.Count > 1 Then
MsgBox "Please select one column."
Exit Sub
End If
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
InputRng.SpecialCells(xlCellTypeConstants).Copy Destination:=OutRng.Range("A1")
End Sub
3, Затем нажмите F5 Нажмите клавишу для запуска этого кода, появится окно с подсказкой, напоминающее вам о выборе диапазона данных, который вы хотите использовать. Смотрите скриншот:
4, Затем нажмите OKпоявится другое окно подсказки, в котором вы сможете выбрать ячейку для ввода данных.
5. Нажмите OK чтобы завершить этот код, и только непустые значения ячеек были вставлены в указанную вами позицию.
Внимание: Этот код доступен только для констант.
Скопируйте и вставьте только непустые ячейки с Kutools for Excel
Есть ли способ намного проще, чем указано выше? Конечно, Kutools for Excel‘s Выбрать непустую ячейкуУтилита s может помочь вам сначала выбрать непустые ячейки, а затем скопировать и вставить их.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите диапазон ячеек и щелкните Кутулс > Выберите > Выбрать непустые ячейки. Смотрите скриншот:
2. Затем выбираются непустые ячейки, нажимаем Ctrl + C чтобы скопировать их, затем выберите ячейку, в которой вы хотите вывести результат, нажмите Ctrl + V для вставки выбранных непустых ячеек. Смотрите скриншот:
Скопируйте и вставьте только непустую ячейку
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Skip to content
В этой статье вы узнаете, как выбрать сразу все пустые ячейки в электронной таблице Excel и заполнить их значением, находящимся выше или ниже, нулями или же любым другим шаблоном.
Заполнять пустоты или нет? Этот вопрос часто касается пустых ячеек в таблицах Excel. С одной стороны, ваша таблица выглядит аккуратнее и читабельнее, если вы не загромождаете ее повторяющимися значениями. С другой стороны, пустые ячейки могут вызвать проблемы при сортировке, фильтрации данных или создании сводной таблицы. В этом случае вам желательно заполнить все поля.
Таким образом, мой ответ — «Заполнить». А теперь посмотрим, как это сделать.
- Как быстро выделить пустые ячейки
- Заполняем значениями сверху или снизу при помощи формулы
- Как заменить пустые ячейки нулями либо произвольными значениями
- Используем простой макрос VBA
- Как быстро заполнить пустые ячейки не используя формулы.
Есть разные способы решения этой проблемы. Я покажу вам несколько быстрых и один ОЧЕНЬ быстрый способ заполнить пустые ячейки значениями.
Как выделить пустые ячейки на листах Excel.
Перед тем, как заполнить пустоты в таблице Excel, сначала нужно их выделить. Если у вас большая таблица с десятками незаполненных областей, разбросанными по ней, то потребуется много времени, чтобы сделать это вручную. Вот быстрый приём для выбора пустых ячеек.
- Выберите столбцы или строки, в которых вы хотите заполнить пустоты.
- Нажмите
Ctrl + G
или жеF5
для отображения диалогового окна “Перейти”. - Щелкните по кнопке «Выделить».
- Выберите «Пустые ячейки».
- Далее выберите, что будем выделять. Например, формулы, комментарии, константы, пробелы и т. д.
- Установите переключатель «Пустые ячейки» и нажмите «ОК».
Теперь выделены только пустые ячейки из выбранного диапазона, и вы готовы к следующему шагу.
Формула Excel для заполнения пустых ячеек значениями, стоящими выше / ниже
Выбрав пустые ячейки в таблице, вы можете заполнить их значениями, стоящими сверху или снизу, или же просто вставить какое-то определенное содержимое.
Если вы собираетесь заполнить пробелы значением из ближайшей заполненной ячейки выше или ниже, вам нужно ввести очень простую формулу в одну из пустых ячеек. Затем просто скопируйте ее во все остальные. Вот как это сделать.
- Выделите все незаполненные ячейки, как описано выше.
- Нажмите
F2
или просто поместите курсор в строку формул, чтобы начать писать формулу в активной ячейке.
Как видно на скриншоте ниже, активная ячейка – A3, то есть по умолчанию это самая левая верхняя из всех незаполненных.
- Введите знак равенства (=).
- Наведите курсор на ячейку, находящуюся выше или ниже, с помощью клавиши со стрелкой вверх или вниз или просто кликните по ней мышкой.
Формула (=A2) показывает, что A3 получит значение из A2, и будет заполнена предыдущим значением.
- Нажмите
Ctrl + Enter
, чтобы автоматически вставить формулу сразу во все выделенные позиции.
Ну вот! Теперь каждая выделенная ячейка ссылается на ячейку, находящуюся над ней.
Поэтому рекомендую не останавливаться и сразу после ввода формул заменить их на значения. Выполните следующие простые шаги:
- У вас выделены все ячейки с формулами, которые вы только что ввели и хотите преобразовать.
- Нажмите
Ctrl + C
или жеCtrl + Ins
, чтобы копировать формулы и их результаты в буфер обмена. - Нажмите
Shift + F10
а потомV
, чтобы вставить обратно в выделенные позиции только значения.Shift + F10 + V
— это самый быстрый способ использовать диалог Excel «Специальная вставка».
Заполните пустые ячейки нулями или другим определенным значением
Что, если вам нужно заполнить все пробелы в таблице нулями, любым другим числом или просто одинаковыми данными? Вот два способа решить эту проблему.
Способ 1.
- Выделите пустые ячейки, как мы уже делали.
- Нажмите
F2
для активации режима редактирования в строке формул. Или просто кликните туда мышкой. - Введите желаемое число или текст.
- Нажмите
Ctrl + Enter
.
Несколько секунд — и все пустые ячейки одинаково заполнены введенным вами словом, символом либо нулями при необходимости.
Способ 2.
- Выделите диапазон с пустыми ячейками.
- Нажмите
Ctrl + H
для отображения диалогового окна «Найти и заменить». Или используйте меню. - В этом окне перейдите на вкладку «Заменить».
- Оставьте поле «Найти» пустым и введите необходимое значение в текстовое поле «Заменить на».
- Щелкните » Заменить все».
Пустые ячейки будут заполнены значением, которое вы указали.
Заполнение пустых ячеек при помощи макроса 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.
- Установите курсор в любую ячейку таблицы, в которой вам нужно заполнить пустые ячейки.
- Щелкните значок «Заполнить пустые ячейки (Fill Blank Cells)».
На экране появится окно надстройки, в котором перечислены все столбцы и указаны параметры заполнения.
- Снимите отметку со столбцов, в которых нет пустых ячеек.
- Выберите действие из раскрывающегося списка в правом нижнем углу окна.
Если вы хотите заполнить пустые поля значением из ячейки, находящейся выше, выберите параметр «Заполнить ячейки вниз (Fill cells downwards)». Если вы хотите скопировать содержимое из ячейки ниже, выберите в этом же выпадающем списке «Заполнить ячейки вверх (Fill cells upwards)». В нашем случае выбираем заполнение вниз.
- Нажмите кнопку Заполнить (Fill).
Готово!
В отличие от рассмотренных выше способов, здесь пустые ячейки заполнены не одним и тем же значением, а разными, которые гораздо больше подходят для ваших данных. Правильное заполнение этой даже такой небольшой таблицы потребовало бы от вас достаточно существенных затрат времени. А надстройка позволяет это сделать буквально в пару кликов.
Помимо заполнения пустых ячеек, этот инструмент также разделил объединенные ячейки. В таком виде таблица вполне пригодна для фильтрации данных, различных подсчетов, формирования сводной таблицы на ее основе.
Проверьте это! Загрузите полнофункциональную пробную версию надстройки Fill Blank Cells и посмотрите, как она может сэкономить вам много времени и сил.
Теперь вы знаете приемы замены пустых ячеек в таблице разными значениями. Я уверен, что вам не составит труда сделать это при помощи любого из рассмотренных способов.
Быстрое копирование из столбца в пустые ячейки другого |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Есть прямоугольная таблица, которая начинается с 3-ей строчки и занимает 8 столбцов (с А по Н).
Столбец А — это номер учетной записи (здесь только числа), B-F — ее характеристики, которые повторяются для нескольких учетных записей подряд, поэтому вводились только при первом появлении (здесь цифры и текст), и два последних столбца G и Н заполнены полностью (текст)
например, строка 3:
А3: 1
B3: характеристика уч.записи-1
C3: характеристика уч.записи-2
D3: характеристика уч.записи-3
E3: характеристика уч.записи-4
F3: характеристика уч.записи-5
G3: заполнен
H3: заполнен
затем строка 4:
А4: пусто (а должно быть скопировано ближайшее значение по столбцу А над этой ячейкой, т.е. «1»)
B4: пусто (а должно быть скопировано ближайшее значение по столбцу В над этой ячейкой, т.е. «характеристика уч.записи-1»)
C4: пусто (а должно быть «характеристика уч.записи-2»)
D4: пусто (и так далее…)
E4: пусто (…)
F4: пусто (…)
G4: заполнен
H4: заполнен
затем строка 5:
А5: 2
B5: пусто (а должно быть скопировано ближайшее значение по столбцу В над этой ячейкой, т.е. «характеристика уч.записи-1»)
C5: пусто (…)
D5: пусто (…)
E5: пусто (…)
F5: пусто (…)
G5: заполнен
H5: заполнен
помогите, пожалуйста!