Страницы: 1
RSS
Подставлять значения в зависимости от выбранного(или не выбранного) значения
 
Возникла задача подставлять значения в зависимости от выбранного(или не выбранного) значения. Сверяемых полей 3, в вертикальной иерархии: ЛБ1->ЛБ2->ЛБ3

При наличии заполненного поля ЛБ3 (не "ВСЕ"), ищем значение ЛБ3, если ЛБ3 не заполнено, то, если ЛБ2 не "ВСЕ", ищем ЛБ2, иначе, если ЛБ1 заполнено то ещем его, иначе возвражаем ошибку
вот эта формула правильно работает на уровне ЛБ2 и ЛБ3
Код
=ЕСЛИОШИБКА(ЕСЛИ(C3="(Все)";ВПР(C2;Прямые_затраты!$J$2:$L$32;2;0);ИНДЕКС(Прямые_затраты!D:D;ПОИСКПОЗ(C3;Прямые_затраты!C:C;0)));"Не указано")
Но потребовалось добавить ЛБ1..

Вот черновой проект, не работает правильно
Код
  ЕСЛИОШИБКА(ЕСЛИ(C3="(Все)";ЕСЛИ(C2="(Все)";ЕСЛИ(C1="(Все)" ; "Не указано";ВПР(C1;Прямые_затраты!$J$2:$L$32;2;0));ВПР(C2;Прямые_затраты!$O$2:$Q$32;2;0));ИНДЕКС(Прямые_затраты!D:D;ПОИСКПОЗ(C3;Прямые_затраты!C:C;0));"Не
  указано")
Изменено: googlogmob - 13.03.2015 11:32:23
 
файл вообще не понятно зачем выложили, одни рисунки, ни одного выпадающего списка, нет списка откуда что искать, что брать и куда это вставлять. вообще ничего не ясно.
 
alexthegreat, Выпадающие списки не имеют к задаче отношения
Имеем три ячейки, которые иерархично зависимы по вертикале
В зависимости от заполнения 1-го,2-го или 3-го уровней и нужно про-впр-ить некоторые таблицы
Вопрос не в том, откуда получать данные, или какие выпадающие списки, а в том, как прописать функцию ЕСЛИ, чтобы:
- при заполнении 3-го уровня - производился расчет ВПР
- при незаполнении 3-го уровня чтобы проверка переходила к ячейке 2-го уровня:
 -- если он заполнен, то впр по таблице (другой)
 -- если не заполнен, то проверка переходила в ячейке уровня 1.
    --- если он заполнен, то впр
    --- если не заполнен, то ошибка

То есть, прошу просто помочь правильно составить если, условными обозначениями
Алгоритм прикреплен в рисунке
"ВСЕ" - отображение в ячейках при не выбранном варианте (не заполнен)

Буду очень Благодарен за помощь
ПС. есть функция, которая правильно работает между 2 и 3 уровнями:
Код
=ЕСЛИОШИБКА(ЕСЛИ(C3="(Все)";ВПР(C2;Прямые_затраты!$J$2:$L$32;2;0);ИНДЕКС(Прямые_затраты!D:D;ПОИСКПОЗ(C3;Прямые_затраты!C:C;0)));"Не указано")
Изменено: googlogmob - 06.04.2015 09:33:28
 
Через ЕСЛИОШИБКА
Код
=ЕСЛИОШИБКА(ИНДЕКС(Прямые_затраты!D:D;ПОИСКПОЗ(C3;Прямые_затраты!C:C;0));ЕСЛИОШИБКА(ВПР(C2;Прямые_затраты!$J$2:$L$32;2;0);ЕСЛИОШИБКА(ВПР(C1;Прямые_затраты!$O$2:$Q$32;2;0);"Не указано")))
 
alexthegreat, прав ваши картинки ни о чем тоже заглянул ни фига ни понял лучше сделали бы нормальный пример близкий к жизни
Лень двигатель прогресса, доказано!!!
 
Сергей, задачу сам решил, при помощи другой функции
Но все равно, Спасибо за совет, наверно действительно не понятно описал/показал задачу
Страницы: 1
Наверх