Как в экселе удалить пустые строки в столбце
Перейти к содержимому

Как в экселе удалить пустые строки в столбце

  • автор:

Excel: Удаление пустых ячеек из диапазона

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

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

пустые ячейки

Задача — удалить пустые ячейки.

1.Выделяем исходный диапазон

Выделяем исходный диапазон

2. Для Excel 2003

Выбираем в меню команду Правка – Перейти — далее кнопку Выделить

Для Excel 2007 и выше

Выбираем на вкладке Главная команду Найти и выделить и далее Выделение группы ячеек

3. В открывшемся окне Выделение группы ячеек выбираем Пустые ячейки и нажимаем ОК.

Нажать Ок

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

пустые ячейки в диапазоне

4. Удаляем выделенные ячейки (Правка — Удалить ячейки) со сдвигом вверх

Удаляем выделенные ячейки

Удаляем выделенные ячейки

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

Как добавить или удалить строку или столбец в таблице

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

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

Использование команды

  1. Щелкните в любом месте таблицы, чтобы отобразить вкладку Работа с таблицами.
  2. Выберите Конструктор >Размер таблицы.

Изменение размера таблицы

Выделите весь диапазон ячеек, который нужно включить в таблицу, начиная с верхней левой ячейки. В приведенном ниже примере исходная таблица охватывает диапазон A1:C5. После изменения размера с добавлением двух столбцов и трех строк таблица будет включать в себя диапазон A1:E8.

Совет: Вы также можете нажать кнопку Свернуть диалоговое окно

, чтобы временно скрыть диалоговое окно Изменение размера таблицы , выбрать диапазон на листе, а затем нажать кнопку Развернуть диалоговое окно

Другие способы добавления строк и столбцов

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

Ввод данных

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

В приведенном ниже примере добавления строки при вводе значения в ячейку A4 таблица расширяется за счет нее, а также смежной ячейки в столбце B.

Добавление строки путем ввода данных в первой строке под таблицей

В приведенном ниже примере добавления столбца при вводе значения в ячейку C2 таблица расширяется за счет столбца C. Ему присваивается имя «Кв3», так как Excel выявляет закономерность присвоения имен по заголовкам «Кв1» и «Кв2».

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

Вставка данных

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

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

В приведенном ниже примере добавления строк при вставке значений из диапазона A10:B12 в первую строку под таблицей (строка 5) она расширяется за счет вставленных данных.

Расширение таблицы при вставке данных под ее последней строкой

В приведенном ниже примере добавления столбцов при вставке значений из диапазона C7:C9 в первый столбец справа от таблицы (столбец C) она расширяется за счет вставленных данных, а столбцу присваивается заголовок «Кв3».

Расширение таблицы и добавление заголовка при вставке данных в столбцы

Добавление строки с помощью команды «Вставить»

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

Если активна ячейка в последней строке, можно выбрать команду Строки таблицы выше или Строки таблицы ниже.

В приведенном ниже примере новая строка будет вставлена над строкой 3.

Вставка строк таблицы выше

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

В приведенном ниже примере новый столбец будет вставлен слева от столбца 1.

Добавление столбца таблицы

Удаление строк и столбцов таблицы

  1. Выделите строки или столбцы таблицы, которые требуется удалить. Можно просто выделить одну или несколько ячеек в строках или столбцах таблицы, которые требуется удалить.
  2. На вкладке Главная в группе Ячейки, щелкните стрелку рядом с кнопкой Удалить, а затем выберите команду Удалить строки таблицы или Удалить столбцы таблицы.

Удаление одинаковых строк из таблицы

Дубликаты удаляются из таблицы также легко, как и из любых выбранных данных в приложении Excel.

  1. Щелкните любое место таблицы. Откроется окно Работа с таблицами и вкладка Конструктор.
  2. На вкладке Конструктор в группе Сервис выберите команду Удалить дубликаты.

Примечание: Дубликаты удаляются с листа. Если вы случайно удалили данные, которые вы намеревались сохранить, можно использовать клавиши CTRL+Z или нажать кнопку Отменить

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

Удаление пустых строк из таблицы

  1. Убедитесь, что активная ячейка находится в столбце таблицы.
  2. Щелкните стрелку

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

Таким же образом можно отфильтровать и удалить пустые строки. Дополнительные сведения о том, как отфильтровать пустые строки на листе, см. в статье Фильтрация данных в диапазоне или таблице.

  1. Выберите таблицу, а затем выберите Конструктор таблиц > Изменить размер таблицы.
  2. При необходимости измените диапазон ячеек, содержащихся в таблице, а затем нажмите кнопку ОК.

Изменение размера диалогового окна

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

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

См. также

Facebook

LinkedIn

Электронная почта

Нужна дополнительная помощь?

Нужны дополнительные параметры?

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

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

Удаление пустых строк и столбцов в данных

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

Способ 1. Поиск пустых ячеек

Исходные данные

Это, может, и не самый удобный, но точно самый простой способ вполне достойный упоминания. Предположим, что мы имеем дело вот с такой таблицей, содержащей внутри множество пустых строк и столбцов (для наглядности выделены цветом):

Допустим, мы уверены, что в первом столбце нашей таблицы (колонка B) всегда обязательно присутствует название какого-либо города. Тогда пустые ячейки в этой колонке будут признаком ненужных пустых строк. Чтобы быстро их все удалить делаем следующее:

  1. Выделяем диапазон с городами (B2:B26)
  2. Нажимаем клавишу F5 и затем кнопку Выделить (Go to Special) или выбираем на вкладке Главная — Найти и выделить — Выделить группу ячеек (Home — Find&Select — Go to special) .
  3. В открывшемся окне выбираем опцию Пустые ячейки (Blanks) и жмём ОК – должны выделиться все пустые ячейки в первом столбце нашей таблицы.
  4. Теперь выбираем на вкладке Главная команду Удалить — Удалить строки с листа (Delete — Delete rows) или жмём сочетание клавиш Ctrl + минус — и наша задача решена.

Само-собой, от пустых столбцов можно избавиться совершенно аналогично, взяв за основу шапку таблицы.

Способ 2. Поиск незаполненных строк

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

Взгляните, например, на следующую таблицу — как раз такой случай:

Исходные данные с пустыми ячейками

Здесь подход будет чуть похитрее:

    Введём в ячейку A2 функцию СЧЁТЗ (COUNTA) , которая вычислит количество заполненных ячеек в строке правее и скопируем эту формулу вниз на всю таблицу:

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

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

Способ 3. Макрос удаления всех пустых строк и столбцов на листе

Для автоматизации подобной задачи можно использовать и простой макрос. Нажмите сочетание клавиш Alt + F11 или выберите на вкладке Разработчик — Visual Basic (Developer — Visual Basic Editor) . Если вкладки Разработчик не видно, то можно включить ее через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) .

В открывшемся окне редактора Visual Basic выберите команду меню Insert — Module и в появившийся пустой модуль скопируйте и вставьте следующие строки:

Sub DeleteEmpty() Dim r As Long, rng As Range 'удаляем пустые строки For r = 1 To ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count If Application.CountA(Rows(r)) = 0 Then If rng Is Nothing Then Set rng = Rows(r) Else Set rng = Union(rng, Rows(r)) End If Next r If Not rng Is Nothing Then rng.Delete 'удаляем пустые столбцы Set rng = Nothing For r = 1 To ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count If Application.CountA(Columns(r)) = 0 Then If rng Is Nothing Then Set rng = Columns(r) Else Set rng = Union(rng, Columns(r)) End If Next r If Not rng Is Nothing Then rng.Delete End Sub

Закройте редактор и вернитесь в Excel.

Теперь нажмите сочетание Alt + F8 или кнопку Макросы на вкладке Разработчик. В открывшемся окне будут перечислены все доступные вам в данный момент для запуска макросы, в том числе только что созданный макрос DeleteEmpty. Выберите его и нажмите кнопку Выполнить (Run) — все пустые строки и столбцы на листе будут мгновенно удалены.

Способ 4. Запрос Power Query

Ещё один способ решить нашу задачу и весьма частый сценарий — это удаление пустых строк и столбцов в Power Query.

Сначала давайте загрузим нашу таблицу в редактор запросов Power Query. Можно конвертировать её в динамическую «умную» сочетанием клавиш Ctrl+T или же просто выделить наш диапазон данных и дать ему имя (например Данные) в строке формул, преобразовав в именованный:

Присваиваем имя диапазону данных

Теперь используем команду Данные — Получить данные — Из таблицы/диапазона (Data — Get Data — From table/range) и грузим всё в Power Query:

Загруженные в Power Query данные

Дальше всё просто:

  1. Удаляем пустые строки командой Главная — Сократить строки — Удалить строки — Удалить пустые строки (Home — Remove Rows — Remove empty rows).
  2. Щёлкаем правой кнопкой мыши по заголовку первого столбца Город и выбираем в контекстном меню команду Отменить свёртывание других столбцов (Unpivot Other Columns). Наша таблица будет, как это технически правильно называется, нормализована — преобразована в три столбца: город, месяц и значение с пересечения города и месяца из исходной таблицы. Особенность этой операции в Power Query в том, что она пропускает в исходных данных пустые ячейки, что нам и требуется:

Отмена свертывания (unpivot) таблицы

Сворачиваем обратно

Результат

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

  • Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?
  • Заполнение всех пустых ячеек в списке значениями вышестоящих ячеек
  • Удаление всех пустых ячеек из заданного диапазона
  • Удаление всех пустых строк на листе с помощью надстройки PLEX

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

Имеем диапазон ячеек с данными, в котором есть пустые ячейки: Задача — удалить пустые ячейки, оставив только ячейки с информацией.

Способ 1. Грубо и быстро

  1. Выделяем исходный диапазон
  2. Жмем клавишу F5, далее кнопка Выделить(Special) . В открывшмся окне выбираем Пустые ячейки(Blanks) и жмем ОК.

delete_blanks3.png

Способ 2. Формула массива

Для упрощения дадим нашим рабочим диапазонам имена, используя Диспетчер Имен (Name Manager) на вкладке Формулы (Formulas) или — в Excel 2003 и старше — меню Вставка — Имя — Присвоить (Insert — Name — Define)

Диапазону B3:B10 даем имя ЕстьПустые, диапазону D3:D10 — НетПустых. Диапазоны должны быть строго одного размера, а расположены могут быть где угодно относительно друг друга.

Теперь выделим первую ячейку второго диапазона (D3) и введем в нее такую страшноватую формулу:

В английской версии это будет:
=IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>«»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4)))

Причем ввести ее надо как формулу массива, т.е. после вставки нажать не Enter (как обычно), а Ctrl+Shift+Enter. Теперь формулу можно скопировать вниз, используя автозаполнение (потянуть за черный крестик в правом нижнем углу ячейки) — и мы получим исходный диапазон, но без пустых ячеек:

Способ 3. Пользовательская функция на VBA

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

Для этого откройте редактор Visual Basic (ALT+F11), вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этой функции:

Function NoBlanks(DataRange As Range) As Variant() Dim N As Long Dim N2 As Long Dim Rng As Range Dim MaxCells As Long Dim Result() As Variant Dim R As Long Dim C As Long MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim Result(1 To MaxCells, 1 To 1) For Each Rng In DataRange.Cells If Rng.Value <> vbNullString Then N = N + 1 Result(N, 1) = Rng.Value End If Next Rng For N2 = N + 1 To MaxCells Result(N2, 1) = vbNullString Next N2 If Application.Caller.Rows.Count = 1 Then NoBlanks = Application.Transpose(Result) Else NoBlanks = Result End If End Function

Не забудьте сохранить файл и вернитесь из редактора Visual Basic в Excel. Чтобы использовать эту функцию в нашем примере:

  1. Выделите достаточный диапазон пустых ячеек, например F3:F10.
  2. Идем в меню Вставка — Функция (Insert — Function) или жмем на кнопку Вставить функцию(Insert Function) на вкладке Формулы (Formulas) в новых версиях Excel. В категории Определенные пользователем (User Defined) выберите нашу функцию NoBlanks.
  3. В качестве аргумента функции укажите исходный диапазон с пустотами (B3:B10) и нажмите Ctrl+Shift+Enter, чтобы ввести функцию как формулу массива.

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

  • Удаление сразу всех пустых строк в таблице простым макросом
  • Удаление сразу всех пустых строк на листе с помощью надстройки PLEX
  • Быстрое заполнение всех пустых ячеек
  • Что такое макросы, куда вставлять код макросов на VBA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *