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

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

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

doc-auto-update-dropdown-list-1

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

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


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

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

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

Кнопка «Проверка данных» на вкладке «Данные» ленты

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

Диалоговое окно «Проверка данных»

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

  • A2 — это первая ячейка вашего предполагаемого диапазона данных. Измените её на начальную ячейку вашего фактического списка.
  • A:A обозначает весь столбец, содержащий данные вашего списка. Такая настройка гарантирует, что при добавлении новых элементов в этот столбец функция будет динамически пересчитывать размер диапазона.
  • Если в столбце присутствуют пустые ячейки или используются подзаголовки, возможно, потребуется скорректировать формулу или обеспечить единообразие структуры данных, чтобы исключить появление пустых элементов в выпадающем списке.
  • При работе с большими наборами данных имейте в виду, что волатильные функции, такие как СМЕЩ (OFFSET), могут немного снижать производительность, поскольку пересчитываются при каждом изменении.

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

Исходный список      Обновлённый список

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Затем закройте окно кода. Теперь каждый раз при добавлении данных в ваш исходный диапазон выпадающий список будет обновляться автоматически.

Изменение параметров в коде:
  • Source column («A:A» where your data is added)
  • Ячейка/диапазон проверки («D1:D100», где расположен выпадающий список)
Примечания:
  • Код выполняется автоматически при внесении изменений на лист
  • Он определяет Последняя строка с данными и соответственно обновляет диапазон проверки
  • Убедитесь, что макросы включены, чтобы этот метод работал
  • Сохраните файл как .xlsm, чтобы сохранить код.
  • снимок экрана kutools for excel ai

    Раскройте магию Excel с помощью KUTOOLS AI

    • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
    • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
    • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
    • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
    • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
    Расширьте возможности 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
    • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек