Страницы: 1
RSS
Выполнение трех и более условий "И"/"ИЛИ" в формуле.
 
Здравствуйте! Подскажите, пожалуйста, почему моя формула возвращает значение "ИСТИНА" при выполнении вместо трех всего лишь одного условия? Может, в каком-то из мест не хватает скобок\кавычек?
 
может, попробовать пошагово вычислить и увидеть?  ;)

или на словах описать - какую задачу вы хотите решить формулой.
возможно, всё гораздо проще решается.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Функция "И" равна единице (т.е. ИСТИНА), если равны единице ВСЕ ее аргументы. Функция "ИЛИ" равна единице, если равен единице ХОТЯ БЫ один аргумент.
Анализируйте!
Excel 2013
 
Пошагово это элементарно, я безусловно могу создать три ячейки с формулами - а четвертая будет возвращать значение ИСТИНА исключительно в случае истинности значений всех трех ячеек. Но мне нужно, чтобы это уместилось в одной формуле. Если пытаться объяснить суть на "пальцах", это может выглядеть примерно так: у Васи может быть или 3 рубля, или 5 рублей, или 10; у Вовы может быть или 1 рубль, или 2 рубля, или 3; у Вани может быть или 10 копеек, или 20 копеек, или 50 копеек. Если у Васи 3 рубля, у Вовы 1 рубль, у Вани 20 копеек  - ИСТИНА; если у Васи 1 рубль, у Вани 10 копеек, у Вовы 2 рубля - ЛОЖЬ.
 
=ЕСЛИ(И(ИЛИ(A2=10;A2=12;A2=14);ИЛИ(A3=20;A3=30;A3=40);ИЛИ(A4=100;A4=200;A4=300));H8;"")
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
Rustem Haziev пишет: Анализируйте!
Дорогой, я не умею анализировать. Если у Вас нет решения такого простого (на Ваш взгляд) вопроса, лучше ничего не пишите.
 
ну, готовую формулу Вам написал Владимир.
поэтому просто поясню:
"пошагово вычислить" - это именно вычислить имеющуюся формулу в ячейке.
никуда разбивать её не надо.

плохо, что этот инструмент спрятан довольно далеко.
в Excel 2003 - меню Сервис - Зависимости формул - Вычислить формулу.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Так покороче:

=ЕСЛИ(СУММ((A2={10;12;14})+(A3={20;30;40})+(A4={100;200;300}))=3;H8;"")
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
=ЕСЛИ(ИЛИ(A2=10;A2=12;A2=14);ЕСЛИ(ИЛИ(A3=20;A3=30;A3=40);ЕСЛИ(ИЛИ(A4=100;A4=200;A4=300);H8;""  ;)  ))

=ЕСЛИ(((A2=10)+(A2=12)+(A2=14)+(A3=20)+(A3=30)+(A3=40)+(A4=100)+(A4=200)+(A4=300))=3;ИСТИНА;ЛОЖЬ)
Дорогой, зачем так грубо...
Изменено: Rustem Haziev - 24.03.2013 15:04:06
Excel 2013
 
Владимир, спасибо. Оказывается, собака порылась в недостающей скобке после каждого перечисления ИЛИ. Так и знал, так и знал...  :)
 
для ячеек, расположенных как в примере

Код
=ЕСЛИ(СУММПРОИЗВ(--(A2:A4={10;12;14:20;30;40:100;200;300}))=3;H8;"")
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Пипл, всем спасибо, юзаю вариант Владимира (остальные взял на заметку, вдруг в каком-то из мест они окажутся удобнее).
 
=ЕСЛИ(И(ИЛИ(A2={10;12;14});ИЛИ(A3={20;30;40});ИЛИ(A4={100;200;300}));H8;"")
Длиннее, но шустрее:
=ЕСЛИ(ИЛИ(A2={10;12;14});ЕСЛИ(ИЛИ(A3={20;30;40});ЕСЛИ(ИЛИ(A4={100;200;300});H8;"");"");"")
 
Вопрос vikttur:
Как, где определили шустрость формулы?
Excel 2013
 
Здесь определить просто: с помощью функций ЕСЛИ() обрезаем лишние вычисления. Без них просчитываются все условия.
 
Спасибо!
Excel 2013
Страницы: 1
Читают тему
Наверх