Страницы: 1
RSS
Почему в формуле IF выдает FALSE
 
=IF((ROUND(A2/$C$2;2))=OR(0,56;1,56;1,06;2,06);"-4")  
Я проверила формулу пошагово Excel считает 36/64=0,5625 округляет до 0,56 смотрит если = одно из чисел пишет true 0,56 и выдает результат false. Не могу понять почему?    
Помогите пожалуйста, заранее благодарна, файл прилагаю.
 
с чего Вы взяли что (ОКРУГЛ(A2/$C$2;2))=ИЛИ(0,56;1,56;1,06;2,06) будет равно  
 
=ЕСЛИ((ОКРУГЛ(A2/$C$2;2))={0,56;1,56;1,06;2,06};"-4")
Excel 2007
 
А что Вы хотите получить, если не находит округл()?  
 
Зы. И это формула массива,.
 
ошибся в этом =ЕСЛИ((ОКРУГЛ(A2/$C$2;2))={0,56;1,56;1,06;2,06};"-4")  
можете не использовать
Excel 2007
 
Вообще синтаксис ИЛИ() как-то так:  
=ЕСЛИ(ИЛИ(ОКРУГЛ(A2/$C$2;2)=0,56;ОКРУГЛ(A2/$C$2;2)=1,56;ОКРУГЛ(A2/$C$2;2)=1,06;ОКРУГЛ(A2/$C$2;2)=2,06);"-4")  
 
зы и если Вам нужно число, то -4 лучше без кавычек.
 
вариант переделки вашей формулы не вникая что да зачем  
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(ОКРУГЛ(A2/$C$2;2);{0,56;1,56;1,06;2,06};0));"-4")
 
=ЕСЛИ(ПОИСКПОЗ(ОКРУГЛ(A2/$C$2;2);{0,56;1,56;1,06;2,06};0);"-4";"")
Excel 2007
 
И я к гадателям :)  
Вариант исходной:  
=ЕСЛИ(ИЛИ(ОКРУГЛ(A2/$C$2;2)={0,56;1,56;1,06;2,06});-4)
 
А вот это уже формула массива.
 
Массива. Констант. Поэтому ввода трехпальцевого не просит.  
 
По скорости работы - не знаю.  
(ИЛИ(ОКРУГЛ(A2/$C$2;2)=0,56;ОКРУГЛ(A2/$C$2;2)=1,56.....  
ИЛИ(ОКРУГЛ(A2/$C$2;2)={0,56;1,56...  
На первый взгляд, разницы нет: и одна, и другая функция проверяет все условия. Но логика работы может быть разная: поиск до первой ИСТИНЫ, например...
 
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(ОКРУГЛ(A2/$C$2;2);{0,56;1,56;1,06;2,06};0));"-4")  
Эта формула работает и подошла под решение моей задачи, спасибо огромное всем.
 
А зачем Вы создаёте данный массив {0,56;1,56;1,06;2,06} ?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх