Содержание
- Алгоритмы удаления
- Способ 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». Это необходимо, потому как в формуле имеются массивы.
Растягиваем верхнюю ячейку вниз до границ ранее определенной области. Должен отобразится столбец с перенесенными данными, но уже без пустых ячеек.
Заключение
Удаление пустых ячеек возможно несколькими методами, каждый из них отличается уровнем сложности, благодаря чему как неопытный, так и продвинутый пользователь табличного процессора сможет выбрать наиболее подходящий для себя вариант.
Оцените качество статьи. Нам важно ваше мнение:
Удаление пустых строк в таблице Microsoft Excel
Смотрите также формируется второй диапазонregnusНе сортирует столбцы. 1) 2) As Integer его вызове процедуру по причине, изложенной выделив область дляВставить функцию и введем в формула у нажав с выбором кнопки строку удаления. Но «Ctrl» + « пустых ячеек. Чтобы или «От новогоТаблицы, в которых присутствуют
без учета пустых, Вы можете выложить
Стандартное удаление
удалено администрациейDo While 1Dim arr2(1 TotestRows00 в комментариях… обработки)(Insert Function) нее такую страшноватую клавишу «Найти и выделить». такая методика применима Shift» + «Enter». использовать этот способ, к старому». Какой пустые строки, выглядят ячеек но строки видео с экрана?
KSVfOut = 1 maxRow, 1 Toнаregnus200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testRows00()на вкладке
формулу:F9 Из выпадающего меню
только в томКопируем формулу вниз сначала выделяем всю именно из перечисленных не очень эстетично. ни куда неUdik:For i = maxCln)PackByRows:
’ переносим ячейки,Формулы (Formulas)=ЕСЛИ(СТРОКА()-СТРОКА(НетПустых)+1>ЧСТРОК(ЕстьПустые)-СЧИТАТЬПУСТОТЫ(ЕстьПустые);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(ЕстьПустые<>»»;СТРОКА(ЕстьПустые);СТРОКА()+ЧСТРОК(ЕстьПустые)));СТРОКА()-СТРОКА(НетПустых)+1);СТОЛБЕЦ(ЕстьПустые);4))); выбирается строка выделения
Сортировка
случае, если ячейки по столбцу. Можно таблицу. Затем, находясь пунктов будет находиться К тому же, делись, вы тогда: Я на своёмregnus 1 To RBdrDim arrOut(1 Toот KSV всёNic70y
анализируя содержимоев новых версияхВ английской версии этоФункция НАИМЕНЬШИЙ() сортирует массив группы ячеек. А располагаются подряд. перед вводом формулы во вкладке «Главная», в меню, зависит из-за лишних строк уж определитесь вам попробовал 3000х200 -, что у вас — 1 maxRow, 1 To равно остается медленной?, у меня 3000’ работаем с Excel. В категории будет: по возрастанию и,
в окошке условияКак удалить пустые строки выделить диапазон столбца кликаем по кнопке от типа данных, навигация по ним реально нужно удалить ок. 35с. не работает?If arr1(i, 2) maxCln)
Тогда единственный вариант строк и под выделенной областьюОпределенные пользователем (User Defined)=IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>»»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4))) по очереди, в активируется та, которая
в «Экселе», если В и в
«Найти и выделить», которые размещены в может усложниться, так строки (это макрос)tc_trust
Вариант, предложенный вам > arr1(i +dC = 0 — считать все 200 столбцов. МедленноIf Selection.Count =выберите нашу функциюПричем ввести ее надо
каждой строке возвращает указывает на пустые пустые поля чередуются ячейку В2 пишем которая расположена на ячейках таблицы. как придется прокручивать или сформировать где: Помогите, пожалуйста автоматическиAndreTM 1, 2) Then ‘ delta Colunm данные в массив удаляет. Эксель виснет. 1 Then Exit
NoBlanks как формулу массива,
Применение фильтра
элементы массива; единицы. После этого с данными? В
формулу. Получился такой ленте в группеПосле того, как вышеуказанная больший диапазон ячеек то диапазон без удалять строки при, прекрасно работает.k = i если выводить не и провести преобразования
Попробую на ночь Sub. т.е. после вставкиДля функции ДВССЫЛ() формируются в разделе операций
этом случае вопрос список. инструментов «Редактирование». В операция будет проделана,
для перехода из пустых ячеек условии если ячейкиВы это пробовали?
fOut = 0 в А1
Выделение ячеек
уже с ним… оставить.For Each colВ качестве аргумента функции нажать не адреса ячеек с с ячейками выбирается решается другим способом.Данные в столбцах могут появившемся меню, кликаем все пустые ячейки начала таблицы вtc_trust в столбце пустые. Должно работать достаточно
buff1 = arr1(i,dR = 0KSV_Boroda_ In Selection.Columns
укажите исходный диапазонEnter непустыми значениями. Например, кнопка удаления. Для этого следует быть разные – по пункту «Выделение переместятся в самый
конец. Давайте выясним,: Извините. Мне нужноВ примере нужно
быстро (приемлимо быстро). 1) ‘ delta Row:: Не уверен, ноSet cellTo = с пустотами (B3:B10)(как обычно), а ДВССЫЛ(«A»&2) возвращает значениеВот, собственно, и все зажать клавишу Ctrl,
хоть текст, хоть группы ячеек…». низ таблицы. Теперь, какие существуют способы сформировать диапазон без удалить строки 1,8,14,16,19,20.Можно еще наarr1(i, 1) =If SheetCheck(lName) =regnus в качестве предположения Nothing и нажмите
Ctrl+Shift+Enter
lumpics.ru
Как удалить пустые ячейки в Excel.
из ячейки простейшие методы, при а затем, удерживая числа. Формула будетОткрывается окно, в котором мы можем удалить удаления пустых строк пустых ячеек вДиапазон до 500 время сортировки временно arr1(i + 1, 0 Then Sheets.Add.Name, я не стал
— возможно, кодFor Each cell
Ctrl+Shift+Enter. Теперь формулу можноА2 помощи которых можно ее, выделить каждую работать. переставляем переключатель в эти ячейки любым в программе Microsoft С при условии, строк. отключать обновление экрана 1)
= lName
делать «Нужно2», т.к.
будет работать быстрее, In col.Cells, чтобы ввести функцию скопировать вниз, используя. произвести удаление пустых строку, подлежащую удалению.
Если нужно удалить позицию «пустые ячейки». из тех способов, Excel, и как чтобы данные совпадалиСпасибо! и авторасчет формулarr1(i + 1,
Application.StatusBar = «Идёт судя по коду если удалять пустыеIf Not IsEmpty(cell) как формулу массива.
автозаполнение (потянуть заИзменим немного формулу: строк буквально в После этого в пустые строки, то
Жмем на кнопку о которых шла их убрать быстрее с В иЮрий М (если их у 1) = buff1 считывание и сортировка (не проверял), процедура не сверху вниз, Thenregnus черный крестик в=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ( ЕПУСТО($A$2:$A$14);»»;$A$2:$A$14);СТРОКА(A1));»»)
пару кликов. Опять меню правого клика читайте статью «Как «OK». речь в первой и проще.
excel-office.ru
Как удалить пустые строки в «Экселе»: несколько простых методов
А: Удаление строк по вас много)buff1 = arr1(i, данных…»testColumns00() как по умолчаниюIf Not cellTo: Как удалить пустые правом нижнем углуПолучим тот же список, же, нужно помнить выбираете соответствующую операцию. удалить пустые строкиКак видим, после этого, части урока.Скачать последнюю версию
Как удалить пустые строки в «Экселе» двумя простейшими методами?
Обновляю ПРИМЕР. условию обсуждалось 152200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testColumns00() 2)Application.ScreenUpdating = Falseот Excel делает, а Is Nothing Then ячейки в столбцах ячейки) — и но еще и и том, что Заметьте, если использовать в Excel». все строки, содержащиеЕсли критически важен порядок Excel
Сергей раза. В поискеDim c Asarr1(i, 2) =With Sheets(lNmBasa)AndreTM насильно прописать удалениеcell.Copy cellTo сразу в 100 мы получим исходный сортированный по возрастанию в некоторых ячейках клавишу Del, будетЕсли вы скопировали пустые ячейки, выделились. размещения ячеек вСамым известным и популярным: вариант ничего не нашли? Range
arr1(i + 1,For j =должна сортировать быстро. по циклу снизуcell.ClearContents столбцах? диапазон, но без (работает только для может находиться скрытый произведена только очистка таблицу из Word Теперь жмем на таблице, то перед способом удаления пустыхtc_trustJayBhagavanApplication.ScreenUpdating = False’ 2) 1 To maxClnЕдинственное, ее можно вверх.Set cellTo =1. Нужно все
Как в «Экселе» удалить пустые строки с помощью сортировки?
пустых ячеек: чисел). текст. А сами содержимого, а не в Excel, и уже знакомую нам тем как совершить строк, является использование
: Сергей, у вас: Фильтруем пустые по откл. обновление экранаarr1(i + 1,k = 0 чуть дописать, еслиRichman cellTo.Offset(1) данные (не пустыеЕсли есть подозрение, чтоСОВЕТ: пустые ячейки могут удаление целых строк. у вас в кнопку «Удалить», расположенную сортировку, вставляем в контекстного меню программы заготовлены ответы на соотв. полю, экранируем
Удаление строк с использованием фильтра
ActiveSheet.EnableCalculation = False’ 2) = buff1For i = у вас выделенный: Формулами и допEnd If ячейки) вывести к вам часто придетсяДля удаления и быть зависимыми при В прочем, для
таблице появились пустые на ленте в середину таблицы ещё Эксель. Чтобы убрать все решения???Вы так ошибку, в переменную откл. авторасчет формулEnd If 1 To maxRow диапазон начинается с строками нужно?
Выделение групп ячеек
Else верху листа, чтобы повторять процедуру удаления выделения пустых строк ссылке на них самого простого случая ячейки, которые сместились, группе инструментов «Ячейки». один столбец.
строки таким способом, быстро мне ответили… передаём только видимые’ работаем сNext iIf .Cells(i, j) первой строки нанужно1If cellTo Is понимать длину не пустых ячеек из и ячеек традиционными в формулах. Если можно использовать и то читайте статью
Вместо послесловия
После этого, все пустыеВсе ячейки этого столбца выделяем диапазон ячеек,Именно,то,что нужно. строки, возвращаем реагирование выделенной областьюIf fOut Then <> «» Then листе, или чтобы200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(Лист2!B$1:B$9;НАИМЕНЬШИЙ(ЕСЛИ(Лист2!B$2:B$9<>»»;СТРОКА(Лист2!B$2:B$9);100000);СТРОКА(1:1)));»») Nothing Then пустых ячеек каждого диапазонов, то лучше средствами EXCEL, пользуйтесь произвести их удаление, ее. «Копировать таблицу, бланк строки будут удалены нумеруем по порядку. который не содержитГениально.Спасибо. на ошибки, если’ сначала выполняем Exit Dok = k + 1 не затереть строкупотом копировать——Правая кнопкаSet cellTo = столбца. один раз добавить идеями из статей формула потом неЕсть еще несколько методов из Word в из таблицы.
Затем, производим сортировку по
fb.ru
Удаляем в MS EXCEL пропуски в списке (формулы)
данных, и кликаемСергей в переменной не «сжатие» по строкамRBdr = karr2(k, j) = перед выделенным диапазоном. ——специальная вставка—-значения cell2. Нужно подровнять
в стандартный набор Удаляем пустые строки сработает, а сама для проведения таких
Задача
Excel» тут. ВВажное замечание! Последний способ любому другому столбцу, правой кнопкой мыши.
Решение
: Все заготовки лежат ничего, то удаляемIf Selection.Count =fOut = 1 .Cells(i, j)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testColumns00()KSV
End If
столбцы по длине свою функцию для в таблице и программа выдаст ошибку операций. Одним из этой статье описано, нельзя использовать в и удаляем перемещенные
- В раскрывшемся контекстном в приемах на строки. Примеры, как 1 Then ExitFor i =End IfDim c As: Странно…End If (слева-направо) удаления пустых ячеек,
- Выделение группы ячеек. о присутствии в решений вопроса того, как подготовить таблицу таблицах с перекрывающимися
- вниз ячейки, как меню делаем переход данном сайте, в отметил уважаемый Юрий Sub RBdr To LBdrNext i
Range
600 тыс. ячеек
NextЕсть и пустые и пользоваться ей О том, что вычислениях ссылки на
как удалить пустые
Word для правильного диапазонами, и с уже описывалось выше. по пункту «Удалить…». данном случае использован М, на форумеPackByRows + 1 StepDoEvents’ работаем с для Excel этоNext столбцы.
excel2.ru
Удаление пустых ячеек из диапазона
Постановка задачи
во всех последующих EXCEL понимает под несуществующие или некорректные
строки в «Экселе», копирования в Excel. пустыми ячейкам, которые
Способ 1. Грубо и быстро
- После этого, чтобы вернуть
- Можно не вызывать многоразовый ВПР из предостаточно. Можно иWith Selection -1arrK(j, 1) = выделенной областью не тот объем, End SubЕсть: случаях. пустыми ячейками, читайте
данные. Поэтому в может стать применение - Как преобразовать дату находятся в строках, порядок строк к контекстное меню, а приемов и обычный построчно удалять снизу.Rows(1).Insert
Способ 2. Формула массива
If arr1(i, 2) j’ сначала выполняем чтобы виснуть. (если,Sub testColumns00()111 222 4Для этого откройте редактор в статье Подсчет такой ситуации следует инструмента сортировки. в день недели где имеются данные. тому, который уже
набрать на клавиатуре ВПР вверх в цикле.For Each c < arr1(i -arrK(j, 2) = «сжатие» по строкам конечно, у вас’ работаем с
333 44 55 Visual Basic ( пустых ячеек. быть особо внимательным,Для этого нужно после
в Excel, смотрите
В этом случае, был перед сортировкой,
сочетание клавиш «Ctrl+-».
tc_trusttc_trust In .Columns 1, 2) Then kIf Selection.Count = не пентиум III выделенной областью11 555ALT+F11Имеем диапазон ячеек с чтобы не нарушить выделения всей таблицы в статье «День может произойти смещение проводим сортировку в
Способ 3. Пользовательская функция на VBA
Появляется небольшое окошко, в: Сергей,здравствуйте.: Обсуждений реально куча,c.Cells(0) = WorksheetFunction.CountA(c)k = iNext j 1 Then Exit)’ сначала выполняем111 22 444), вставьте новый пустой данными, в котором
целостность математических или (Ctrl + A) недели по дате ячеек, и таблица колонке с номерами котором нужно указать,А как изменить но все решения
NextfOut = 0Call sortArr(arrK) SubПопробуйте так (должно «сжатие» по строкам55 модуль (меню есть пустые ячейки: других операций. В в разделе данных в Excel». нарушится. строк «От минимального что конкретно мы формулы, если таблицы макросами и ничегоSet c =buff1 = arr1(i,For i =PackByRows работать оч. быстроIf Selection.Count =11 44Insert — ModuleЗадача — удалить пустые остальном же все выбрать меню сортировкиВсем пользователям, которые работаютКак видим, существует несколько к максимальному». хотим удалить. Выставляем не начинаются с похожего на мой
.Offset(-1).Resize(.Rows.Count + 1) 1) 1 To maxClnWith Selection на любом кол-ве) 1 Then Exit
- 1) и скопируйте туда
- ячейки, оставив только просто. В зависимости и фильтра. Тут с электронными таблицами способов удаления пустых Как видим, строки выстроились переключатель в позицию первой строки листа, случай. А еслиWith .Parent.Sortarr1(i, 1) =For j =.Rows(1).Insert200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub PackByRows() ‘ реализация
- SubНужно1 текст этой функции: ячейки с информацией. от того, какой применяется команда упорядочивания в офисном редакторе
planetaexcel.ru
Как удалить пустые ячейки в столбцах сразу в 100 столбцах? (Формулы/Formulas)
ячеек из таблицы. в прежнем порядке, «строку». Жмем на а скажем с и похоже, то
With .SortFields arr1(i — 1, 1 To maxRowFor Each c вашего «Нужно1″testRows00111 222 333
Function NoBlanks(DataRange AsВыделяем исходный диапазон результат должен быть
от минимального к Excel, очень часто
Каким именно способом
исключая пустые, которые
кнопку «OK».
3 или 5???
тема осталась без
.Clear
1)
arrOut(j, maxCln +
In .Columns
Dim r&, c&,’ выделенная область
4 55 Range) As Variant()
Жмем клавишу
получен, можно применять
максимальному (пустые строки
приходится убирать пустые
лучше воспользоваться, зависит удалены. Теперь, нам
После этого, все строкиК примеру, в
решения!
.Add c.Rows(1), xlSortOnValues,
arr1(i — 1,
1 — i)
c.Cells(0) = WorksheetFunction.CountA(c) i&, n&, v() та же
11 22 44 Dim N As
F5
ту или иную
окажутся снизу). После
ячейки, находящиеся в от сложности таблицы,
осталось только удалить
выделенного диапазона будут моём случае, диапазонПрошу помочь!
xlDescending | 1) = buff1 | = arr2(j, arrK(i, |
Next | v = Selection.Value | ’ ПРЕДУПРЕЖДЕНИЕ: одна |
555 | Long Dim N2 | |
, далее кнопка | методику. | |
этого их можно |
строках, чтобы они и от того,
добавленный столбец с удалены. откуда берутся данныеyoozhikEnd With
buff1 = arr1(i,
1))Set c =
n = UBound(v) строка выше выделенного
111 444 55 As Long DimВыделить
Автор: Панькова Оксана Владимировна удалить. Если порядок
не загромождали рабочее как именно по
порядковыми номерами. ВыделяемКак альтернативный вариант, можно
начинается с 3: Sub d() Application.ScreenUpdating
.SetRange c 2)
Next j
.Offset(-1).Resize(.Rows.Count + 1)
' кол-во строк диапазона будут очищена
11 44
Rng As Range
(Special)Если список значений содержит
построения данных важен, пространство. Сейчас будет
ней разбросаны пустые
этот столбец. Затем
выделить ячейки в
строки, а куда
= False Application.Calculation
.Header = xlNo
arr1(i, 2) =Next i
With .Parent.Sort в выделенном диапазоне
For Each col1 Dim MaxCells As
. В открывшмся окне
пропуски (пустые ячейки), сначала необходимо использовать
рассмотрено, как в строки (располагаются одним кликаем по кнопке
соответствующих строках, и вставляются- с 5.
= xlCalculationManual i.Orientation = xlLeftToRight
arr1(i - 1,
End WithWith .SortFields
For c =
In Selection.Columns
Нужно2
Long Dim Result()
выбираем
то это может
вставку пустого столбца
таблице «Эксель» удалить
блоком, или перемешаны
на ленте «Удалить».
находясь во вкладке
Сергей = 1 Do.Apply
2)Sheets(lName).Cells(1 + dR,.Clear
1 To UBound(v,
col.Offset(-1).Cells(1, 1).Value =111 4 55 As Variant DimПустые ячейки
существенно затруднить его со сквозной нумерацией. пустые строки. Некоторые со строками, заполненными
В раскрывшемся меню «Главная», кликнуть по
: Почитайте там все While Cells(i, 1).ValueEnd With
arr1(i — 1,
1 + dC).Resize(maxRow,.Add c.Rows(1), xlSortOnValues, 2)
WorksheetFunction.CountA(col) 222 333 R As Long(Blanks) дальнейший анализ. С После удаления строк решения пригодятся и данными). выбираем пункт «Удалить
кнопке «Удалить», которая описано <> «» If.Rows(0).Delete 2) = buff1 maxCln).ClearContents xlDescending’ находим первуюNext11 44 555 Dim C Asи жмем
помощью сортировки уберем снова производите упорядочивание в других ситуациях.
Автор: Максим Тютюшев
столбцы с листа».
расположена в блокеЕсть таблица с пустыми
Cells(i, 3).Value =End With
End IfSheets(lName).Cells(1 + dR,End With пустую ячейку вSet rngS = 22 Long MaxCells =
ОК пустые ячейки из по пронумерованному столбцу. Например, при аналогичныхФормула массива в Excel
После этого, нужный инструментов «Ячейки» на
ячейками и данными,
"" Then Rows(i).Delete:' вкл. все,Next i
1 + dC).Resize(maxRow,.SetRange c столбце
Selection.Offset(-1).Resize(Selection.Rows.Count + 1)111 444 55 Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count,
. списка, сформировав формулами
Решить вопрос того, как действиях со столбцамипоможет
столбец будет удален.
ленте. После этого, из нее нужно
i = i что отключалиIf fOut Then
maxCln) = arrOut.Header = xlNo
For i =With rngS.Parent.Sort
11 44 DataRange.Cells.Count) ReDim Result(1
Выделяются все пустые
список в соседнем
удалить пустые строки
или отдельными ячейками.
убрать пустые ячейки в
Урок: Сортировка в Microsoft сразу произойдет удаление
удалить все пустые
— 1 iActiveSheet.EnableCalculation = True
Exit DoApplication.ScreenUpdating = True.Orientation = xlLeftToRight 1 To n.SortFields.Add Key:=rngS.Rows(1), _1 To MaxCells, 1 ячейки в диапазоне. столбце. в «Экселе», можноДля начала стоит сказать, списке Excel Excel без дополнительных диалоговых ячейки, не затрагивая = i +Application.ScreenUpdating = True
LBdr = kApplication.StatusBar = «Вывод.ApplyIf Len(v(i, c))SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormalСпасибо) To 1) ForДаем в меню командуПусть имеется список с и при помощи что при проведении
. Часто пустые ячейкиЕщё одним вариантом скрыть окон. данных как это 1 Loop Application.ScreenUpdatingEnd SubLoop данных закончен»End With
= 0 Then.SetRange rngS
См. пример в Each Rng In
на удаление выделенных пустыми ячейками (столбец
простого фильтра. Устанавливают операций такого рода в столбцах мешают
пустые ячейки является
Конечно, способ очень простой
сделать (не выделяя
= True Application.Calculationgling
End Sub
End Sub
.Rows(0).Delete Exit For
.Header = xlGuess
экселе, тут форматирование
DataRange.Cells If Rng.Value
ячеек: правой кнопкойА
его путем выделения
нужно быть крайне
дальнейшей работе. Например,
применение фильтра.
и известный. Но,
каждую ячейку ес-но)
= xlCalculationAutomatic End
: Ошибка, должно быть
AndreTM
Function SheetCheck(ByVal ShNameEnd WithNext.Orientation = xlLeftToRight
не то.
<> vbNullString Then
мыши). столбца, группы столбцов внимательным. Дело в
когда нужно сделатьВыделяем всю область таблицы, является ли он
Александр леонтьев Sub так: А если в As String) As
End Sub' проверяем остальные.SortMethod = xlPinYinNic70y N = N-
Убрать пустые ячейки из или всей таблицы. том, что ячейки
раскрывающийся список. Как и, располагаясь во самым удобным, быстрым
: ставишь автофильтр, выбираешьtc_trustregnus
код ещё добавить ByteUdik ячейки в столбце
.Apply: F5
+ 1 Result(N,Удалить ячейки (Delete Cells) списка, сформировав формулами
Кроме того, применяют могут содержать скрытые его сделать, читайте
вкладке «Главная», делаем
и безопасным?
пустые ячейки и: Спасибо за ответ,
: Пробую ваш файл,
отключение/включениеDim x As
: Вот попробовал сварганитьFor r =
End With
Выделить 1) = Rng.Value
со сдвигом вверх.
список в соседнем
команду «Фильтр» в
формулы (бесцветный текст). в статье "Выпадающий
клик по кнопкеЕсли пустые строки расположены
удаляешь
уважаемый yoozhik. Есть
т.к. вроде онApplication.ScreenUpdating
Byte с сортировкой столбцов,
i + 1rngS.Rows(1).ClearContentsпустые ячейки End If Next
Для упрощения дадим нашим
столбце.
разделе сортировки.
А сами вычисления список в Excel" «Сортировка и фильтр»,
в одном месте,Viktor makshaev решение без макроса?
делает 2 варианта.
- то тожеx = 0
вышло многа букфф
To nEnd SubПКМ - удалить
Rng For N2 рабочим диапазонам имена,
Для избавления от пустых
Теперь остается нажать на могут ссылаться на
здесь. которая расположена в
то их удаление
: Правый клик по
Только формулами!!! Не
500 строк и
быстродействие поднимется.
For Each ws
200?'200px':''+(this.scrollHeight+5)+'px');">If Len(v(r, c))
Смеяться не надоячейки, со сдвигом
= N + используя ячеек запишем в
сам фильтр, отобразить строки, в которых
В нашем списке блоке настроек «Редактирование».
будет довольно легким.
ячейке - Удалить проблема, если нужно
100 столбцов обрабатывает
Вотбы вам сразу
In ActiveWorkbook.SheetsPublic Sub test() Then
Мне было просто вверх 1 To MaxCells
Диспетчер Имен (Name Manager)
ячейке
только пустые ячейки данные отсутствуют, но
есть пустые ячейки. В появившемся меню, Но, если они
Натали о создавать дополнителиный столбец.
за 1-3 минуты. спросить - "как
If ws.Name =Dim i Asv(i, c) =
нечего делатьто?
Result(N2, 1) =
на вкладке
B2 и удалить их.
их предполагается ввести
В столбце В будет
делаем переход по раскиданы по всей: Если нужно удалитьvikttur
Точно не скажу, БЫСТРО проделать данную ShName Then
Integer, j As
v(r, c)
Например, предложенныйSerge_007
vbNullString Next N2Формулы (Formulas)формулу массива и
Но тут есть в дальнейшем. Такие
написан список из пункту «Фильтр».
таблице, то их столбец, нажимай на: Формулы не умеют
т.к. при обработке операцию на таком-то
x = 1
Integer, k As
v(r, c) =Nic70y
: А Вы его
If Application.Caller.Rows.Count =
или - в
скопируем ее вниз одна загвоздка. Нельзя ячейки с точки столбца А, ноВ ячейках шапки таблицы поиск и удаление латинскую букву с
удалять строки. виснет. объёме»…Exit For Integer
Emptyкод и не применяли: 1 Then NoBlanks Excel 2003 и (см .файл примера): применять такое удаление зрения программы пустыми без пустых ячеек. появляется характерный значок. может занять значительное которой он начинается,
tc_trustА 3000 строк
gling
End IfDim dC As
i = i + 1
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub testRows()
111 = Application.Transpose(Result) Else старше — меню=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14));СТРОКА(A1)));»») для нескольких столбцов,
не считаются. В ячейке В2 Кликаем по этому
время. В этом правый клик и: СПОСОБ 2
и 100 столбцов: Собрал конструкцию изNext ws Integer, dR AsEnd If’ используя встроенные222
NoBlanks = ResultВставка - Имя -
Получим в соседнем столбце если в одной
Но посмотрим, как в пишем такую формулу.
значку в любом случае, должна помочь
Удалить. Если строкус разницей,чтобы после
появляется жесть. разных файлов, быстроSheetCheck = x
Integer
Next r, c
средства, удаляем пустые
4 End If End
Присвоить
B
строке хоть одна «Экселе» удалить пустые
Эта формула не
на ваш выбор
сортировка.
- то нажимать удаления пустых ячеек
Эксель зависает минут
ли работает не
End Function
Const maxRow As
Selection = v
ячейки, со сдвигом
333
Function
(Insert - Name -список без пропусков.
ячейка содержит данные.
строки, если они
сможет
столбце.Выделяем всю табличную область. цифру с которой
из столбца С, на 20 и знаю. Диапазон сортировкиPrivate Sub sortArr(arr1()
Integer = 25,End Sub данных вверх44Не забудьте сохранить файл Define)
Формула работает одинаковогоНаконец, рассмотрим еще один действительно являются таковыми.
скрыть пустые ячейки вВ появившемся меню, снимаем Кликаем по ней
она начинается - данные совпадали с более
нужно указывать в As Integer) maxCln As Integer
regnus’ ПРЕДУПРЕЖДЕНИЕ: сдвигаются55
и вернитесь изДиапазону B3:B10 даем имя и для текстовых универсальный метод. Он Самым простым методом
Excel галочку с пункта правой кнопкой мыши, правый клик -
excelworld.ru
Удалить строку, если ячейка пустая
B и АНачинает глючить и макросе, может ктоDim fOut As = 25 ‘задаем
: Спасибо!!! выше данные, расположенные
11 редактора Visual Basic
ЕстьПустые
значений и для позволяет решить проблему считается обычное выделение, но напишет список «Пустые». Жмем на
и в контекстном Удалить. Будут ?yoozhik не открывает другие переделает под выделение. Byte размеры для считываниябыстро действительно. на листе ниже55 в Excel. Чтобы, диапазону D3:D10 - чисел. Алгоритм работы того, как в при помощи мыши
без пустых ячеек кнопку «OK». меню выбираем пункт пиши на мыло.: Как-то у Вас файлы. Сортируются столбцы начинаяDim LBdr AsConst lName As
А Нужно 2
выделенной области11 использовать эту функциюНетПустых формулы следующий: «Эксель» удалить пустые с зажатой левой в другом столбце.Как видим, после этого, «Сортировка». После этого, У меня ляли запрос несколько иПриходится перегружать комп…как с нижней строки. Integer, RBdr As String = «buff»,
сможете?’ работаем с44 в нашем примере:. Диапазоны должны бытьЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14)) – если ячейка строки в диапазоне
кнопкой. Оно производится{=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$9);»»; все пустые строки
появляется ещё одно как раз сейчас
весьма отличается от будто эксель вирус Результат не отличается Integer lNmBasa As String
AndreTM выделенной областью1Выделите достаточный диапазон пустых строго одного размера, не пуста, эта
от и до движением вверх илиСТРОКА($A$2:$A$9));СТРОКА(A1)));»»)} исчезли, так как меню. В нём Эксель проходят Способ 2 логической хватает. от результата Udik.Dim buff1 As = «test» ‘имена:If Selection.Count =AndreTM ячеек, например F3:F10.
а расположены могут часть формулы возвращает определенного номера или вниз по полюЭту формулу нужно они были отфильтрованы. нужно выбрать одинHistory_71
формулировкой
Есть способы неregnus
Integer целевого и базовогоregnus 1 Then Exit: Типа вот так?
Идем в меню
быть где угодно
номер строки, тем значения. нумерации слева. Затем, ввести как формулуУрок: Как использовать автофильтр из следующих пунктов:: Мдя… Почему народСергей
вешать эксель и: Ваш пример работает.
Dim str1 As листа, а «Нужно 2″ Sub(Код надо поместитьВставка — Функция (Insert
относительно друг друга. самым формируется массивВ этом случае следует используя правый клик, массива, п.э. нажимаем в Microsoft Excel
«Сортировка от А не читает СПРАВКУ?: tc_trust, если вы
planetaexcel.ru
Как удалить пустые ячейки в экселе?
ускорить обработку?А мой нет. StringDim arrK(1 To в моём вариантеSelection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp в общий модуль, — Function)
Теперь выделим первую ячейку {2:»»:4:5:6:»»:»»:9:10:»»:»»:13:14} Проверить результат использовать раздел редактирования вы вызываете контекстное
не просто «Enter»,Ещё один способ удаления до Я», «От
Dmitriy o. внимательно смотрели этотSerge_007Вставляет 2 столбцаLBdr = 1 maxCln, 1 To (конечно, заменив вEnd Subне подходит и вызывать, предварительноили жмем на кнопку второго диапазона (D3) можно выделив эту на главной панели меню, где выбираете а сочетание клавиш использует выделение группы
минимального к максимальному»,: Макросом пример то формулами
: в один.
RBdr = UBound(arr1,