Как удалить пустой столбец в таблице excel

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

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

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

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

  2. Выберите Конструктор > Размер таблицы.

    Использование команды "Размер таблицы" на вкладке "Работа с таблицами"

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

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

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

    Совет: Вы также можете нажать кнопку Свернуть диалоговое Изображение кнопки , чтобы временно скрыть диалоговое окно «Избавьтесь от таблицы», выбрать диапазон на этом сайте, а затем нажать кнопку Развернуть Изображение кнопки.

  4. Выделив диапазон, который нужно включить в таблицу, нажмите клавишу ОК.

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

Ввод данных   

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Наведите указатель мыши на пункт Вставить и выберите команду Строки таблицы выше или Столбцы таблицы слева, чтобы вставить новую строку или столбец соответственно.

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

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

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

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

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

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

  1. Выделите строки или столбцы таблицы, которые требуется удалить.

    Можно просто выделить одну или несколько ячеек в строках или столбцах таблицы, которые требуется удалить.

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

    Изображение ленты Excel

    Вы также можете щелкнуть правой кнопкой мыши одну или несколько строк или столбцов, в меню ярлыка нажать кнопку Удалить, а затем — Столбцы таблицы или Строки таблицы. Можно также щелкнуть правой кнопкой мыши одну или несколько ячеек в строке или столбце таблицы, нажать кнопку Удалить ищелкнуть Строки таблицы или Столбцы таблицы.

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

  1. Щелкните любое место таблицы.

    Откроется окно Работа с таблицами и вкладка Конструктор.

  2. На вкладке Конструктор в группе Сервис выберите команду Удалить дубликаты.

    Изображение ленты Excel

  3. В диалоговом окне Удалить дубликаты в группе Столбцы выберите столбцы, содержащие дубликаты, которые требуется удалить.

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

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

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

  2. Щелкните стрелку Стрелка раскрывающегося списка фильтра в заглавной области столбца.

  3. Чтобы выполнить отбор пустых ячеек, в меню «Автофильтр» в верхней части списка значений снимите флажок (Выделить все), а в нижней части установите флажок (Пустые).

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

  4. Выделите пустые строки в таблице и нажмите клавиши CTRL+- (дефис).

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

  1. Вы выберите таблицу, а затем выберите конструктор > Таблица.

  2. При необходимости настройли диапазон ячеек, который содержит таблица, и выберите ОК.

    Изменение размера диалогового окна "Таблица"

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Объединение двух или нескольких таблиц

Создание таблицы Excel на листе

Использование структурированных ссылок в формулах таблиц Excel

Форматирование таблицы Excel

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

Skip to content

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

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

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

Итак, как мы будем решать проблему удаления пустых столбцов?

  • Способ 1 — быстрый, но неправильный.
  • Способ 2 — макрос VBA.
  • Способ 3 — используем формулы.
  • Способ 4 — самый быстрый, одной кнопкой.
  • Почему не удаляются пустые столбцы?

Быстрый, но неправильный способ удалить пустые столбцы.

Когда дело доходит до удаления пустот в таблице в Excel (будь то пустые ячейки, строки или столбцы), многие пользователи полагаются на команду Найти и выделитьНикогда не делайте этого на своих листах!

Этот метод ( Найти и выделить > Группу ячеек > Пустые ) находит и выбирает все пустые ячейки в диапазоне:

Если теперь щелкнуть выделенные ячейки правой кнопкой мыши и выбрать «Удалить» > « Весь столбец», то все колонки, содержащие хотя бы одну пустую ячейку, будут потеряны! Если вы сделали это случайно, нажмите Ctrl + Z , чтобы вернуть все на место.

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

Как удалить пустые столбцы в Excel с помощью VBA

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

Приведенный ниже макрос VBA удаляет все пустые столбцы в выбранном диапазоне. И делает это безопасно — удаляются только абсолютно пустые. Если столбец содержит значение хотя бы в одной ячейке, пусть даже пустую строку (“”), возвращаемую какой-либо формулой, то он останется на листе.

Public Sub DeleteEmptyColumns()
Dim SourceRange As Range
Dim EntireColumn As Range

On Error Resume Next
Set SourceRange = Application.InputBox( _
    "Select a range:", "Delete Empty Columns", _
    Application.Selection.Address, Type:=8)

If Not (SourceRange Is Nothing) Then
    Application.ScreenUpdating = False
    For i = SourceRange.Columns.Count To 1 Step -1
        Set EntireColumn = SourceRange.Cells(1, i).EntireColumn
        If Application.WorksheetFunction.CountA(EntireColumn) = 0 Then
            EntireColumn.Delete
        End If
    Next
    Application.ScreenUpdating = True
End If

End Sub

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

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

Вот пошаговая инструкция, чтобы добавить макрос в ваш файл Excel:

  1. Нажмите Alt + F11 , чтобы открыть редактор Visual Basic.
  2. В строке меню щелкните Вставить > Модуль (Insert > Module).
  3. Вставьте приведенный выше код в появившееся окно. Нажмите иконку дискеты и сохраните проект.
  4. Если окно модуля еще открыто, то нажмите F5 для запуска макроса. В последующем для вызова программы используйте комбинацию Alt+F8.
  5. Когда появится всплывающее диалоговое окно, переключитесь на интересующий рабочий лист, выберите нужный диапазон и нажмите OK:

Пустые колонки в выбранном диапазоне будут удалены:

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

Удаление пустых столбцов в Excel с помощью формул.

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

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

Сохранив резервную копию в надежном месте, выполните следующие действия:

Шаг 1. Вставьте новую строку.

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

Шаг 2. Найдите пустые столбцы.

В самой левой ячейке только что добавленной строки введите следующую формулу:

=СЧЁТЗ(A2:A1048576)=0

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

Логика формулы очень проста: СЧЁТЗ проверяет количество пустых ячеек в столбце, от строки 2 до строки 1048576, что является максимумом числа строк в Excel 2019–2007. Вы сравниваете это число с нулем и в результате получаете ИСТИНА в пустых и ЛОЖЬ там, где имеется хотя бы одна непустая ячейка. Благодаря использованию относительных ссылок формула правильно настраивается для каждого столбца, в который она скопирована.

Если вы настраиваете лист для кого-то другого, вы можете пометить их более явным и понятным образом. Нет проблем, это легко сделать с помощью функции ЕСЛИ, примерно так:

=ЕСЛИ(СЧЁТЗ(A2:A1048576)=0;»Пусто»;»Не пусто»)

Теперь формула явным образом указывает, какие колонки пусты, а какие нет:

По сравнению с макросом этот метод дает больше гибкости в отношении того, какие колонки следует считать пустыми. В этом примере мы проверяем всю таблицу, включая строку заголовка. Это означает, что если столбец содержит только заголовок, то он не считается пустым и не удаляется. Если вы хотите проверять только строки данных, игнорируя заголовки, исключите строку (строки) заголовка из целевого диапазона. В результате он будет, к примеру,  A3: A1048576. Имеющий заголовок, но не содержащий других данных, будет считаться пустым и посему подлежит удалению. 

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

Шаг 3. Удалите пустые столбцы.

Теперь вы можете просто выбрать те колонки, у которых в первой строке записано «Пусто» (чтобы выбрать сразу несколько, удерживайте Ctrl , нажимая на их буквы). Затем щелкните правой кнопкой мыши на любом из выделенных столбцов и укажите команду «Удалить» в контекстном меню:

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

  1. Выберите верхнюю строку с формулами, перейдите на вкладку «Данные» > группу « Сортировка и фильтр » и нажмите кнопку «Сортировка» .
  2. В появившемся диалоговом окне с предупреждением выберите «Развернуть выделение» и нажмите «Сортировать…».

  1. Откроется диалоговое окно «Сортировка», в котором вы нажмете кнопку «Параметры…», выберите «столбцы диапазона» и нажмите «ОК» .

  1. Настройте только один уровень сортировки, как показано ниже, и нажмите ОК:
    • Сортировать по: Строка 1
    • Сортировка: значения ячеек
    • Порядок: от А до Я

В результате пустые колонки будут перемещены в правую часть вашего рабочего листа, в конец таблицы:

Если вы выберете порядок сортировки от Я до А, то переместите их в левую чсть вашего листа, в начало.

  1. Выберите все пустые столбцы в конце таблицы. Для этого щелкните букву первого из них, нажмите Shift, а затем кликните на букву последнего.
  2. Щелкните правой кнопкой мыши на выделенном и выберите пункт «Удалить» во всплывающем меню.

Выполнено! Вы избавились от пустых столбцов, и теперь нет ничего, что могло бы помешать вам удалить верхнюю строку с формулами.

Самый быстрый способ удалить пустые столбцы в Excel.

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

На вашем листе переключитесь на вкладку AblebitsTools, нажмите Delete Blanks и выберите Пустые столбцы (Empty Columns):

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

Нажмите ОК, и через мгновение все незаполненные колонки исчезнут!

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

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

Удаление пробелов – это лишь одна из десятков замечательных функций, которые могут облегчить вам жизнь пользователя Excel. Чтобы узнать больше, вы можете загрузить пробную версию  невероятно функциональной программы Ultimate Suite for Excel.

Пустые столбцы не удаляются! Почему?

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

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

Чтобы определить виновника, выберите первую ячейку в проблемном месте и нажмите Ctrl + стрелка вниз. И вы сразу же переместитесь к первой непустой ячейке. Например, столбец B на скриншоте ниже не является пустым из-за символа пробела в B6:

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

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

Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге снова!

Deleting blank columns and rows is a tedious task when you are working with a large set of data. And manual deletion is not even an option. In this article, you’ll learn to delete the blank columns in excel in some simple steps using Excel built-in tool named Go To Special. It is a quick and easy way to remove the blank columns. While this makes it a simple alternative to implement, be aware that it may cause your document to become misaligned. Always save a backup copy of your document before you start deleting cells to be safe. 

There are two ways to delete the blank columns in excel:

  1. Manual selection and deletion
  2. Deleting columns using Go To in-built tool from excel

Note: The tutorial is for Microsoft Excel 2013. You may find the same or different steps in other Microsoft Excel versions. 

Deleting blank columns in Excel using manual selection and deletion

We can delete blank columns in Excel using manual selection and deletion. This method works with all types of data but it is time taking, here I would suggest to use this method only when your data is less. If you have a large number of columns to delete then move on to the second method. Now we understand this method with the help of an example. So consider the example

Selected Data to delete columns

Step 1: Select the blank columns, to select the blank columns press Shift and press the down arrow to the row upto you want to select the column. 

Select-the-blank-columns

Step 2: Then right-click on the selected column. A drop-down will appear (as shown below). Select the Delete button. The selected column will be deleted.

Select-the-Delete-button

Repeat the same steps for all the blank columns left in the required worksheet and delete them.

Deleting blank columns in Excel using Go To

We can also be deleting blank columns in MS Excel using Go To. So follow the following steps:

Step 1: Open the required Excel where you want to delete the blank columns.

Step 2: Select all the data by selecting the required rows and columns and press F5 from the keyboard. A dialogue box will appear(as shown below) and select Special. The special feature allows users to select all that has matching criteria as selected such as blanks, numbers, formulas. 

Select-all-the-data Go-To-dialogue-box

Step 3: After selecting special, a window (as shown below) will appear. Click on Blanks (as shown) and then select OK. This operation will select all the blank columns from the selected data.

Go-to-special

Step 4: Then go to the Home tab>Cells Group>Delete i.e go to the Home tab and in the Cells group click on Delete(as shown below). The delete will help to delete the selected row, column, cell, and entire sheet.

Cells-Group

Step 5: After selecting Delete a drop-down will appear (as shown in the image). Select Delete Cells.

Delete-cells-dialogue-box

Step 6: After selecting Delete Cells, a pop-up window will appear(as shown below). Select Shift cells left. This option will shift all the leftover cells left after deleting the blank columns. Click OK.

Delete-Cells-options

All the blank columns from the selected range will be deleted.

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

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

Давайте рассмотрим несколько способов решения этой задачи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Выделим ячейку А2 и включим фильтр командой Данные — Фильтр (Data — Filter) или сочетанием клавиш Ctrl+Shift+L.
  3. Отфильтруем по вычисленному столбцу нули, т.е. все строки, где нет данных.
  4. Осталось выделить отфильтрованные строки и удалить их командой Главная — Удалить -’ Удалить строки с листа (Home — Delete — Delete rows) или сочетанием клавиш Ctrl+минус.
  5. Отключаем фильтр и получаем наши данные без пустых строк.

К сожалению, со столбцами такой трюк уже не проделать – фильтровать по столбцам 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) таблицы

  3. Теперь выполяем обратную операцию — сворачиваем полученную таблицу обратно в двумерную, чтобы вернуть ей исходный вид. Выделяем столбец с месяцами и на вкладке Преобразование выбираем команду Столбец сведения (Transform — Pivot Column). В открывшемся окне в качестве столбца значений выбираем последний (Значение), а в расширенных параметрах — операцию Не агрегировать (Don’t aggregate):

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

  4. Останется выгрузить результат обратно в Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…)

    Результат

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

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

Удаление пустых ячеек в Microsoft Excel

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

Алгоритмы удаления

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

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

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

Способ 1: выделение групп ячеек

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

    Выделяем диапазон на листе, над которым будем проводить операцию поиска и удаления пустых элементов. Жмем на функциональную клавишу на клавиатуре F5.

Запускается небольшое окошко, которое называется «Переход». Жмем в нем кнопку «Выделить…».

Как видим, все пустые элементы указанного диапазона были выделены. Кликаем по любому из них правой кнопкой мыши. В запустившемся контекстном меню щелкаем по пункту «Удалить…».

  • Открывается маленькое окошко, в котором нужно выбрать, что именно следует удалить. Оставляем настройки по умолчанию – «Ячейки, со сдвигом вверх». Жмем на кнопку «OK».
  • После этих манипуляций все пустые элементы внутри указанного диапазона будут удалены.

    Способ 2: условное форматирование и фильтрация

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

      Выделяем диапазон, который собираемся обрабатывать. Находясь во вкладке «Главная», жмем на пиктограмму «Условное форматирование», которая, в свою очередь, располагается в блоке инструментов «Стили». Переходим в пункт открывшегося списка «Правила выделения ячеек». В появившемся списке действий выбираем позицию «Больше…».

    Открывается окошко условного форматирования. В левое поле вписываем цифру «0». В правом поле выбираем любой цвет, но можно оставить настройки по умолчанию. Щелкаем по кнопке «OK».

    Как видим, все ячейки указанного диапазона, в которых находятся значения, были выделены в выбранный цвет, а пустые остались белыми. Опять выделяем наш диапазон. В этой же вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр», расположенной в группе «Редактирование». В открывшемся меню жмем на кнопку «Фильтр».

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

    Можно также сделать немного по-другому. Кликаем по значку фильтрации. В появившемся меню снимаем галочку с позиции «Пустые». После этого щелкаем по кнопке «OK».

    В любом из указанных в предыдущем пункте вариантов пустые элементы будут скрыты. Выделяем диапазон оставшихся ячеек. На вкладке «Главная» в блоке настроек «Буфер обмена» выполняем щелчок по кнопке «Копировать».

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

  • Как видим, произошла вставка данных без сохранения форматирования. Теперь можно удалить первичный диапазон, а на его место вставить тот, который мы получили в ходе вышеописанной процедуры, а можно продолжать работу с данными на новом месте. Тут все уже зависит от конкретных задач и личных приоритетов пользователя.
  • Способ 3: применение сложной формулы

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

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

    Открывается окно присвоения наименования. В поле «Имя» даем любое удобное название. Главное условие – в нем не должно быть пробелов. Для примера мы присвоили диапазону наименование «С_пустыми». Больше никаких изменений в том окне вносить не нужно. Жмем на кнопку «OK».

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

    В открывшемся окне, как и в предыдущий раз, присваиваем любое наименование данной области. Мы решили дать ей название «Без_пустых».

    Выделяем двойным щелчком левой кнопки мышки первую ячейку условного диапазона «Без_пустых» (у вас он может назваться и по-другому). Вставляем в неё формулу следующего типа:

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

    Но, как видим, заполнилась только одна ячейка. Для того, чтобы заполнились и остальные, нужно скопировать формулу на оставшуюся часть диапазона. Это можно сделать с помощью маркера заполнения. Устанавливаем курсор в нижний правый угол ячейки, содержащей комплексную функцию. Курсор должен преобразоваться в крестик. Зажимаем левую кнопку мыши и тянем его вниз до самого конца диапазона «Без_пустых».

    Как видим, после этого действия мы имеем диапазон, в котором подряд расположены заполненные ячейки. Но выполнять различные действия с этими данными мы не сможем, так как они связаны формулой массива. Выделяем весь диапазон «Без_пустых». Жмем на кнопку «Копировать», которая размещена во вкладке «Главная» в блоке инструментов «Буфер обмена».

    После этого выделяем первоначальный массив данных. Щелкаем правой кнопкой мыши. В открывшемся списке в группе «Параметры вставки» жмем на пиктограмму «Значения».

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    5 вариантов, как удалить пустые строки в Excel

    Доброго времени суток друзья!

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

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

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

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

    Сортировка

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

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

    Фильтрация

    Этот способ также является простым и доступным абсолютно любому пользователю. Для применения фильтра на таблицу вам необходимо на вкладке «Главная» в разделе «Редактирование» нажимать кнопку «Сортировка и фильтр» и в открывшемся пункте меню выбираете «Фильтр». После включения фильтра, вам нужно выбрать столбец и в выпадающем меню указать отображение пустых ячеек. Дольше вы выделяете полученные пустые строки и просто-напросто удаляете их.

    Выделение группы ячеек

    Я бы и этот способ причислил к достаточно простым и лёгким. Для применения этого варианта вам нужен инструмент «Выделение группы ячеек». Удалить незаполненые строки возможно в несколько этапов:

    • выделение нужного диапазона;
    • выбираем вкладку «Главная», в блоке «Редактирование», кликаем «Найти и выделить» и в выпадающем меню выбираете «Выделение группы ячеек»;

    • в диалоговом окне, в разделе «Выделить» отмечаем пункт «пустые ячейки»;

    • переходим во вкладку «Главная» и нажимаем кнопку «Ячейки» и выбираем пункт «Удалить»;
    • в диалоговом окне выбираете пункт «удалить ячейки со сдвигом вверх» и все незаполненые строки будут удалены.

    Формула массива

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

    Итак, в чём же состоит этот способ по удалению пустых строк в Excel и как его применять:

    • для большей простоты дадим имена нашим диапазонам, для этого на вкладке «Формулы» нажимаете «Диспетчер имен» и присваиваете для двух диапазонов имена, например для изначальных данных с пустыми ячейками – «Пустые», а для обработанных – «БезПустых». Обязательное условие в том, что диапазоны должны иметь одинаковый результат, но вот размещение этих диапазонов могут и отличатся, это не критично;

    • следующим шагом это введение в первую ячейку второго диапазона формулу:

    =ЕСЛИ( СТРОКА() — СТРОКА (БезПустых) +1> ЧСТРОК( Пустые) — СЧИТАТЬПУСТОТЫ (Пустые);»«; ДВССЫЛ ( АДРЕС (НАИМЕНЬШИЙ ((ЕСЛИ (Пустые <>»»; СТРОКА (Пустые); СТРОКА()+ ЧСТРОК( Пустые))); СТРОКА() — СТРОКА (БезПустых)+1); СТОЛБЕЦ( Пустые);4))). Да я сам знаю, что формула страшная, сам, когда ее увидел, обалдел, тем не менее, она рабочая и исправно выполняет возложенные на нее обязанности;

    • после прописания формулы, вам нужно окончить введение формулы «гарячей» комбинацией клавишCtrl+Shift+Enter, это необходимо для того, что бы формула была введена как формула массива. Теперь используя возможность в Excel как авто заполнение (копирование формулы, протягивая за крестик в углу) вы получили исходный диапазон, но уже без пустых ячеек.

    Макрос

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

    Перейдите во вкладку «Сервис», выберите раздел «Макрос» и нажмите кнопку «Редактор Visual Basic» или нажав ALT+F11 и в появившемся диалоговом окне редактора нажимаем «Insert»«Module». В открывшимся, пустом модуле ставим код:

    • для удаления всех незаполненых рядов в таблице:

    Как удалить пустые столбцы? Программное удаление пустых столбцов макросом VBA

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

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

    Удаление вручную

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

    Удаление при помощи сортировки

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

    Удаление при помощи выделения группы ячеек

    Для того чтобы удалить пустые столбцы в Excel 2007 и 2010 можно воспользоваться возможностью выделения группы ячеек. Для этого выделяем строку, содержащую пустые ячейки, после чего находим на ленте Excel вкладку «Главная», в группе «Редактирование» выбираем кнопку «Найти и выделить» и выбираем пункт «Выделение группы ячеек». В появившемся диалоговом окне «Выделение группы ячеек» включаем опцию «Пустые ячейки» и нажимаем кнопку ОК. В предварительно выделенной строке будут выделены все пустые ячейки. Остается кликнуть правой кнопкой мыши в любом месте выделенного поля и выбрать пункт «Удалить. » в контекстном меню, а в появившемся диалоговом окне «Удаление ячеек» выбрать пункт «Столбец» и нажать ОК. При этом, строго говоря, будут удалены не пустые столбцы, а столбцы, содержащие пустые ячейки в предварительно выделенной строке.

    Нестандартные методы удаления пустых столбцов

    Программное удаление макросом VBA

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

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

    Автоматическое удаление с использованием надстройки

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

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

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

    Удаление столбцов (Power Query)

    Примечание: Надстройка Power Query предлагается в Excel 2016 в виде группы команд Скачать и преобразовать. Информация в этой статье относится и к Power Query, и к новой группе. Дополнительные сведения см. в статье Функция «Скачать и преобразовать» в Excel 2016.

    Если запрос содержит ненужные столбцы, их можно удалить.

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

    С помощью ленты редактора запросов

    Выберите столбец, который вы хотите удалить. Чтобы выделить несколько столбцов, щелкните их, удерживая нажатой клавишу CTRL или SHIFT.

    На ленте редактора запросов нажмите кнопку Удалить столбцы и выберите команду Удалить столбцы. Можно также выбрать команду Удалить другие столбцы, чтобы удалить все столбцы, кроме выделенных.

    С помощью контекстного меню редактора запросов

    Выберите столбец, который вы хотите удалить. Чтобы выделить несколько столбцов, щелкните их, удерживая нажатой клавишу CTRL или SHIFT.

    Щелкните правой кнопкой мыши выделенные столбцы.

    В контекстном меню выберите команду Удалить, чтобы удалить выделенные столбцы, или Удалить другие столбцы, чтобы удалить все столбцы, кроме выделенных.

    Примечание: Редактор запросов отображается только при загрузке, редактировании или создании нового запроса с помощью Power Query. В видео показано окно редактора запросов, которое отображается после изменения запроса в книге Excel. Чтобы просмотреть редактор запросов, не загружая и не изменяя существующий запрос в книге, в разделе Получение внешних данных на вкладке ленты Power Query выберите Из других источников > Пустой запрос. В видео показан один из способов отображения редактора запросов.

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

    Постановка задачи

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

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

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

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

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

  • Даем в меню команду на удаление выделенных ячеек: правой кнопкой мыши Удалить ячейки (Delete Cells) со сдвигом вверх.
  • Способ 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) и скопируйте туда текст этой функции:

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

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

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Как удалить пустой лист в середине документа word
  • Как удалить пустой лист в word целиком
  • Как удалить пустой лист в word в начале документа
  • Как удалить пустой лист word в конце документа
  • Как удалить пустое пространство в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии