Связные выпадающие списки

Автор smesharic, 21 января 2016, 16:46

0 Пользователи и 1 гость просматривают эту тему.

JohnSUN

А зачем ты вообще дублируешь названия отделов? В примере они были нужны просто для наглядности. А в реальной таблице имеешь полное право диапазон ячеек для первого списка задавать прямо как $Лист2.$F$2:$I$4
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Цитата: rami от 22 января 2016, 13:33Для решения такой задачи нужно писать макрос, да не хилый.
Не получилось написать Монументальный Макрос™  8-)

Думаю, что этот вариант подойдёт :roll:

Таблица на втором листе до 99 строки (можно увеличить), а выпадающие списки на первом до 10 строки (тоже можно увеличить)

JohnSUN

Цитата: rami от 22 января 2016, 23:13
Не получилось написать Монументальный Макрос™  8-)
Ну нет, так дело не пойдёт! "Пацан сказал - пацан сделал!"
Второй параметр в функции bb() натолкнул меня на забавную (как мне тогда показалось) мысль...
Трудно было не код писать, трудно было наваять достаточное для тестирования количество данных.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

smesharic

Ребята. Привел документ почти к такому виду в котором он будет выглядеть.
Единственное у меня не получается разобраться с выпадающим списком "Выберете должность"
все перековырял не разобрался.
Не подскажите в чем проблема?
Я просто решил уже доехать на файле с формулами, вариант отличный

rami

Цитата: smesharic от 25 января 2016, 09:20Единственное у меня не получается разобраться с выпадающим списком "Выберете должность"
все перековырял не разобрался.
Насчёт параметра сортировки объяснял выше. Теперь о ссылках: если ссылаетесь на ячейки текущего листа, то название листа можно не писать, но в ссылках на ячейки другого листа должно быть обязательно название листа, иначе ссылка будет по-умолчанию на текущий лист. Правильная формула для отбора данных:INDEX($Лист2.C2:AF8;;MATCH($Лист1.A18;$Лист2.C1:AF1;0))

smesharic

Мне эту формулу изменить в E16?

smesharic

Спасибо, я разобрался до конца. Огромное Все спасибо за помощь! Rami Вам в особенности Большое Человеческое Спасибо!
Теперь буду пробовать "ВПРить"

smesharic

Мужики подскажите пожалуйста, не получается подставить данные в третью колонку ВПР-ом
формула =VLOOKUP(A18;Лист3.A1:C81;3;0)

что я  делаю не так, подскажите пожалуйста!

smesharic

Пытался применить сюда функциею Если (if) вообще тогда не понимаю как быть и что куда применять.... голова взорвется скоро

JohnSUN

Трудно сказать... В последнем выложенном ПОЧТИ_ФИНИШХИМ.ods на Лист3 вообще ничего ещё не было... А что формула-то возвращает? На что ругается?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

smesharic

Файл во вложении.
Формула не ругается ни на что.
Она просто на какие-то объекты дает корректную инфу, а на какие то демагогию показывает, тянет не пойми откуда данные

rami

#26
Цитата: smesharic от 25 января 2016, 15:13Она просто на какие-то объекты дает корректную инфу, а на какие то демагогию показывает, тянет не пойми откуда данные
Эта функция VLOOKUP() для данного случая не подходит: она ищет значение в столбце A и первое соответствующее ему в столбце C, игнорируя столбец B, а нужно учитывать одновременно данные из столбцов A и B

JohnSUN

#27
Ну, не знаю даже... Может быть, как-то так?
=OFFSET($Лист3.$C$1;MATCH($A$18&$B$18;$Лист3.$A$1:$A$81&$Лист3.$B$1:$B$81;0)-1;0)
В принципе, сюда же можно и IF() прикрутить, чтобы задавить вывод #Н/Д... А можно условным форматированием то же самое сделать...

UPD. Вместо IF() можно использовать IFERROR()
В Экселе это было бы
=ЕСЛИОШИБКА(СМЕЩ(Лист3!$C$1;ПОИСКПОЗ($A$18&$B$18;Лист3!$A$1:$A$81&Лист3!$B$1:$B$81;0)-1;0);"")
В Calc'е это выглядит как
=IFERROR(OFFSET($Лист3.$C$1;MATCH($A$18&$B$18;$Лист3.$A$1:$A$81&$Лист3.$B$1:$B$81;0)-1;0);"")
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Вообще эта задача для фильтра или функций баз данных. Вот такой вариант:

smesharic

"JohnSUN " пробовал Ваш метод, смотрел проверял, на любое значение столбца А и B выдает 504 ошибку, не смог разобраться...
"rami" - Да, все работает, Спасибо.
Вы мне очень помогли!! Большое Спасибо!