Создание списка в excel без пустых ячеек

Обновлено: 10.08.2022

Как выбрать весь столбец, кроме заголовка / первой строки в Excel?

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

Выберите весь столбец (включая или исключая пустые ячейки), кроме заголовка, с помощью Kutools for Excel

Выбрать весь столбец (исключая пустые ячейки), кроме заголовка с ярлыком

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

Выберите заголовок или первую строку вашего списка и нажмите Shift + Ctrl + ↓(кнопка раскрывающегося списка), то был выбран список, кроме первой строки.

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

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

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

1. Нажмите Формула > Определить имя, см. снимок экрана:


2. в Определить имя диалоговом окне укажите желаемое имя и выберите Workbook в Объем список, а затем введите = $ A $ 2: $ A $ 1048576 (A - это столбец, который вы хотите выбрать, в Excel 2003 вы можете изменить $ A $ 1048576 на $ A $ 65536) в Относится к текстовое окно. Смотрите скриншот:


3. Затем выберите имя, которое вы определили на шаге выше, из Имя Box, вы можете увидеть весь столбец, но первая строка выбрана.




Выберите весь столбец (включая пустые ячейки), кроме заголовка с VBA

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

1. Выберите ячейку столбца, который хотите выделить, и нажмите Alt + F11 для открытия Microsoft Visual Basic для приложений окно.

2. Во всплывающем окне щелкните Вставить > Модули, а затем вставьте в модуль следующий код VBA.

VBA: выберите весь столбец, кроме заголовка

3. Нажмите Run , то выбирается столбец, в котором выбрана ячейка, за исключением первой строки.

Функции: Макрос VBA будет выбирать от второй до последней ячейки с содержимым в столбце, который вы активировали на шаге 1.

Выберите весь столбец (включая или исключая пустые ячейки), кроме заголовка, с помощью Kutools for Excel

Вышеупомянутые методы могут быть для вас немного хлопотными, но использование Выбрать помощника по диапазону особенность Kutools for Excel вам будет легко выбрать весь столбец (включая или исключая пустые ячейки), кроме первой ячейки.

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

1. Сначала выберите весь столбец и нажмите Кутулс > Выберите Инструменты > Выбрать помощника по диапазону. Смотрите скриншот:

документ выберите все, кроме заголовка 7

2. в Выберите помощника рейнджера диалог, проверьте Отменить выбор ячеек, затем выберите заголовок выбранного столбца и щелкните Закрыть чтобы закрыть диалог. Смотрите скриншот:


Затем был выбран весь столбец, кроме заголовка.

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

1. Сначала выберите весь столбец, а затем щелкните Кутулс > Выберите > Выбрать помощника по диапазону.

документ выберите все, кроме заголовка 8

2. Проверьте Отменить выбор ячеек в диалоговом окне poppingd, а затем выберите заголовок используемого столбца.

документ выберите все, кроме заголовка 9

3. Не снимая выделения с ячеек, нажмите Кутулс > Выберите > Выбрать непустые ячейки. Смотрите скриншот:

документ выберите все, кроме заголовка 10

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

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

Способ 1. Если у вас Excel 2007 или новее

Простой и удобный способ почти без формул. Использует новую возможность последних версий Microsoft Excel начиная с 2007 версии - "Умные Таблицы". Суть его в том, что любой диапазон можно выделить и отформатировать как Таблицу. Тогда он превращается, упрощенно говоря, в "резиновый", то есть сам начинает отслеживать изменения своих размеров, автоматически растягиваясь-сжимаясь при добавлении-удалении в него данных.

Выделите диапазон вариантов для выпадающего списка (A1:A5 в нашем примере выше) и на Главной (Home) вкладке нажмите кнопку Форматировать как таблицу (Home - Format as Table). Дизайн можно выбрать любой - это роли не играет:

zebra2.jpg

Обратите внимание на то, что таблица должна иметь строку заголовка (в нашем случае это А1 со словом Сотрудники). Первая ячейка играет роль "шапки" и содержит название столбца. На появившейся после превращения в Таблицу вкладке Конструктор (Design) можно изменить стандартное имя таблицы на свое (без пробелов!). По этому имени мы сможем потом адресоваться к таблице на любом листе этой книги:

dynamic-dropdown1.jpg

Теперь выделите ячейки где вы хотите создать выпадающие списки (в нашем примере выше - это D2) и выберите в старых версиях Excel в меню Данные - Проверка (Data - Validation), а в новых нажмите кнопку Проверка данных (Data Validation) на вкладке Данные (Data). В открывшемся окне на вкладке Параметры (Settings) выберите вариант Список (List) и введите в поле Источник (Source) вот такую формулу:

dynamic-dropdown2.jpg

Смысл этой формулы прост. Выражение Таблица1[Сотрудники] - это ссылка на столбец с данными для списка из нашей умной таблицы. Но проблема в том, что Excel почему-то не хочет понимать прямых ссылок в поле Источник (Source), т.е. нельзя написать в поле Источник выражение вида =Таблица1[Сотрудники]. Поэтому мы идем на тактическую хитрость - вводим ссылку как текст (в кавычках) и используем функцию ДВССЫЛ (INDIRECT), которая преобразовывает текстовую ссылку в настоящую, живую.

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

Если вам лень возиться с вводом формулы ДВССЫЛ, то можно чуть упростить процесс. После создания умной таблицы просто выделите мышью диапазон с элементами для выпадающего списка (A2:A5) и введите в поле адреса имя для этого диапазона (без пробелов), например Стажеры, и нажмите на Enter:

dynamic-dropdown3.jpg

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

dynamic-dropdown4.jpg

Способ 2. Если у вас Excel 2003 или старше

В старых версиях Excel до 2007 года не было замечательных "умных таблиц", поэтому придется их имитировать своими силами. Это можно сделать с помощью именованного диапазона и функции СМЕЩ (OFFSET), которая умеет выдавать ссылку на динамический диапазон заданного размера.

Откройте меню Вставка - Имя - Присвоить (Insert - Name - Define) или нажмите Ctrl+F3. В открывшемся окне нажмите кнопку Добавить (New), введите имя диапазона (любое, но без пробелов и начинающееся с буквы, например - Люди) и в поле Ссылка (Reference) введите вот такую формулу:

dynamic-dropdown5.jpg

Функция СЧЁТЗ (COUNTA) подсчитывает количество непустых ячеек в столбце с фамилиями, т.е. количество строк в диапазоне для выпадающего списка. Функция СМЕЩ (OFFSET) формирует ссылку на диапазон с нужными нам именами и использует следующие аргументы:

  • A2 - начальная ячейка
  • 0 - сдвиг начальной ячейки по вертикали вниз на заданное количество строк
  • 0 - сдвиг начальной ячейки по горизонтали вправо на заданное количество столбцов
  • СЧЁТЗ(A2:A100) - размер получаемого на выходе диапазона по вертикали, т.е. столько строк, сколько у нас занятых ячеек в списке
  • 1 - размер получаемого на выходе диапазона по горизонтали, т.е. один столбец

Теперь выделите ячейки, где вы хотите создать выпадающие списки, и выберите в старых версиях Excel в меню Данные - Проверка (Data - Validation). В открывшемся окне на вкладке Параметры (Settings) выберите вариант Список (List) и введите в поле Источник (Source) вот такую формулу:

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

Как создать раскрывающийся список, игнорирующий пустые ячейки в Excel?

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

Easily fill all blank cells with certain value in Excel

Click Kutools > Insert > Fill Blank Cells. Kutools for Excel's Fill Balnk Cells utility helps you not only fill all blank cells with certain value, but fill balnk cells based on the above value as you need. See screenshot:

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Read More Download the free trial now


  • Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
  • More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
  • Merge Tools : Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
  • Split Tools : Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
  • Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color ; Send Personalized Emails to Multiple Recipients in Bulk.
  • Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment.
  • More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.

Создать раскрывающийся список игнорировать пустые ячейки в Excel

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


1. Примените следующую формулу, чтобы скопировать и вставить только непустые значения ячеек, введите эту формулу: =LOOKUP("zzzzz",CHOOSE(,"",INDEX(B:B,SMALL(IF($B$1:$B$13<>"",ROW($B$1:$B$13)),ROWS($D$1:D1))))) в пустую ячейку D1, например, а затем нажмите Ctrl + Shift + Enter вместе, чтобы получить следующий результат:


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

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


3. Теперь создайте выпадающий список проверки данных с этим новым списком данных. Выберите ячейки, в раскрывающемся списке которых вы хотите разместить, затем нажмите Данные > проверка достоверности данных.

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

Пусть имеется список с пустыми ячейками (столбец А ).


Задача

Убрать пустые ячейки из списка, сформировав формулами список в соседнем столбце. То есть под словом "убрать" будем понимать не удаление значения из исходного списка, а формирование еще одного списка, но уже без лишних символов. Чтобы действительно убрать значения из списка нужно использовать макросы - программу на VBA.

Решение

Для избавления от пустых ячеек запишем в ячейке B2 формулу массива и скопируем ее вниз (см. файл примера): =ЕСЛИОШИБКА(ДВССЫЛ("A"&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);"";СТРОКА($A$2:$A$14));СТРОКА(A1)));"")

Получим в соседнем столбце B список со значениями из исходого, но уже без пропусков. Формула работает одинакового и для текстовых значений и для чисел. Алгоритм работы формулы следующий:

  • ЕСЛИ(ЕПУСТО($A$2:$A$14);"";СТРОКА($A$2:$A$14)) – если ячейка не пуста, то эта часть формулы возвращает номер строки. То есть формируется массив номеров строк, НЕ содержащих пустоты На месте пустых ячеек в массиве будет символ "" (пустой текст), но можно его заменить в формуле на любую текстовую строку, например "ккк". Проверить результат можно выделив эту часть формулы и нажав клавишу F9 ;
  • Функция НАИМЕНЬШИЙ() сортирует массив строк по возрастанию. В сортированном списке сначала будут идти номера строк затем значения "", т.к. в EXCEL считается, что любое текстовое значение больше любого числа (значение пустой текст - текстовое значение);
  • Далее для функции ДВССЫЛ() формируются адреса ячеек с непустыми значениями. Например, ДВССЫЛ("A"&2) возвращает значение из ячейки А2 . Для пустых ячеек будет формироваться ошибочные адреса ячеек, состоящие только из символа А. Это вызовет ошибку после применения функции ДВССЫЛ();
  • Функция ЕСЛИОШИБКА() вместо ошибки будет возвращать "". Этот символ не отображается в ячейке и ячейка выглядит пустой.

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

Изменим немного формулу: =ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ( ЕПУСТО($A$2:$A$14);"";$A$2:$A$14);СТРОКА(A1));"")

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


Список также можно сформировать в столбце С другой формулой массива :

СписокСпропусками в формуле - это динамический диапазон , который образован формулой:

Длину списка с пропусками можно вычислить с помощью формулы:

СОВЕТ:

Для удаления и выделения пустых строк и ячеек традиционными средствами EXCEL, пользуйтесь идеями из статей Удаляем пустые строки в таблице и Выделение группы ячеек . О том, что EXCEL понимает под пустыми ячейками, читайте в статье Подсчет пустых ячеек .

Удаляем заданные символы из списка

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

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

Пусть исходный список находится в диапазоне A12:A24, а в ячейке B6 содержится значение которое нужно удалить из ячеек списка.

Единственным отличием является выражение $A$12:$A$24=$B$6, которое заменило формулу с ЕПУСТО(. )

Теперь если значение в исходном списке не равно искомому значению, то вместо него будет выведено значение "" (в конце списка).

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

Выпадающий список можно создать с помощью Проверки данных


В этой статье создадим Выпадающий список с помощью Проверки данных ( Данные/ Работа с данными/ Проверка данных ) с типом данных Список .


Выпадающий список можно сформировать по разному.

А. Простейший выпадающий список - ввод элементов списка непосредственно в поле Источник

Самым простым способом создания Выпадающего списка является ввод элементов списка непосредственно в поле Источник инструмента Проверка данных .

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

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


Теперь смотрим, что получилось. Выделим ячейку B 1 . При выделении ячейки справа от ячейки появляется квадратная кнопка со стрелкой для выбора элементов из выпадающего списка .


Недостатки этого подхода: элементы списка легко потерять (например, удалив строку или столбец, содержащие ячейку B 1 ); не удобно вводить большое количество элементов. Подход годится для маленьких (3-5 значений) неизменных списков. Преимущество : быстрота создания списка.

Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)

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

Предположим, что элементы списка шт;кг;кв.м;куб.м введены в ячейки диапазона A 1: A 4 , тогда поле Источник будет содержать =лист1!$A$1:$A$4


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

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

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

B. Ввод элементов списка в диапазон (на любом листе)

В правилах Проверки данных (также как и Условного форматирования ) нельзя впрямую указать ссылку на диапазоны другого листа (см. Файл примера ):

Пусть ячейки, которые должны содержать Выпадающий список , размещены на листе Пример,


а диапазон с перечнем элементов разместим на другом листе (на листе Список в файле примера ).


Для создания выпадающего списка, элементы которого расположены на другом листе, можно использовать два подхода. Один основан на использовании Именованного диапазона , другой – функции ДВССЫЛ() .

Используем именованный диапазон Создадим Именованный диапазон Список_элементов, содержащий перечень элементов выпадающего списка (ячейки A 1: A 4 на листе Список ) . Для этого:

  • выделяем А1:А4 ,
  • нажимаем Формулы/ Определенные имена/ Присвоить имя
  • в поле Имя вводим Список_элементов , в поле Область выбираем Книга ;


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

  • вызываем Проверку данных ;
  • в поле Источник вводим ссылку на созданное имя: =Список_элементов .

Примечание Если предполагается, что перечень элементов будет дополняться, то можно сразу выделить диапазон большего размера, например, А1:А10 . Однако, в этом случае Выпадающий список может содержать пустые строки.

Избавиться от пустых строк и учесть новые элементы перечня позволяет Динамический диапазон . Для этого при создании Имени Список_элементов в поле Диапазон необходимо записать формулу = СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))


Использование функции СЧЁТЗ() предполагает, что заполнение диапазона ячеек ( A:A ), который содержит элементы, ведется без пропусков строк (см. файл примера , лист Динамический диапазон ).

Используем функцию ДВССЫЛ()

Альтернативным способом ссылки на перечень элементов, расположенных на другом листе, является использование функции ДВССЫЛ() . На листе Пример , выделяем диапазон ячеек, которые будут содержать выпадающий список, вызываем Проверку данных , в Источнике указываем =ДВССЫЛ("список!A1:A4") .

Недостаток : при переименовании листа – формула перестает работать. Как это можно частично обойти см. в статье Определяем имя листа .

Ввод элементов списка в диапазон ячеек, находящегося в другой книге

Если необходимо перенести диапазон с элементами выпадающего списка в другую книгу (например, в книгу Источник. xlsx ), то нужно сделать следующее:

  • в книге Источник.xlsx создайте необходимый перечень элементов;
  • в книге Источник.xlsx диапазону ячеек содержащему перечень элементов присвойте Имя , например СписокВнеш;
  • откройте книгу, в которой предполагается разместить ячейки с выпадающим списком;
  • выделите нужный диапазон ячеек, вызовите инструмент Проверка данных, в поле Источник укажите = ДВССЫЛ("[Источник.xlsx]лист1!СписокВнеш") ;

При работе с перечнем элементов, расположенным в другой книге, файл Источник . xlsx должен быть открыт и находиться в той же папке, иначе необходимо указывать полный путь к файлу. Вообще ссылок на другие листы лучше избегать или использовать Личную книгу макросов Personal.xlsx или Надстройки .

Если нет желания присваивать имя диапазону в файле Источник.xlsx , то формулу нужно изменить на = ДВССЫЛ("[Источник.xlsx]лист1!$A$1:$A$4")

СОВЕТ: Если на листе много ячеек с правилами Проверки данных , то можно использовать инструмент Выделение группы ячеек ( Главная/ Найти и выделить/ Выделение группы ячеек ). Опция Проверка данных этого инструмента позволяет выделить ячейки, для которых проводится проверка допустимости данных (заданная с помощью команды Данные/ Работа с данными/ Проверка данных ). При выборе переключателя Всех будут выделены все такие ячейки. При выборе опции Этих же выделяются только те ячейки, для которых установлены те же правила проверки данных, что и для активной ячейки.

Примечание : Если выпадающий список содержит более 25-30 значений, то работать с ним становится неудобно. Выпадающий список одновременно отображает только 8 элементов, а чтобы увидеть остальные, нужно пользоваться полосой прокрутки, что не всегда удобно.

В EXCEL не предусмотрена регулировка размера шрифта Выпадающего списка . При большом количестве элементов имеет смысл сортировать список элементов и использовать дополнительную классификацию элементов (т.е. один выпадающий список разбить на 2 и более).

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

Читайте также: