Страницы: 1
RSS
Выпадающий список по условию без применения "двссыл"
 
Добрый день, уважаемые форумчане.
Каждый раз кажется, что про списки уже знаешь всё, но вот нет))
Иногда оказывается, что, вроде бы, простейшая вещь, но вызывает прям ступор.
Итак, задумался сделать список по условию. В обычной жизни всегда создавал дополнительные таблицы и через условия, через "двссыл" писал страшную формулу, тапа такой:
Код
=ЕСЛИ(чзнач(двссыл("A1"))=чзнач(двссыл("Таблица1[[#Заголовки];[1]]"));ДВССЫЛ("Таблица1[1]");ЕСЛИ(чзнач(двссыл("A1"))=чзнач(двссыл("Таблица1[[#Заголовки];[2]]"));ДВССЫЛ("Таблица1[2]");ДВССЫЛ("Таблица1[3]")))
(для файла в примере).
Но что-то меня самого начало это утомлять, да и иногда надо проще, просто ввести условия, а на их выполнение ввести список.
Собственно, мой вопрос, как в указанной формуле изменить части ДВССЫЛ("Таблица1[1]"), ДВССЫЛ("Таблица1[2]"), ДВССЫЛ("Таблица1[3]") на простое перечисление руками, чтобы получить аналогичный результат, например, ДВССЫЛ("Таблица1[1]") на {11;12;13}, ДВССЫЛ("Таблица1[2]") на {21;22;23}, ДВССЫЛ("Таблица1[3]") на {31;32;33} .
Хочется просто написать:
Код
=Если(двссыл("A1")=1;{11;12;13};Если(двссыл("A1")=2;{21;22;23};{31;32;33}))


Ка это правильно простым образом написать, чтобы воспринималось как список с разделителями?
 
Kirill Gureev, Формулами - никак. Проверка данных работает только с диапазоном (Range) , и не с массивом(Array) , но можно менять кодом VBA. Буквально вчера была тема и последний ответHugo,  как раз про это.
По вопросам из тем форума, личку не читаю.
 
А может без ДВССЫЛ попробовать? Хотя тема так и называется.
Код
=ИНДЕКС((Таблица1[1];Таблица1[2];Таблица1[3]);;;Лист1!$A$1)
Изменено: gling - 14.08.2018 11:08:02
 
gling,  но ведь это просто другая запись ссылки на диапазон по сути, также как и Offset использовать.
По вопросам из тем форума, личку не читаю.
 
Согласен. Но тема то как называется? Может и подойдет.
 
gling, Под название подходит, а вот под ДВССЫЛ("Таблица1[1]") на {11;12;13}, нет, но это вопрос к ТС, какую задачу решает.
По вопросам из тем форума, личку не читаю.
 
Цитата
Kirill Gureev написал:
через "двссыл" писал страшную формулу,
Действительно это не удобно, но так же и не удобно вписывать нужные данные в формулу, а если этих диапазонов нужно 10 или еще >? Может лучше написать простую не страшную формулу, в диспетчер имен и не заморачиваться какой столбец выбирать. В предыдущей формуле нужно вбивать в формулу каждый диапазон, а в этой формула сама его находит.
Код
=ИНДЕКС(Таблица1;;ПОИСКПОЗ(""&$A$1;Таблица1[#Заголовки];0))
 
gling, отличное решение! Спасибо!
Даже, честно говоря, не догадался бы )

Получается, что просто вписать ну никак не получится... жаль
Страницы: 1
Наверх