Страницы: 1
RSS
Возведение в степень произведения чисел через ячейку
 
Добрый вечер, возникла проблема с функцией СТЕПЕНЬ. Имеется связанная таблица с рядом чисел (в файле примера B1:B14), некоторые из которых могут быть нулями. При расчете такого вида: =СТЕПЕНЬ(B1*B2*B3*B4*B5*B6*B7*B8*B9*B10*B11*B12*B13*B14;1/14), если в столбце окажется ноль, результат также будет равен 0.
Вопрос состоит в следующем: есть ли возможность сделать условия для слишком малых или больших значений таким образом, чтобы они не перемножались, и чтобы значение знаменателя степени, в которую возводится произведение (в примере - 14 - равное количеству множителей) также бы было меньше на их количество (при трех неподходящих значениях в столбце - 1/11 вместо 1/14 и т. д.)
Благодарю за ответы.
 
желаемый результат не показан как понял
Код
=СТЕПЕНЬ(СУММПРОИЗВ(ПРОИЗВЕД((B1:B14)+(B1:B14=0)));1/СЧЁТЕСЛИ(B1:B14;">0"))
Лень двигатель прогресса, доказано!!!
 
Сергей,спасибо за ответ, а если второе условие ставить (к примеру, меньше 4), где его нужно прописать?
Сообразил! функция СЧЁТЕСЛИМН
PS: Не могли бы объяснить, что значит (F4:F10=0) в формуле? (хочется до конца разобраться, чтобы больше не возникало вопросов по этому поводу)
Изменено: frankyw - 23.06.2016 19:52:43
 
в примере (файле) покажите что отсеиваем с желаемым результатом посчитанным вручную
Лень двигатель прогресса, доказано!!!
 
Сергей,прикрепляю новый файл
 
СЧЁТЕСЛИ(B1:B14;">0") считаем числа больше нуля
(F4:F10=0) определяем в массиве где нули {ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ}
при вычислении ИСТИНА превращается в 1 в итоге вот это (B1:B14)+(B1:B14=0) превращается в массив в котором 0 заменяется на 1 {3:2:1:1:4:1:2:2:4:5:4:1:3:1} как мы знаем в математике умножение на 1 не изменяет сумму
Лень двигатель прогресса, доказано!!!
 
Сергей,Спасибо огромное за помощь и объяснение!  
 
вот такая мазута получилась мож кто и уменьшит, формула массива вводится тремя клавишами
Код
=СТЕПЕНЬ(ПРОИЗВЕД((((B1:B21)+НЕ(B1:B21>0))*(B1:B21<15))+НЕ(B1:B21<15));1/СУММ((B1:B21>0)*(B1:B21<15)))
Лень двигатель прогресса, доказано!!!
 
Сергей, похоже, что я не совсем точный пример сделал,в исходном документе значения, к которым применяется функция СТЕПЕНЬ стоят через один, выделение через точку с запятой дают ошибку #ЗНАЧ
=СТЕПЕНЬ(СУММПРОИЗВ(ПРОИЗВЕД((C135;C137;C139;C141;C145;C147)+(C135;C137;C139;C141;C145;C147=0)));1/СЧЁТЕСЛИМН(C135 C137 C139 C141 C145 C147;">0";C135 C137 C139 C141 C145 C147;"<100"))
 
Сделайте точный пример и объясните задачу. Тема грозит перейти в разряд мусора - все время меняете условия.
 
вот реализация в файле вашего последнего примера, и привыкайте если обращаетесь с проблемой показывать её в файле
Лень двигатель прогресса, доказано!!!
 
vikttur, принял к сведению.
В файле точный пример, уточняю вопрос. При применении функции =СТЕПЕНЬ(B3*B5*B7*B9*B11*B13*B15*B17;1/8) необходимо исключить ячейки меньше или равные 0 и большие или равные 100 из множителей функции и из знаменателя степени, в которую возводится произведение.
 
Формула массива (ввод тремя клавишами):
=ПРОИЗВЕД(ЕСЛИ(A2:A17="";ЕСЛИ(B2:B17>0;ЕСЛИ(B2:B17<1;B2:B17))))^(1/СЧЁТЕСЛИМН(B2:B17;">0";B2:B17;"<1";A2:A17;""))*100
 
мой последний предложенный вариант тоже работает для сведения 100%=1
Лень двигатель прогресса, доказано!!!
 
Большое спасибо, господа. Вопрос был окончательно решен!
Страницы: 1
Читают тему
Наверх