Страницы: 1
RSS
Формирование динамического выпадающего списка
 
Здравствуйте.

Пытаюсь создать динамический выпадающий список (не учитывающий пустые строки, но позволяющий дополнять себя новыми значениями). Создаю именованный диапазон с такой формулой:
Код
=ДВССЫЛ(СЦЕПИТЬ("Данные!A2:";"A";СТРОКА(ИНДЕКС($A$2:$A$10;СЧЁТЗ($A$2:$A$10)))-1))

Список не работает. Подскажите, пожалуйста, что я делаю не так (пример файла во вложении).
 
Здесь ( http://planetaexcel.ru/techniques/1/ ) смотрели?
Учимся сами и помогаем другим...
 
Да, разумеется - "Выпадающий список с наполнением". Мне описанный там вариант не подходит, так как список пополняется не мануально, а при помощи формулы. Иначе говоря, умная таблица не "видит" новые элементы.
 
по вашему примеру: в формулах откуда то появилось имя листа "Группы!" хотя такого у вас нет и -1 лишнее.
"Выпадающий список с наполнением". способ 2 должен подойти.
 
что то я Вас не пойму. А это? http://planetaexcel.ru/techniques/1/35/
Учимся сами и помогаем другим...
 
вариант одна формула на все 3 списка.
Код
=СМЕЩ(Данные!$A$1;1;ПОИСКПОЗ(Расчет!$A2;Данные!$A$1:$C$1;0)-1;СЧЁТЗ(ИНДЕКС(Данные!$A$1:$C$10;;ПОИСКПОЗ(Расчет!$A2;Данные!$A$1:$C$1;0)))-1;1)
 
ber$erk, вот это работает, спасибо:
Код
=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)

Цитата
V пишет: вариант одна формула на все 3 списка.
Спасибо, но это слишком сложный вариант, так как в реальности таких списков 38.

Возник другой вопрос. Например, я создаю два разных списка по способу
Код
=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)

и называю их "Мой_список_1" и "Мой_список_2". Затем формирую в условной ячейке X1 из названий этих диапазонов список ("Проверка данных" --> "Список" ;) . В условной ячейке Y1 я хочу получить список данных соответствующего именованного диапазона, выбранного мной в ячейке X1. Для этого я в ячейку Y1 добавляю проверку данных со формулой =ДВССЫЛ(X1). В ячейке Y1 получаю не заветный список, а "пшик"... При проверке формулы в обычной ячейке получаю ошибку вычисления:
=ДВССЫЛ("Мой_список_2")
В чем может быть проблема?
 
ДВССЫЛ() не работает с динамическими диапазонами.
Изменено: Михаил С. - 07.03.2013 16:29:28
 
Посмотрите здесь (много примеров с выпадающими списками)...
http://www.contextures.com/excelfiles.html
Excel 2013
 
Вот:
 
Rustem Haziev, буду изучать, спасибо за ссылку.

С.М., большое спасибо! Остается, впрочем, одна проблема. Диапазон "Табл.1" имеет фиксированные границы, а у меня на практике возможна ситуация, когда добавляются ещё другие группы (четвертая, пятая и т.д.). Попытался обойти проблему, поменяв значение диапазона "Табл.1" на такое:
Код
Данные!$A$1:АДРЕС(11;(СЧЁТЗ(A1:R1)))

Но Excel не распознает вторую часть диапазона. Вариант СЦЕПИТЬ + ДВССЫЛ приводит в тупик, так как ДВССЫЛ, как выяснилось, не оперирует с динамическими диапазонами:
Код
ДВССЫЛ(СЦЕПИТЬ("Данные!$A$1";":";АДРЕС(11;(СЧЁТЗ(A1:R1)))))

Те же грабли, в общем. Никогда бы не подумал, что буду буксовать на таких мелочах как динамические списки...

[CENTER] =======================================[/CENTER]
В общем, решил все проблемы только так. Слава костылям  :)  !
Изменено: SagRU - 11.03.2013 18:25:55
 
Цитата
SagRU пишет:
Остается, впрочем, одна проблема. Диапазон "Табл.1" имеет фиксированные границы, а у меня на практике возможна ситуация, когда добавляются ещё другие группы (четвертая, пятая и т.д.)
Вот-2:
Страницы: 1
Читают тему
Наверх