Таким образом, очевидно, что функция INDIRECT не работает с проверкой данных в Excel при использовании динамического именованного диапазона c - PullRequest
0 голосов
/ 22 февраля 2020

Попытка создать раскрывающийся список в ячейке, где источником является именованный диапазон с динамическим c. Именованный диапазон относится к:

=$A$2:INDEX($A:$A,COUNTA($A:$A))

По сути, диапазон начинается с А2 и продолжается до последнего значения в столбце, поэтому при добавлении или удалении значения я не получаю пробелы в моем список или новые значения отсутствуют. Я могу без проблем использовать следующее в качестве источника проверки данных для моего списка:

=Named_Range

Он предоставляет мне выпадающий список всего в именованном диапазоне.

Однако, Когда я вписываю имя именованного диапазона (Named_Range) в ячейку (скажем, F1) и использую следующее в качестве источника проверки данных для моего списка, я не получаю раскрывающийся список:

=INDIRECT(F1)

Поиск вокруг показал, что это известная проблема, но я не могу найти способ обойти это.

1 Ответ

2 голосов
/ 22 февраля 2020

Вместо создания динамических списков c с использованием метода, который вы используете, я предлагаю использовать Tables.

Создать таблицу для каждого зависимого раскрывающегося списка. - Обязательно выберите «моя таблица имеет заголовки»

Затем

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

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

...