KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как скрыть ранее использованные элементы в раскрывающемся списке?

АвторСяоянДата изменения

В Excel создание стандартного раскрывающегося списка — распространённый приём для ввода данных, но что делать, если вы хотите, чтобы список динамически сокращался после каждого выбора: ранее выбранные элементы автоматически исчезали из него, обеспечивая возможность выбрать каждый вариант лишь один раз? Представьте, например, раскрывающийся список из 100 уникальных имён: как только вы выбираете одно из них, оно пропадает из списка, оставляя 99 доступных вариантов. По мере дальнейших выборов список продолжает автоматически уменьшаться, пока не опустеет полностью. Такая интерактивность особенно полезна при распределении задач без дублирования, рассадке участников или проведении розыгрышей, где каждый выбор должен быть уникальным. Однако Excel не поддерживает эту функциональность «из коробки», поэтому для её реализации требуются специальные обходные решения. В следующих разделах приведены пошаговые инструкции по настройке такого поведения.

Скрытие ранее использованных элементов в Раскрывающийся список с помощью вспомогательных столбцов


синяя стрелка вправо с пузырёмСкрытие ранее использованных элементов в Раскрывающийся список с помощью вспомогательных столбцов

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

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

образец данных

1. Рядом со своим списком имён, в ячейке B1, введите следующую формулу, чтобы проверить, было ли имя уже выбрано в диапазоне раскрывающихся списков:

=IF(COUNTIF($F$1:$F$11,A1)>,=1,"",ROW())

Эта формула сравнивает каждое имя со значениями, уже выбранными в раскрывающемся списке (диапазон F1:F11). Если имя уже выбрано, формула возвращает пустую ячейку; в противном случае — номер строки как вспомогательное значение. Обязательно скорректируйте диапазон F1:F11 в соответствии с расположением ваших раскрывающихся списков, а ссылку A1 — под местоположение вашего списка имён.

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

Примечание: Убедитесь, что диапазон «F1:F11» охватывает все ячейки с раскрывающимися списками. Ссылка «A1» должна указывать на текущую строку в вашем списке имён.

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

заполнить формулу в другие ячейки

3. В столбце C настройте вспомогательную формулу в ячейке C1, которая будет динамически формировать чистый список только из невыбранных имён:

=IF(ROW(A1)-ROW(A$1)+1>,COUNT(B$1:B$11),"",INDEX(A:A,SMALL(B$1:B$11,1+ROW(A1)-ROW(A$1))))

Эта формула собирает все невыбранные имена, извлекая соответствующие элементы из столбца A на основе вспомогательных значений в столбце B. По мере выбора и исключения имён в столбце B список в столбце C автоматически обновляется. Если ваш список содержит более 11 имён, обязательно скорректируйте все диапазоны соответствующим образом.

применить другую формулу к значениям ячеек списка

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

заполнить формулу в другие ячейки

5. Чтобы превратить этот динамически обновляемый список в раскрывающийся, задайте именованный диапазон. Выделите созданный список в столбце C (например, C1:C11), затем перейдите по пути: Формулы > Определить имя.

определить имя диапазона для новых данных

6. В диалоговом окне Новое имявведите имя (например,)namecheck) и используйте следующую формулу динамической ссылки, чтобы размер именованного диапазона автоматически подстраивался по мере добавления имён:

=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1)

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

настройка параметров в диалоговом окне «Новое имя»

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

7. Чтобы создать раскрывающийся список, выделите ячейки, в которых пользователи будут делать выбор (например, F1:F11). Затем перейдите в меню Данные > Проверка данных > Проверка данных.

нажмите «Проверка данных»

8. В диалоговом окне Проверка данных на вкладке Параметры выберите тип Список и введите =namecheck в поле «Источник», указав динамический именованный диапазон, который вы определили.

настройка параметров в диалоговом окне «Проверка данных»

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

результат скрытия ранее использованных элементов в раскрывающемся списке

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

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



Связанные статьи:

Как вставить раскрывающийся список в Excel?

Как создать раскрывающийся список с изображениями в Excel?

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек