4

Есть ли способ использовать встроенные функции Excel для удаления всех пустых ячеек в диапазоне?

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

Я знаю, что могу сделать это в VBA, и уже сделал, но меня больше интересует, доступна ли эта функциональность из Excel.

Пример:

A

C
D


F

E

должно закончиться с

A
C
D
F
E




9 ответов9

5

Выделите свой диапазон и перейдите в "Правка"> "Перейти"> "Специальные" и выберите "Пробелы", затем "ОК", теперь перейдите в "Правка"> "Удалить".

Редактировать:

Нет меню редактирования в Excel 2007? Я должен показывать свой возраст. Спасибо, Джейсон З!

3

Поместите свой малонаселенный диапазон в столбец C, указав в ячейке C2.

В B2:Bn положить следующую формулу:

=IF(ISBLANK(C2),"",MAX($B$1:B1)+1)

Это будет пронумерованные ячейки, от 1 до x (где x - количество населенных ячеек)

В A2: положить следующую формулу:

=IF(ISERROR(MATCH(ROW()-1,B:B,0)),"",VLOOKUP(ROW()-1,B:C,2,0))

Это выполнит поиск по номеру ячейки Ан-1 и перенесет значение.

Так как количество заполненных ячеек (x) меньше количества ячеек в диапазоне (n), необходимо иметь IF (ISERROR (MATCH (ROW () - 1, B:B, 0)), "" чтобы избежать ячеек Ax+1: существо, заполненное "#NA"

2

Единственный способ сделать это раньше - вставить еще один ключевой столбец (цифры 1 - n) рядом с разреженным диапазоном. Это позволяет вам переупорядочивать данные в исходной последовательности после того, как вы отсортировали пробелы.

2

контекст:

  • Excel 2003
  • знать режим фильтра

предварительно:

  1. вставить строку вверху (возможно, не обязательно)
  2. выберите диапазон, который вы хотите
  3. "поставить" фильтр на него

Теперь две идеи:

a) Неразрушающий : в столбце, содержащем ABCDFE, скажите Excel, чтобы показывались ячейки «Не пустые», чтобы они не отображались

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

надеюсь, это поможет

1

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

1

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

0

Вы не упомянули, какую версию Excel вы используете.

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

Вот как вы это делаете:

Лента> Вкладка ДАННЫЕ> Удалить дубликаты

ПРИМЕЧАНИЕ. Используйте это с осторожностью, так как при этом также будут удалены все другие непустые, но повторяющиеся ячейки. Я предоставил этот ответ в отношении вашего примера.

0
  1. Сделайте еще один столбец и заполните его упорядоченными числами (1,2,3 ...)
  2. Затем сделайте еще один столбец с формулой:

    = ЕСЛИ (А1 = ""; В1; "")

Где A1 - столбец из вашего примера, а B1 - добавлен столбец с упорядоченными числами

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

0

Выделите диапазон. Используйте специальные константы Goto (F5). Редактировать копию. Нажмите в неиспользуемой области таблицы. Редактировать Вставить. Теперь, при желании, скопируйте результат обратно в начало координат.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .