Содержание
- Алгоритмы удаления
- Способ 1: выделение групп ячеек
- Способ 2: условное форматирование и фильтрация
- Способ 3: применение сложной формулы
- Вопросы и ответы
При выполнении задач в приложении Excel может наступить необходимость удалить пустые ячейки. Они зачастую являются ненужным элементом и только увеличивают общий массив данных, чем запутывают пользователя. Определим способы, какими можно быстро удалить пустые элементы.
Алгоритмы удаления
Прежде всего, нужно разобраться, а действительно ли можно в конкретном массиве или таблице удалять пустые ячейки? Указанная процедура приводит к смещению данных, а это далеко не всегда является допустимым. По сути, элементы можно удалять только в двух случаях:
- Если строка (столбец) полностью является пустой (в таблицах);
- Если ячейки в строке и столбце логически не связаны друг с другом (в массивах).
Если пустых ячеек мало, то их вполне можно удалить с помощью обычного ручного способа удаления. Но, если таких незаполненных элементов большое количество, то в этом случае, данную процедуру нужно автоматизировать.
Способ 1: выделение групп ячеек
Наиболее простой способ удалить пустые элементы – это воспользоваться инструментом выделения групп ячеек.
- Выделяем диапазон на листе, над которым будем проводить операцию поиска и удаления пустых элементов. Жмем на функциональную клавишу на клавиатуре F5.
- Запускается небольшое окошко, которое называется «Переход». Жмем в нем кнопку «Выделить…».
- Открывается следующее окно – «Выделение групп ячеек». Устанавливаем в нем переключатель в позицию «Пустые ячейки». Выполняем щелчок по кнопке «OK».
- Как видим, все пустые элементы указанного диапазона были выделены. Кликаем по любому из них правой кнопкой мыши. В запустившемся контекстном меню щелкаем по пункту «Удалить…».
- Открывается маленькое окошко, в котором нужно выбрать, что именно следует удалить. Оставляем настройки по умолчанию – «Ячейки, со сдвигом вверх». Жмем на кнопку «OK».
После этих манипуляций все пустые элементы внутри указанного диапазона будут удалены.
Способ 2: условное форматирование и фильтрация
Удалить пустые ячейки можно также путем применения условного форматирования и последующей фильтрации данных. Этот метод сложнее предыдущего, но, тем не менее, некоторые пользователи предпочитают именно его. Кроме того, нужно сразу оговориться, что этот способ подходит только в том случае, если значения находятся в одном столбце и не содержат формулы.
- Выделяем диапазон, который собираемся обрабатывать. Находясь во вкладке «Главная», жмем на пиктограмму «Условное форматирование», которая, в свою очередь, располагается в блоке инструментов «Стили». Переходим в пункт открывшегося списка «Правила выделения ячеек». В появившемся списке действий выбираем позицию «Больше…».
- Открывается окошко условного форматирования. В левое поле вписываем цифру «0». В правом поле выбираем любой цвет, но можно оставить настройки по умолчанию. Щелкаем по кнопке «OK».
- Как видим, все ячейки указанного диапазона, в которых находятся значения, были выделены в выбранный цвет, а пустые остались белыми. Опять выделяем наш диапазон. В этой же вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр», расположенной в группе «Редактирование». В открывшемся меню жмем на кнопку «Фильтр».
- После этих действий, как видим, в верхнем элементе столбца появилась пиктограмма символизирующая фильтр. Жмем на неё. В открывшемся списке переходим в пункт «Сортировка по цвету». Далее в группе «Сортировка по цвету ячейки» выбираем тот цвет, которым произошло выделение в результате условного форматирования.
Можно также сделать немного по-другому. Кликаем по значку фильтрации. В появившемся меню снимаем галочку с позиции «Пустые». После этого щелкаем по кнопке «OK».
- В любом из указанных в предыдущем пункте вариантов пустые элементы будут скрыты. Выделяем диапазон оставшихся ячеек. На вкладке «Главная» в блоке настроек «Буфер обмена» выполняем щелчок по кнопке «Копировать».
- Затем выделяем любую пустую область на том же или на другом листе. Выполняем щелчок правой кнопкой мыши. В появившемся контекстном списке действий в параметрах вставки выбираем пункт «Значения».
- Как видим, произошла вставка данных без сохранения форматирования. Теперь можно удалить первичный диапазон, а на его место вставить тот, который мы получили в ходе вышеописанной процедуры, а можно продолжать работу с данными на новом месте. Тут все уже зависит от конкретных задач и личных приоритетов пользователя.
Урок: Условное форматирование в Excel
Урок: Сортировка и фильтрация данных в Excel
Способ 3: применение сложной формулы
Кроме того, убрать пустые ячейки из массива можно, применив сложную формулу, состоящую из нескольких функций.
- Прежде всего, нам нужно будет дать имя диапазону, который подвергается трансформации. Выделяем область, делаем щелчок правой кнопкой мышки. В активировавшемся меню выбираем пункт «Присвоить имя…».
- Открывается окно присвоения наименования. В поле «Имя» даем любое удобное название. Главное условие – в нем не должно быть пробелов. Для примера мы присвоили диапазону наименование «С_пустыми». Больше никаких изменений в том окне вносить не нужно. Жмем на кнопку «OK».
- Выделяем в любом месте на листе точно такой же по размерам диапазон пустых ячеек. Аналогично кликаем правой кнопкой мыши и, вызвав контекстное меню, переходим по пункту «Присвоить имя…».
- В открывшемся окне, как и в предыдущий раз, присваиваем любое наименование данной области. Мы решили дать ей название «Без_пустых».
- Выделяем двойным щелчком левой кнопки мышки первую ячейку условного диапазона «Без_пустых» (у вас он может назваться и по-другому). Вставляем в неё формулу следующего типа:
=ЕСЛИ(СТРОКА()-СТРОКА(Без_пустых)+1>ЧСТРОК(С_пустыми)-СЧИТАТЬПУСТОТЫ(С_пустыми);"";ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(С_пустыми "";СТРОКА(С_пустыми);СТРОКА()+ЧСТРОК(С_пустыми)));СТРОКА()-СТРОКА(Без_пустых)+1);СТОЛБЕЦ(С_пустыми);4)))
Так как это формула массива, то для выведения расчета на экран нужно нажать комбинацию клавиш Ctrl+Shift+Enter, вместо обычного нажатия кнопки Enter.
- Но, как видим, заполнилась только одна ячейка. Для того, чтобы заполнились и остальные, нужно скопировать формулу на оставшуюся часть диапазона. Это можно сделать с помощью маркера заполнения. Устанавливаем курсор в нижний правый угол ячейки, содержащей комплексную функцию. Курсор должен преобразоваться в крестик. Зажимаем левую кнопку мыши и тянем его вниз до самого конца диапазона «Без_пустых».
- Как видим, после этого действия мы имеем диапазон, в котором подряд расположены заполненные ячейки. Но выполнять различные действия с этими данными мы не сможем, так как они связаны формулой массива. Выделяем весь диапазон «Без_пустых». Жмем на кнопку «Копировать», которая размещена во вкладке «Главная» в блоке инструментов «Буфер обмена».
- После этого выделяем первоначальный массив данных. Щелкаем правой кнопкой мыши. В открывшемся списке в группе «Параметры вставки» жмем на пиктограмму «Значения».
- После этих действий данные будут вставлены в изначальную область своего расположения цельным диапазоном без пустых ячеек. При желании массив, который содержит формулу, теперь можно удалить.
Урок: Как присвоить имя ячейке в Excel
Существует несколько способов удаления пустых элементов в Microsoft Excel. Вариант с выделением групп ячеек наиболее простой и быстрый. Но ситуации бывают разные. Поэтому, как дополнительные способы, можно использовать варианты с фильтрованием и применением комплексной формулы.
Еще статьи по данной теме:
Помогла ли Вам статья?
Удаление пустых ячеек из диапазона
Постановка задачи
Имеем диапазон ячеек с данными, в котором есть пустые ячейки:
Задача — удалить пустые ячейки, оставив только ячейки с информацией.
Способ 1. Грубо и быстро
- Выделяем исходный диапазон
- Жмем клавишу F5, далее кнопка Выделить (Special). В открывшмся окне выбираем Пустые ячейки (Blanks) и жмем ОК.
Выделяются все пустые ячейки в диапазоне.
- Даем в меню команду на удаление выделенных ячеек: правой кнопкой мыши — Удалить ячейки (Delete Cells) со сдвигом вверх.
Способ 2. Формула массива
Для упрощения дадим нашим рабочим диапазонам имена, используя Диспетчер Имен (Name Manager) на вкладке Формулы (Formulas) или — в Excel 2003 и старше — меню Вставка — Имя — Присвоить (Insert — Name — Define)
Диапазону B3:B10 даем имя ЕстьПустые, диапазону D3:D10 — НетПустых. Диапазоны должны быть строго одного размера, а расположены могут быть где угодно относительно друг друга.
Теперь выделим первую ячейку второго диапазона (D3) и введем в нее такую страшноватую формулу:
=ЕСЛИ(СТРОКА()-СТРОКА(НетПустых)+1>ЧСТРОК(ЕстьПустые)-СЧИТАТЬПУСТОТЫ(ЕстьПустые);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(ЕстьПустые<>»»;СТРОКА(ЕстьПустые);СТРОКА()+ЧСТРОК(ЕстьПустые)));СТРОКА()-СТРОКА(НетПустых)+1);СТОЛБЕЦ(ЕстьПустые);4)))
В английской версии это будет:
=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. Чтобы использовать эту функцию в нашем примере:
- Выделите достаточный диапазон пустых ячеек, например F3:F10.
- Идем в меню Вставка — Функция (Insert — Function) или жмем на кнопку Вставить функцию (Insert Function) на вкладке Формулы (Formulas) в новых версиях Excel. В категории Определенные пользователем (User Defined) выберите нашу функцию NoBlanks.
- В качестве аргумента функции укажите исходный диапазон с пустотами (B3:B10) и нажмите Ctrl+Shift+Enter, чтобы ввести функцию как формулу массива.
Ссылки по теме:
- Удаление сразу всех пустых строк в таблице простым макросом
- Удаление сразу всех пустых строк на листе с помощью надстройки PLEX
- Быстрое заполнение всех пустых ячеек
- Что такое макросы, куда вставлять код макросов на VBA
Skip to content
В этом руководстве вы узнаете, как правильно и безопасно удалять пустые ячейки в таблицах Excel, чтобы они выглядели четкими и профессиональными.
Пустые ячейки – это неплохо, если вы намеренно оставляете их в нужных местах по эстетическим соображениям. Но в неправильных местах, они, безусловно, нежелательны. К счастью, есть относительно простой способ удалить пустоты в таблицах Excel, и сейчас вы узнаете все подробности этого метода.
- Самый простой способ — используем стандартные инструменты.
- Когда не следует удалять пустые ячейки?
- 5 способов избавиться от пустых ячеек при помощи формул.
- Как удалить пустые ячейки ниже и правее таблицы с данными?
Удалить пустые ячейки в Excel очень просто. Однако этот подход применим не во всех ситуациях. О возможных неприятных неожиданностях мы расскажем в этой статье. Чтобы обезопасить себя, обязательно сделайте резервную копию своего рабочего листа и прочтите эти предостережения, прежде чем действовать.
Удаляем пустые ячейки стандартными инструментами Excel.
Ну а теперь, когда вы предупреждены о возможных неприятных последствиях:
- Выберите диапазон, в котором вы хотите убрать пустоты. Чтобы быстро выбрать всю таблицу с данными, щелкните верхнюю левую позицию и затем нажмите
Ctrl + Shift + End
. Это сразу расширит выделение до последней использованной клетки. - Нажмите F5 и щелкните Выделить… . Или перейдите на вкладку «Главная» и нажмите Найти…> Выделить группу ячеек.
- В диалоговом окне выберите «Пустые ячейки» и нажмите ОК. Это выделит все незаполненные позиции в вашем диапазоне.
- Щелкните правой кнопкой мыши на выделенном и выберите Удалить… из контекстного меню:
- В зависимости от макета ваших данных выберите сдвиг влево или вверх и нажмите кнопку «ОК». В этом примере мы используем второй вариант.
Вот и все. Вы успешно удалили пустоты в своей таблице:
Примечание. Если что-то пошло не так, не паникуйте и сразу нажмите Ctrl + Z
, чтобы вернуть свои данные в исходное состояние.
Думаю, вы понимаете, что такой метод подходит для перечней данных, в которых нет формул. Ведь ссылки в формулах в результате таких действий скорее всего поломаются, и вы получите искаженные данные либо вовсе ошибки.
Когда не следует удалять пустые ячейки.
Техника, описанная выше, отлично подходит для одного столбца или строки. Он также может успешно удалять пустые клетки в диапазоне независимых строк или столбцов, как в приведенном выше примере. Однако это может нанести ущерб данным, которые связаны друг с другом при помощи формул. Чтобы этого не произошло, будьте очень осторожны при удалении пробелов в рабочих листах и помните о следующих предостережениях:
- Удаляйте пустые строки и столбцы вместо отдельных ячеек.
Если ваши данные организованы в виде таблицы, в которой элементы содержат связанную информацию, удаление отдельных пустых ячеек с большой вероятностью приведет к искажению данных. В этом случае следует удалять только незадействованные строки и столбцы целиком. Рекомендуем ознакомится с рекомендациями, как можно и как нельзя удалять пустые строки в Excel.
- Удаление не работает для таблиц Excel.
Невозможно удалить отдельные ячейки в таблице Excel (но не в диапазоне данных). Вам разрешено удалять только целые строки таблицы. Или вы можете сначала преобразовать таблицу в диапазон, а затем заняться удалением.
- Вашими действиями могут быть повреждены формулы и именованные диапазоны.
Формулы Excel могут адаптироваться ко многим изменениям, внесенным в данные, которые они используют. Многим, но не всем. В некоторых случаях формулы, ссылающиеся на удалённые вами ячейки, перестают работать. Поэтому после удаления незаполненных ячеек взгляните внимательно на соответствующие формулы и именованные диапазоны, чтобы убедиться, что они работают нормально.
Как извлечь список данных без пустот.
Этот метод удобен, когда вы создаете собственный список или раскрывающийся список проверки данных и хотите убедиться, что в нем нет пустот.
Итак, наш список находится в диапазоне A2:A12. Причем, в A4 записано пустое значение «». Рассмотрим 5 методов, при помощи которых мы попытаемся избавиться от пустых ячеек и сформировать в нужном нам месте новый список без пробелов.
Способ 1.
Введите приведенную ниже формулу массива в C2, нажмите Ctrl + Shift + Enter
, чтобы заполнить ее правильно, а затем скопируйте формулу в еще несколько ячеек вниз по столбцу. Количество ячеек, в которые вы копируете формулу, должно быть не меньше, чем количество элементов в вашем исходном списке.
Формулы для извлечения заполненных позиций:
=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$12; НАИМЕНЬШИЙ(ЕСЛИ(НЕ(ЕПУСТО($A$2:$A$12)); СТРОКА($A$1:$A$11);»»); СТРОКА(A1)));»»)
Обратите внимание, что диапазон в функции СТРОКА($A$1:$A$11) должен всегда начинаться с $A$1. И включать в себя он должен столько же позиций, сколько их в нашей области поиска. Иначе говоря, если в $A$2:$A$12 — 11 позиций, значит столько же их нужно указать и в $A$1:$A$11.
На скриншоте ниже показан результат:
Сразу отметим, что пустые значения «» здесь не исключаются из списка.
Сложную, на первый взгляд, логику формулы легко понять при ближайшем ее рассмотрении.
Итак, наша задача: вернуть первое значение, которое встретится в диапазоне A2:A12. В случае ошибки возвращаем пустоту («»).
Для вдумчивых пользователей Excel, которым интересно разбираться в деталях каждой новой формулы, вот пошаговое описание:
У вас есть функция ИНДЕКС, возвращающая значение из $A$2:$A$12 на основе порядкового номера строки (не реального номера, а относительного номера в этом диапазоне). При этом нам нужно учесть еще 2 вещи:
- Убедиться, что A2 не пустая
- Вернуть второе непустое значение в C3, третье непустое значение в C4 и так далее.
Обе эти задачи выполняются функцией НАИМЕНЬШИЙ:
НАИМЕНЬШИЙ(ЕСЛИ(НЕ(ЕПУСТО($A$2:$A$12)); СТРОКА($A$1:$A$11);»»); СТРОКА(A1)))
В нашем случае аргумент массива генерируется динамически следующим образом:
- НЕ(ЕПУСТО($A$2:$A$12)) определяет, какие позиции в целевом диапазоне заполнены, и для них возвращается ИСТИНА, в противном случае — ЛОЖЬ. Результирующий массив ИСТИНА и ЛОЖЬ проходит логическую проверку функции ЕСЛИ.
- ЕСЛИ оценивает каждый элемент массива ИСТИНА / ЛОЖЬ и возвращает соответствующий номер позиции для ИСТИНА, и ничего — для ЛОЖЬ:
В результате мы получаем массив {1; 2; «»; 4; «»; “”; 7; 8; «»; 10; 11} и наша сложная функция преобразуется:
НАИМЕНЬШИЙ({1; 2; «»; 4; «»; “”; 7; 8; «»; 10; 11}; СТРОКА(A1))
Как видите, аргумент массива содержит только номера непустых ячеек (заметьте, это относительные положения элементов в массиве, т.е. A2 – имеет порядковый номер 1, A3 — это 2 и так далее).
Во втором аргументе мы имеем СТРОКА(A1), что указывает функции НАИМЕНЬШИЙ вернуть самое маленькое число. Из-за использования относительной ссылки номер увеличивается с шагом 1 при копировании формулы вниз. Итак, в C3 формула вернет номер второй по величине минимальный номер заполненной позиции в диапазоне (то есть, 2) и так далее.
Однако на самом деле нам не нужны номера позиций, а нужны их значения. Итак, мы вкладываем функцию НАИМЕНЬШИЙ в аргумент функции ИНДЕКС, заставляя возвращать значение из соответствующей позиции в диапазоне.
В качестве последнего штриха мы заключаем всю конструкцию в функцию ЕСЛИОШИБКА, чтобы заменить ошибки пустотами. Ошибки будут неизбежны, потому что вы не можете заранее знать, сколько непустых ячеек находится в целевом диапазоне, и копируете формулу вниз по столбцу в заведомо большее количество ячеек, чем это необходимо.
Способ 2.
Если нужно избавиться и от пустых ячеек, и от пустых значений, то можно использовать приведённую ниже формулу массива.
=ЕСЛИ(СТРОКА() -СТРОКА($C$2:$C$12)+1>ЧСТРОК($A$2:$A$12) -СЧИТАТЬПУСТОТЫ($A$2:$A$12);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ($A$2:$A$12<>»»;СТРОКА($A$2:$A$12);СТРОКА()+ЧСТРОК($A$2:$A$12)+1));СТРОКА() -СТРОКА($C$2:$C$12)+1);СТОЛБЕЦ($A$2:$A$12);4)))
Как и в предыдущем случае, вы вводите выражение в первую позицию вашей области с результатами, а затем копируете вниз по столбцу, насколько это необходимо.
Естественно, не забываем ввод заканчивать комбинацией Ctrl + Shift + Enter
.
Недостатком здесь является то, что нужно точно указывать размеры исходного и результирующего диапазонов. Причем, с абсолютными ссылками.
Способ 3.
Это тоже формула массива. Но, в отличие от предыдущих двух, ее нужно вводить сразу в диапазон. Если основываться на наших условных данных, то выделяем при помощи мыши диапазон C2:C12, а затем в строку формул записываем следующее выражение:
=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$12;НАИМЕНЬШИЙ(ЕСЛИ($D$1<>$A$2:$A$12;СТРОКА(ДВССЫЛ(«1:»&ЧСТРОК($A$2:$A$12)));»»);СТРОКА(ДВССЫЛ(«1:»&ЧСТРОК($A$2:$A$12)))));»»)
Естественно, заканчиваем всё нажатием Ctrl + Shift + Enter
.
Еще одной особенностью этого метода является то, что мы сравниваем каждую позицию с эталоном — с совершенно пустой ячейкой. В нашей формуле это D1.
Сравниваем значение D1 с каждым элементом исходного диапазона $A$2:$A$12.
СТРОКА(ДВССЫЛ(«1:»&ЧСТРОК($A$2:$A$12))))) — счетчик массива от первого до его последнего элемента.
При помощи функции ИНДЕКС выводим только непустые элементы.
При сравнении ячейки с нулями и нулевой длиной приравниваются к пустым.
НАИМЕНЬШИЙ позволяет выводить значения по порядку — с 1 до конца массива.
Способ 4.
Несомненным достоинством трёх описанных выше формул является то, то не нужно вносить никаких дополнительных изменений в данные, делать какие-то промежуточные расчеты.
Однако, формулы массива с большими объемами данных работают довольно медленно. А на особо больших массивах в несколько тысяч строк Эксель и вовсе может «зависнуть». Поэтому в таких случаях проще и быстрее будет создать на листе дополнительный столбец для промежуточных вычислений. Зато быстродействие вырастет многократно.
Создаем дополнительный столбец А. В нем будем нумеровать непустые ячейки.
Для этого проверяем выполнение 2 условий:
- ячейка в столбце В непустая,
- она не равна 0.
=ЕСЛИ((B3<>»»)+(B3<>0)=2;СЧЁТ(A$2:A2)+1;»»)
Если условия выполнены, считаем количество чисел, находящихся в этом столбце выше текущей позиции, и увеличиваем результат на 1 (своего рода счётчик). То есть, записываем, какая по счету непустая позиция найдена. Если же клетка в столбце В пустая, то ставим «».
Копируем эту формулу вниз по столбцу. Получаем последовательную нумерацию непустых ячеек.
Переходим ко второму шагу. Функция ВПР (VLOOKUP) последовательно ищет значения начиная с 1 в столбце А и выводит соответствующие им значения из В.
=ЕСЛИОШИБКА(ВПР(СТРОКА(A1);A$3:B$16;2;0);»»)
Для получения последовательности чисел используем СТРОКА().
Копируем формулу вниз, получаем список без пустот. Работает такая конструкция быстро, независимо от количества данных. Да и сами формулы просты и вполне доступны для понимания, в отличие от формул массива. Так что можете взять на вооружение и этот способ.
Способ 5.
Предвидя то, что многим может не понравиться торчащий на самом виду вспомогательный столбец А с цифрами, предлагаю еще один метод избавления от пустых ячеек. Здесь мы используем так называемый «левый ВПР». Поэтому вспомогательный столбец можно размещать в любом месте, где он не будет мешать. Чтобы не портить внешний вид вашей таблицы, можно использовать любой другой столбец, находящийся правее (например — Z). Мы же используем B для наглядности результатов.
В позиции B2 записываем вспомогательную формулу
=ЕСЛИ(A2<>$D$1;1;»»)
D1 будет служить нам эталоном как абсолютно пустая. Последовательно сравниваем столбец А с ней. При этом игнорируются нули, а также содержимое нулевой длины «».
В С2 записываем:
=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$21;ПОИСКПОЗ(СТРОКА(1:1);$B$2:$B$21;0);1);»»)
При помощи ПОИСКПОЗ ищем в столбце B порядковые номера от 1 и далее, и функцией ИНДЕКС выводим соответствующее значение из столбца A. В результате в столбце С мы избавились от пустых ячеек в списке. При этом исходные данные мы не меняли, чем гарантировали себя от возможных ошибок.
Как удалить пустые ячейки после последней позиции с данными.
Пустые ячейки, содержащие форматирование или непечатаемые символы, могут вызвать множество проблем в Excel. Например, вы можете получить гораздо больший размер файла, чем необходимо, или напечатать несколько чистых страниц. Чтобы избежать этих проблем, мы удалим (или очистим) пустые строки и столбцы, содержащие форматирование, пробелы или неизвестные невидимые символы.
Как найти последнюю использованную ячейку на листе
Чтобы перейти к последней ячейке на листе, содержащей данные или форматирование, щелкните в любом месте вашей таблицы и нажмите Ctrl + End
.
Если в результате этого действия выбрана последняя ячейка с вашими данными, это означает, что оставшиеся строки и столбцы действительно не используются и никаких дополнительных манипуляций не требуется.
Но если вы оказались в визуально пустой клетке, знайте, что Excel не считает её таковой. Это может быть простой пробел, созданный случайным нажатием клавиши, пользовательский формат чисел, установленный для неё, или непечатаемый символ, импортированный из внешней базы данных. Какой бы ни была причина, она не пуста.
Как удалить ячейки после последней позиции с данными.
Чтобы очистить все содержимое и форматирование после последней заполненной ячейки, выполните следующие действия:
- Щелкните заголовок первого незаполненного столбца справа от вашей таблицы и нажмите
Ctrl + Shift + End
. Это позволит выбрать диапазон справа между вашими данными и последней использованной позицией на листе. - На вкладке «Главная» нажмите «Очистить». Или щелкните на выделении правой кнопкой мыши и выберите Удалить.
- Щелкните заголовок первой чистой строчки под данными и нажмите
Ctrl + Shift + End
. - Выполните те же действия, которые выполнялись в п.2.
- Нажмите
Ctrl + S
, чтобы сохранить книгу.
Проверьте используемый диапазон, чтобы убедиться, что он теперь содержит только ячейки с данными и без пробелов. Когда вы снова откроете файл, последняя использованная ячейка должна быть последней заполненной.
Если у вас есть небольшая рабочая область на листе и много ненужных чистых строк и столбцов, вы можете скрыть неиспользуемые строки следующим образом:
- Выберите строчку под последней позицией с данными (чтобы выделить её целиком, щелкните заголовок).
- Нажмите
Ctrl + Shift + ↓
(стрелка вниз), чтобы расширить выделение до нижней части листа. - Нажмите
Ctrl + 9
, чтобы скрыть выбранные строки.
Думаю, это лучше, чем удалять ненужные строки, поскольку их в любой момент можно вернуть обратно.
Подобным же образом вы скрываете неиспользуемые столбцы:
- Выберите чистый столбец после последнего столбца с данными.
- Нажмите
Ctrl + Shift + →
(стрелка вправо), чтобы выделить все остальные неиспользуемые столбцы до конца листа. - Нажмите
Ctrl + 0
, чтобы скрыть выбранные колонки. Готово!
Если позже вы решите отобразить все ячейки, выберите весь лист (можно при помощи Ctrl + A
), затем нажмите Ctrl + Shift + 9
, чтобы показать все строки, и Ctrl + Shift + 0
, чтобы показать все столбцы.
Вот как вы можете избавиться от пустых ячеек в Excel. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
На чтение 6 мин Опубликовано 26.12.2020
При переносе таблицы с внешнего источника в Excel зачастую возникают ситуации со смещением ячеек с информацией и образованием пустот. При использовании формул дальнейшая работа невозможна. В связи с этим возникает вопрос: каким образом можно быстро удалить пустые ячейки?
Содержание
- Случаи, в которых возможно удаление незаполненных ячеек
- Решение 1: удаляем выделением группы ячеек
- Решение 2: применяем фильтрацию и условное форматирование
- Решение 3: применяем формулу
- Заключение
Случаи, в которых возможно удаление незаполненных ячеек
При проведении операции может происходить смещение данных, что не желательно. Удаление производится только в некоторых случаях, к примеру:
- Во всей строке или столбце нет никакой информации.
- Между ячейками нет логической связи.
Классический метод удаления пустот – по одному элементу. Такой метод возможен, если работать с участками, нуждающимися в незначительной корректировке. Наличие большого количества пустых ячеек, ведет к необходимости воспользоваться пакетным методом удаления.
Решение 1: удаляем выделением группы ячеек
Проще всего воспользоваться специальным инструментом выделения групп ячеек. Процесс выполнения:
- Выделите проблемную зону, где скопились пустые ячейки, после нажмите клавишу F5.
- Экран должен открыть следующее командное окно. Нажмите на интерактивную кнопку «Выделить».
- Программа откроет еще одно окно. Выбираем «Пустые ячейки». Ставим галочку и нажимаем «ОК».
- Происходит автоматическое выделение незаполненных мест. Нажатие ПКМ по любой безинформационной области активирует открытие окна, где необходимо нажать «Удалить».
- Далее откроется «Удаление ячеек». Ставим галочку возле «Ячейки со сдвигом вверх». Соглашаемся нажатием кнопки «ОК».
- В результате, программа произведет автоматическое удаление нуждающихся в корректировке мест.
- Для снятия выделения кликните ЛКМ в любом месте таблицы.
Примечание! Метод удаления со сдвигом выбирается лишь в случаях, когда после области выделения нет строк, несущих какую-либо информацию.
Решение 2: применяем фильтрацию и условное форматирование
Данный способ более сложен, поэтому, прежде чем приступить к выполнению, рекомендуется предварительно ознакомиться с подробным планом выполнения каждого действия.
Внимание! Основной минус данного метода заключается в том, что его применяют для работы с одним столбцом, где не содержатся формулы.
Рассмотрим последовательное описание фильтрации данных:
- Выделяем область одного столбца. Отыскиваем на панели инструментов пункт «Редактирование». Нажав на него, появится окно со списком настроек. Переходим во вкладку «Сортировка и фильтр».
- Выбираем фильтр и активируем ЛКМ.
- В результате активируется верхняя ячейка. Сбоку появится значок в форме квадрата со стрелкой вниз. Это говорит о возможности открытия окна с дополнительными функциями.
- Нажимаем на кнопку и в открывшейся вкладке убираем галочку напротив позиции «(Пустые)», щелкаем «ОК».
- После проделанных манипуляций в столбце останутся исключительно заполненные ячейки.
Совет от эксперта! Удаление пустот при помощи фильтрации подходит лишь в случае, если вокруг нет заполненных ячеек, иначе при выполнении данного способа, все данные будут потеряны.
Теперь разберем, как произвести условное форматирование совместно с фильтрацией:
- Для этого произведите выделение проблемной зоны и, найдя на панели инструментов «Стили», активируем кнопку «Условное форматирование».
- В открывшемся окне находим строку «Больше» и переходим по данной ссылке.
- Далее в появившемся окне в левом поле вписываем значение «0». В правом поле выбираем понравившийся вариант цветовой заливки или оставляем стандартные значения. Кликаем «ОК». В итоге все ячейки с информацией окрасятся в выбранный вами цвет.
- В случае снятия программой ранее выполненного выделения проводим его повторно и включаем инструмент «Фильтр». Наводим курсор на значение «Фильтр по цвету ячейки» или по шрифту и активируем одно из положений.
- В результате останутся исключительно ячейки, окрашенные цветом, а следовательно, заполненные данными.
- Повторно выделяем окрашенную цветом зону и находим в верхней части панели инструментов кнопку «Копировать», нажимаем ее. Она представлена двумя листами, наложенными друг на друга.
- Выбрав другую область на этом листе, проводим еще одно выделение.
- Щелчком ПКМ открываем меню, где находим «Значения». Значок представлен в виде планшета с цифровым перечислением 123, нажимаем.
Примечание! При выделении зоны необходимо, чтобы верхняя часть располагалась ниже нижней строки выделенного цветом списка.
- По итогу скопированные данные переносятся без применения цветового фильтра.
Дальнейшая работа с данными может производится по месту или с переносом ее в другую область листа.
Решение 3: применяем формулу
Удаление пустых ячеек таблицы таким методом имеет некоторые сложности и потому пользуется меньшей популярностью. Сложность заключается в использовании формулы, которую необходимо хранить в отдельном файле. Разберем процесс по порядку:
- Выделяем диапазон ячеек, нуждающихся в корректировке.
- Затем кликаем ПКМ и находим команду «Присвоить имя». Присваиваем имя выделенному столбцу, жмем «ОК».
- В любом месте на листе выбираем свободную зону, которая соответствовует размеру области, где проводится корректировка. Кликаем ПКМ и вводим другое имя.
- После необходимо активировать самую верхнюю ячейку свободной области и вписать в нее формулу: =ЕСЛИ(СТРОКА()-СТРОКА(Корректировка)+1>ЧСТРОК(Фамилии)-СЧИТАТЬПУСТОТЫ(Фамилии);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(Фамилии <>»»;СТРОКА(Фамилии);СТРОКА()+ЧСТРОК(Фамилии)));СТРОКА()-СТРОКА(Корректировка)+1);СТОЛБЕЦ(Фамилии);4))).
Примечание! Имена для областей выбираются произвольно. В нашем примере это «Фамилии» и «Корректировка».
- Как только данные формулы будут введены, нажимаем сочетание клавиш «Ctrl+Shift+Enter». Это необходимо, потому как в формуле имеются массивы.
Растягиваем верхнюю ячейку вниз до границ ранее определенной области. Должен отобразится столбец с перенесенными данными, но уже без пустых ячеек.
Заключение
Удаление пустых ячеек возможно несколькими методами, каждый из них отличается уровнем сложности, благодаря чему как неопытный, так и продвинутый пользователь табличного процессора сможет выбрать наиболее подходящий для себя вариант.
Оцените качество статьи. Нам важно ваше мнение:
Во время работы в Эксель периодически требуется убрать из таблицы незаполненные ячейки, чтобы освободить место для важной информации, представить ее в более компактном и информативном виде. Давайте посмотрим, каким образом это можно сделать.
Содержание
- Возможность и методы удаления
- Метод 1: простое выделение и удаление
- Метод 2: фильтр и условное форматирование
- Метод 3: использование формулы
- Заключение
Возможность и методы удаления
Для начала нужно выяснить, существует ли в принципе такая возможность, как удаление пустых ячеек в выбранном диапазоне данных (таблице), и подобрать оптимальный способ для реализации этой операции. Например, при простом выделении и удалении будет происходить смещение ячеек, что в некоторых случаях нежелательно или, и вовсе, недопустимо. В целом, удалить пустые ячейки проще всего при следующих условиях:
- Весь столбец (строка) не заполнен;
- Элементы в столбце (строке) не взаимосвязаны.
Когда незаполненных ячеек не так много, их удаление можно выполнить вручную. Однако в случаях, когда приходится иметь дело с большим количеством элементов, временные затраты нужно минимизировать, в чем поможет автоматизация процесса.
Метод 1: простое выделение и удаление
Данный метод, пожалуй, можно считать самым простым. Вот, что мы делаем:
- Любым удобным способом производим выделение области, в которой нам нужно найти и удалить все незаполненные ячейки. После того, как выделение выполнено, нажимаем клавишу F5.
- На экране отобразится окно перехода, в котором щелкаем “Выделить”.
- Мы окажемся в окне выделения групп ячеек. Здесь среди все вариантов выбираем “пустые ячейки”, поставив напротив отметку, после чего жмем OK.
- В нашем диапазоне будут отмечены все пустые ячейки. Щелчком правой кнопки мыши по любому их них открываем меню, в котором выбираем команду “Удалить”.
- В появившемся окне останавливаемся на варианте “ячейки, со сдвигом вверх” и нажимаем OK.
- В результате выполненных действий мы удалили все пустые ячейки, находящиеся в выделенной области.
- Кликаем по любому элементу на листе, чтобы снять выделение.
Примечание: удаление со сдвигом вверх можно выбирать в только в тех случаях, когда внизу выделенной области нет строк с заполненными данными (как минимум, должно быть столько же свободных строк, сколько содержится в выделенном диапазоне).
Метод 2: фильтр и условное форматирование
Этот метод несколько сложнее рассмотренного выше и предполагает применение фильтра или условного форматирования с дальнейшей фильтрацией (сортировкой) данных. Однако тут есть один нюанс – его можно применять только для работы с одним столбцом, в котором, к тому же, нет формул.
Фильтрация данных:
- Для начала нужно любым удобным способом выделить нужную область ячеек. Затем в главной вкладке в блоке инструментов “Редактирование” щелкаем по значку “Сортировка и фильтр”. В раскрывшемся перечне выбираем пункт “Фильтр”.
- Внутри самой верхней ячейки выделенного диапазона появится характерный значок фильтра в виде небольшого квадрата с треугольником, направленным вниз. Щелкаем по нему. Откроется меню, в котором убираем галочку напротив пункта “Пустые” и жмем OK.
- В таблице останутся только ячейки, содержащие какие-либо данные.
Условное форматирование и фильтрация:
- Выполняем выделение диапазона ячеек. В главной вкладке в группе инструментов “Стили” нажимаем кнопку “Условное форматирование”. В раскрывшемся перечне останавливаемся на варианте “Правила выделения ячеек”, затем – выбираем “Больше”.
- На экране отобразится окно форматирования:
- Ко всем заполненным ячейкам будет применена цветовая схема, которую мы выбрали, в то время, как заливка пустых ячеек не изменилась. Повторно выделяем тот же самый диапазон (если выделение было снято) и включаем “Фильтр”.
- Кликаем по значку фильтра, в открывшемся меню наводим указатель мыши на строку “Фильтр по цвету”, после чего откроется еще одно подменю, где останавливаемся на варианте “Фильтр по цвету ячейки” или “Фильтр по цвету шрифта” (в данном случае, это неважно).
- В результате, из всего выделенного диапазона мы оставили только заполненные ячейки.
Независимо от того, каким из способов выше мы воспользовались (фильтр или условное форматирование с последующей фильтрацией), дальнейшие шаги следующие:
- Нажимаем кнопку “Копировать” в группе инструментов “Буфер обмена” (вкладка “Главная”).
- На этом же (или другом) листе отмечаем соразмерный диапазон, затем щелчком правой кнопки мыши по нему раскрываем меню, в котором кликаем по варианту вставки – “Значения” (значок в виде папки с цифрами 123). Тут есть один нюанс – выделять нужно диапазон, который располагается ниже самой нижней строки области с первоначальными данными.
- Нам удалось вставить данные (без первоначального форматирования ячеек). Мы можем продолжить работу с ними здесь или перенести (скопировать) в любое другое удобное место.
Сортировка вместо фильтрации:
В данном случае, мы выполняем те же самые шаги, что и при условном форматировании. Но вместо фильтра теперь выбираем “Сортировку по цвету”.
В отличие от фильтрации, переносить данные никуда не нужно, так как порядок строк не нарушен. Все, что требуется – это удалить пустые строки в выделенном диапазоне.
Метод 3: использование формулы
Этот метод, вряд ли, пользуется большой популярностью у пользователей Эксель, но мы, все же, о нем расскажем. В данном случае будем использовать формулу, которая состоит из нескольких функций.
- Для начала нужно задать имя диапазону ячеек, с которым планируем работать. Для этого выделяем его, затем кликаем по нему правой кнопкой мыши и в контекстном меню выбираем команду “Присвоить имя”.
- В окне создания имени в поле “Имя” указываем любое название (без пробелов). Остальные поля оставляем без изменений и нажимаем OK.
- В любом свободном месте производим выделение соразмерного диапазона ячеек (для удобства, если возможно, лучше это сделать в тех же строках другого столбца). Затем также в контекстном меню, вызываемом щелчком правой кнопки мыши по нему, выбираем пункт “Присвоить имя”.
- Как и для первого диапазона, задаем имя (в нашем случае – “Без_пустых_ячеек”).
- Встаем в самую верхнюю ячейку диапазона “Без_пустых_ячеек” (в нашем случае – это D2) и пишем в нее следующую формулу:
=ЕСЛИ(СТРОКА()-СТРОКА(Без_пустых_ячеек)+1>ЧСТРОК(Диапазон_с_пустыми_ячейками)
СЧИТАТЬПУСТОТЫ(Диапазон_с_пустыми_ячейками);"";ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(Диапазон_с_пустыми_ячейками
<>"";СТРОКА(Диапазон_с_пустыми_ячейками);СТРОКА()+ЧСТРОК(Диапазон_с_пустыми_ячейками)));СТРОКА()-
СТРОКА(Без_пустых_ячеек)+1);СТОЛБЕЦ(Диапазон_с_пустыми_ячейками);4))).
Примечание: в данном случае указаны имена диапазонов, заданные нами. Вам нужно заменить их на свои названия. - Когда все готово, жмем сочетание клавиш Ctrl+Shift+Enter, так как это формула, содержащая массивы. Результат отобразится в выбранной ячейке. В строке формул мы увидим перед знаком “равно” символ “{“. Это означает, что мы все сделали правильно.
- Теперь нужно растянуть формулу на другие ячейки. Для этого наводим указатель мыши на правый нижний угол ячейки с результатом. Когда появится Маркер заполнения (черный плюсик), зажав левую кнопку мыши тянем его до последней строки диапазона “Без_пустых_ячеек”.
- Мы получим столбец, в котором подряд расположились значения из ячеек исходного “Диапазона_с_пустыми_ячейками”.
- Чтобы в дальнейшем иметь возможность работать с этими данными, не снимая выделение (или повторно выделив этот диапазон), щелкаем по нему правой кнопкой мыши и выбираем команду “Копировать” в открывшемся контекстном меню (или можно просто нажать комбинацию Ctrl+C).
- В любом другом месте листа отмечаем соразмерный диапазон ячеек (например, в первоначальном месте), кликом правой кнопки мыши по выделенной области вызываем меню, в котором выбираем вариант вставки – “Значения”.
- Столбец с формулами нам больше не нужен. Щелкаем по его обозначению на горизонтальной панели координат правой кнопкой мыши и в открывшемся контекстном меню выбираем команду “Удалить”.
- В результате проделанных действий мы получили тот же самый столбец, но уже без пустых ячеек.
Заключение
Таким образом, удалить пустые ячейки в Эксель можно разными методами. Самый простой вариант – сначала выделить их с помощью специального инструмента, затем – удалить. Однако данный способ не всегда применим, и тогда можно воспользоваться фильтром данных, условным форматированием с дальнейшей фильтрацией или сортировкой. Также для удаления пустых ячеек можно использовать сложную формулу, однако этот метод, не слишком популярен среди пользователей Excel.