Гид по технологиям

Как создать зависимые выпадающие списки в Google Sheets

8 min read Руководство Обновлено 23 Dec 2025
Зависимые выпадающие списки в Google Sheets
Зависимые выпадающие списки в Google Sheets

Логотип Google Sheets

Кратко о задаче

Зависимый выпадающий список — это элемент формы, при котором выбор в первом списке определяет набор опций во втором. Это удобно для категорий и подкатегорий: продукты → конкретные блюда, марка авто → модель, раздел сайта → страницы. В Google Sheets зависимость реализуют через именованные диапазоны и функцию INDIRECT или альтернативы.

Важно: в примерах ниже используются названия списков «Entree» и «Dessert». Вы можете заменить их на свои имена. Если имена содержат пробелы или специальные символы, см. раздел «Проблемы и обходы».

Содержимое статьи (навигация)

  • Подготовка элементов списков
  • Именование диапазонов
  • Создание первого выпадающего списка
  • Вставка функции INDIRECT
  • Создание зависимого выпадающего списка
  • Частые ошибки и способы устранения
  • Альтернативные подходы
  • Контроль качества и чек-лист
  • Краткое резюме

Подготовка элементов списков

  1. Создайте таблицу с заголовками для каждого набора опций. Можно держать элементы на отдельном листе, чтобы они не мешали рабочей таблице.
  2. Структура простая: в строке заголовков укажите категории (например, D3:E3 — Entree и Dessert). Ниже перечислите элементы каждой категории в отдельных столбцах.

Пример разметки:

  • D3: Entree
  • D4..D8: список блюд
  • E3: Dessert
  • E4..E7: список десертов

Вы решили вставлять выпадающие списки в ячейки A2 (первый список) и B2 (зависимый список). Это удобно для теста и демонстрации.

Именование диапазонов

Чтобы второй список мог подтягивать значения в зависимости от выбора, каждому набору опций даём имя (named range).

  1. Выделите ячейки со списком без заголовка (например, D4:D8 для Entree).
  2. В меню выберите Data → Named ranges.

Пункт меню — Named Ranges (именованные диапазоны) в Google Sheets

  1. В боковой панели укажите имя диапазона. Имя должно совпадать с текстом, который будет в первом выпадающем списке. В примере это Entree.

Диалог создания именованного диапазона для списка Entree

  1. Оставьте боковую панель открытой, выделите второй набор ячеек (например, E4:E7) и нажмите Add a range.

Кнопка добавить диапазон в боковой панели именованных диапазонов

  1. Назовите второй диапазон в точности как заголовок второй категории — в нашем примере Dessert — и нажмите Done.

Диалог создания именованного диапазона для списка Dessert

  1. После создания названий закройте панель. Именованные диапазоны можно в любой момент изменить или удалить.

Список именованных диапазонов в боковой панели Google Sheets

Совет: используйте короткие, уникальные имена без пробелов и специальных символов (только буквы, цифры и подчеркивания). Это уменьшит вероятность ошибок при использовании INDIRECT.

Создание первого выпадающего списка

  1. Выделите ячейку для первого списка (A2 в примере).
  2. В меню выберите Data → Data validation.

Пункт меню — Data Validation (проверка данных)

  1. В поле Criteria выберите List from a range и введите диапазон с заголовками (в нашем примере D3:E3).
  2. Отметьте Show dropdown list in cell и при желании задайте поведение для неверных данных и текст подсказки.
  3. Нажмите Save.

Окно настроек проверки данных — выбор диапазона списка

Результат: в A2 появится выпадающий список с элементами «Entree» и «Dessert».

Вставка функции INDIRECT

Для формирования диапазона второго списка используем формулу INDIRECT, которая преобразует текст (имя диапазона) в ссылку.

  1. На пустой ячейке введите формулу, заменив адрес на вашу ячейку первого списка (в примере — A2):
=INDIRECT(A2)
  1. При выборе в A2 значения «Entree» в ячейке с формулой появятся элементы, содержащиеся в именованном диапазоне Entree. При выборе «Dessert» появятся элементы диапазона Dessert.

Результат функции INDIRECT, показывающий элементы списка

Примечание: если в A2 пусто или содержится некорректное значение, INDIRECT даст ошибку. Это нормальное поведение — формула ожидает валидное имя диапазона.

Создание зависимого выпадающего списка

  1. Выделите ячейку для зависимого списка (B2 в примере).
  2. Снова откройте Data → Data validation.
  3. В Criteria выберите List from a range и введите ссылку на ячейку, где вы написали формулу INDIRECT (или прямо используйте INDIRECT(A2) как ссылку, если предпочитаете).

Важно: в окне Data validation Google Sheets ожидает диапазон или ссылку; если вводите формулу, убедитесь, что она возвращает диапазон. В простейшем варианте введите адрес ячейки с уже посчитанным массивом из INDIRECT.

  1. Установите Show dropdown list in cell и другие параметры по желанию. Нажмите Save.

Окно настроек проверки данных для зависимого списка

  1. Проверьте: выберите Entree в A2 и убедитесь, что в B2 видны соответствующие варианты.

Выбор элемента в первом выпадающем списке

  1. Повторно выберите другой элемент в A2 и убедитесь, что B2 обновляется.

Проверка вариантов во втором зависимом списке

Совет: если ваш второй список длинный, используйте сортировку или фильтрацию (SORT/UNIQUE) в промежуточной ячейке, чтобы отображать чистый, отсортированный набор.

Частые ошибки и способы устранения

  • Ошибка #REF или #NAME в INDIRECT: проверьте, что имя диапазона существует и написано точно так же, как значение в первом списке.
  • Пробелы в именах: Google Sheets не разрешает пробелы в именах диапазонов. Либо используйте подчеркивания в именах, либо используйте формулу SUBSTITUTE для преобразования текста перед INDIRECT: =INDIRECT(SUBSTITUTE(A2,” “,”_”))
  • Пустая ячейка в первом списке вызывает ошибку в INDIRECT: добавьте защиту через IFERROR или условный результат по умолчанию. Пример:
=IF(A2="","",INDIRECT(A2))
  • Множественный выбор: стандартные выпадающие списки поддерживают только одиночный выбор. Для множественного выбора используйте скрипт Apps Script или сторонние аддоны.
  • Права доступа: если диапазоны находятся на другом листе, убедитесь, что пользователь имеет доступ к таблице. Иначе именованные диапазоны не будут доступны.

Важно: при копировании списков на другие листы относительные ссылки и именованные диапазоны ведут себя по-разному. Проверьте адреса после копирования.

Альтернативные подходы

Если INDIRECT по какой-либо причине не подходит (например, имена содержат пробелы, или вы хотите динамически строить диапазон), используйте один из вариантов:

  1. FILTER + INDEX
  • Постройте единый столбец с парой «категория — значение» и фильтруйте по выбранной категории: =FILTER(values_range, categories_range=A2)
  1. QUERY
  • Используйте QUERY для выборки по условию и сортировки: =QUERY(таблица,”select Col2 where Col1=’”&A2&”‘“,0)
  1. VLOOKUP с массивами (менее универсально)

  2. Apps Script

  • Скрипт может динамически менять правило проверки данных в ячейке, подставляя точный диапазон при каждом выборе. Это полезно для сложных UI-решений и множественного выбора.

Когда INDIRECT удобен: простая структура именованных диапазонов, отсутствие пробелов в именах, небольшое количество данных. Когда FILTER/QUERY лучше: данные нормализованы в едином листе и требуется более гибкая логика выборки.

Ментальная модель и рекомендации

Ментальная модель: думайте о первом списке как о «ключе» (ключевая категория), а о втором — как о «значении» (набор подкатегорий). INDIRECT — это мост, который переводит текст-ключ в адрес значения.

Хорошие практики:

  • Держите справочные списки на отдельном листе и защищайте их от случайного редактирования.
  • Используйте короткие имена диапазонов без пробелов.
  • Добавляйте валидацию и подсказки для пользователей.
  • Тестируйте на мобильной версии Google Sheets — поведение выпадающих списков может отличаться.

Чек-лист перед деплоем (рольная разбивка)

Администратор:

  • Все списки перенесены на отдельный лист
  • Именованные диапазоны созданы и проверены
  • Лист защищён от редактирования для обычных пользователей

Редактор/Контент-менеджер:

  • Проверил соответствие элементов в списках
  • Убедился, что заголовки совпадают с именами диапазонов
  • Добавил подсказки валидации

Пользователь:

  • Получил инструкции по использованию
  • Проверил работу списков на своих правах доступа

Проверочные тесты и критерии приёмки

Критерии приёмки:

  • При выборе «Entree» в первом списке во втором отображается только набор Entree.
  • При переключении на «Dessert» второй список автоматически обновляется.
  • Пустой или неверный выбор в первом списке не приводит к необработанным ошибкам в рабочем листе (IFERROR или пустое значение).
  • Права доступа не мешают просмотру именованных диапазонов.

Тест-кейсы:

  1. Выбрать Entree → проверить, что все ожидаемые элементы видны.
  2. Выбрать Dessert → проверить обновление.
  3. Очистить A2 → убедиться, что B2 остаётся пустым или не даёт ошибку.
  4. Попробовать выбрать несуществующую запись (если доступно) → ожидаем валидацию/предупреждение.

Примеры расширенной реализации

  • Динамические диапазоны: используйте формулы типа OFFSET+COUNTA или именованные диапазоны с диапазоном, который расширяется автоматически.
  • Сортировка и удаление дубликатов: комбинируйте UNIQUE и SORT перед тем, как подавать массив в валидацию: =SORT(UNIQUE( FILTER(…)))
  • Множественные зависимые уровни: для трёхуровневой иерархии повторите схему — каждому уровню свой именованный диапазон и свое INDIRECT/QUERY.

Mermaid — простая логика выбора для внедрения зависимостей:

flowchart TD
  A[Выбор в первом списке] --> B{Проверить имя диапазона}
  B -- Существует --> C[INDIRECT возвращает диапазон]
  B -- Не существует --> D[Показать пустой список / сообщение об ошибке]
  C --> E[Установить правило проверки данных для второй ячейки]
  D --> E

Советы по локализации и совместимости

  • Имена диапазонов из латиницы надёжнее при обмене файлами между локализациями. Если ваши пользователи работают на разных языках, используйте универсальные идентификаторы (например, entree_menu вместо Entree) и отображайте человекочитаемые названия в первом списке.
  • Учтите, что правила валидации и текст подсказок будут локализованы только в том языке, где редактировалась таблица.

Краткое резюме

Создание зависимых выпадающих списков в Google Sheets — простая и мощная техника для контроля ввода данных. Основные шаги:

  1. Подготовьте списки и заголовки.
  2. Создайте именованные диапазоны для каждой группы опций.
  3. Сделайте первый выпадающий список по заголовкам.
  4. Используйте INDIRECT (или FILTER/QUERY) чтобы получить диапазон для второго списка.
  5. Пропишите проверку данных для второй ячейки и протестируйте.

Важно: если требуется более сложная логика (многоуровневые зависимости, множественный выбор), рассмотрите Apps Script или объединение таблиц через FILTER/QUERY.

Примечание: перед массовым внедрением проверяйте поведение на устройствах и у пользователей с разными правами доступа.


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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Быстрые ярлыки Xbox: поиск и доступность
Гайды

Быстрые ярлыки Xbox: поиск и доступность

Как уменьшить размытие движения на телевизоре и мониторе
Дисплеи

Как уменьшить размытие движения на телевизоре и мониторе

Piwigo на Raspberry Pi: установка и руководство
Самохостинг

Piwigo на Raspberry Pi: установка и руководство

Поиск фото на iPhone: советы и фильтры
iPhone

Поиск фото на iPhone: советы и фильтры

SketchUp: бесплатная версия и как начать
3D моделирование

SketchUp: бесплатная версия и как начать

Как создать дерево решений в Excel — пошагово
Excel

Как создать дерево решений в Excel — пошагово