Forums -> Флейм -> Маааленький вопросик по Excel
| Full Version

Lord KiRon
Для тех кто хорошо рубит.
Имеем таблицу, в таблице есть колонка C и колонка D.
Обе колонки содержат листы из двух элементов "Да" и "Нет".
В задаче требуется чтоб если в Cx стоит "Нет", то и в Dx стояло "Нет", а если в Cx стоит "Да" то пользователь мог бы выбрать значение Dx "вручную" , то есть из выпадающего списка "Да/Нет".

Именно со второй частью условия и проблема в
CODE
=IF(C1="Нет","Нет",???)
не катит ибо там где ??? я не хочу задавать жесткое условие.

Как сие сделать не используя VBA (если вообще возможно)?

То есть нужно что то похожее на Conditional Formating, только не он конечно ибо он только красит.
shatterhand
Верни пустую строку
=ЕСЛИ(C1="нет";"нет";"")
Не то?
anatolyArts
Очень просто:

1). Создай группу "Да, Нет" и назови её как-нибудь.
Например: А1='Да, А2='Нет
Отметь их разом и в поле "Name box" это возле строки с формулой, напиши название, скажем "listOne"

2). Задай проверку для поля Dx.
Для этого клацни по полю мышкой, в меню Data выбери Validation.
В графе "Allow" выбери "list"
В графе "source" введи формулу: =IF($C$x="Да",listOne,A2)
Замени $x на номер твоей строки.

Всё.
Для удобства группы можно создавать подальше от глаз пользователя.
adjonja
QUOTE (anatolyArts)
Для удобства группы можно создавать подальше от глаз пользователя.
или скрыть
anatolyArts
Кстати, вот нашел статью про как раз такую задачку: link
Lord KiRon
anatolyArts
Спасибо,
но есть одна проблемка - у меня 2007-й и как в нем создать named group- не имею не малейшего понятия.
У меня там собственно и так лист для значений , я его создал через validation просто перечислив значения.

upd: - нашел, они переименовали его в named range :)
Lord KiRon
Неа, как оказалось увы не катит, то есть код я написал, даже "оптимизировал":
CODE
=IF(Table2[[#This Row],[Заказ получен]]="Нет","Нет",{"Да","Нет"})
но...
как только ставишь значение в ручную - формула исчезает...
FiL
я не спец в экселях, но мне кажется надо подходить с другой стороны.
надо ВЕЗДЕ в колонке D проставить этот листбокс с двумя значениями, а потом если в С стоит "нет", то в D надо программно выставлять вариант "нет" и лочить ячейку. Должно делаться через кондишнл форматтинг мне кажется. Но не гарантирую, у меня экселя уже давно нету.