Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Sun Last modified

doc-auto-update-dropdown-list-1

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

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


arrow blue right bubble Автоматическое обновление выпадающего списка с помощью формулы

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

1. Выберите ячейку, куда вы хотите вставить выпадающий список, затем перейдите к Данные > Проверка данных > Проверка данных. См. скриншот:

Data Validation button on the Data tab on the ribbon

2. В открывшемся дииалоговом окне Проверка данных перейдите на вкладку Параметры, выберите Список из параметров Разрешить и затем введите следующую формулу динамического диапазона в поле Источник:
=OFFSET($A$2,0,0,COUNTA(A:A)-1)

Data Validation dialog

Объяснение параметров и практические советы:

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

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

Original list      Updated list

Устранение неполадок и советы:

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

arrow blue right bubble Использование таблицы в качестве источника выпадающего списка (автоматическое расширение с новыми элементами)

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

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

1. Выделите диапазон исходных данных (например, A2:A6).

2. Перейдите на вкладку Вставка и выберите Таблица. Убедитесь, что отмечена опция «Моя таблица содержит заголовки», если ваш список включает заголовки.

3. Excel отформатирует ваш диапазон как таблицу. По умолчанию она может быть названа Таблица1 (вы можете проверить или переименовать таблицу через вкладку Конструктор таблиц, используя поле Имя таблицы слева).

4. Щелкните на ячейке, где вам нужен выпадающий список, затем перейдите к Данные > Проверка данных.

5. Выберите опцию Список из выпадающего меню Разрешить, а затем в поле Источник введите ссылку на столбец вашей таблицы, например:

=INDIRECT("Table1[Column1]")
Замените Таблица1 на фактическое имя вашей таблицы и Столбец1 на заголовок вашей таблицы.

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

Примечания и советы:

  • Таблицы Excel предоставляют структурированный диапазон, который расширяется и сужается при изменении данных, что делает их идеальными для списков, которые ожидается часто менять.
  • Если вам нужно сослаться на выпадающий список на другом листе, используйте =INDIRECT("Таблица1[Столбец1]"), так как прямые ссылки на таблицы в проверке данных могут быть ограничены текущим листом в некоторых версиях Excel.
  • Этот подход позволяет избежать пустых значений в выпадающем списке, если ваш список содержит только непустые элементы.

arrow blue right bubble Использование VBA для автоматического обновления диапазона источника выпадающего списка

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

1. Нажмите Alt+F11, чтобы открыть редактор VBA, дважды щелкните рабочий лист, где находится проверка данных, в проекте VBAProject.

2. Скопируйте и вставьте следующий код в модуль.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sourceColumn As Range
    Dim validationCell As Range
    Dim lastRow As Long
    Set sourceColumn = Me.Range("A:A") ' Change to your source column
    If Not Intersect(Target, sourceColumn) Is Nothing Then
        Application.EnableEvents = False
        lastRow = Me.Cells(Me.Rows.Count, sourceColumn.Column).End(xlUp).Row
        Set validationCell = Me.Range("D1:D100") ' Change to your validation cell  
        With validationCell.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
                 Formula1:="=$A$1:$A$" & lastRow
        End With
        
        Application.EnableEvents = True
    End If
End Sub

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

Измените параметры в коде:
  • Исходный столбец ("A:A", куда добавляются данные)
  • Ячейка/диапазон проверки ("D1:D100", где находится выпадающий список)
Примечания:
  • Код автоматически выполняется при внесении изменений в рабочий лист
  • Он находит последнюю строку с данными и обновляет диапазон проверки соответствующим образом
  • Убедитесь, что макросы включены для работы этой функции
  • Сохраните файл как .xlsm, чтобы сохранить код.
  • a screenshot of kutools for excel ai

    Раскройте магию Excel с Kutools AI

    • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
    • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
    • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
    • Интерпретация формул: Легко разбирайтесь в сложных формулах.
    • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
    Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

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

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

    🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
    Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
    Супер ПОИСК: 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.

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