Учитывая следующий Excel лист:SUMPRODUCT принуждении в Excel
A1 = 10
A2 = 20
A3 = 30
Я знаю/понимаю, почему SUMPRODUCT(0+(A1:A3>0))
возвращает 3 (3 булевы значения принуждают в к целым числам из-за того).
Почему SUMPRODUCT(1+(A1:A3>0))
возвращение 6? (И увеличивая константу дает нам результат Constant * N + N.
Является ли это документированная особенность Excel, или просто какой-то странно странность, что я наткнулся?
Ради ясности, эти формулы не являются формулами массива, и Im с помощью Excel 2003.
Что вы _expect_ его вернуть, если не '6'? –
Как злоупотребление порядком операций, я полагаю, можно было бы ожидать «1 + (сумма значений массива) = 4', но ответ Барри объясняет, почему это не так. Сложение применяется к каждому члену массива до того, как они будут суммированы. –
... и, конечно, «нормальное» использование SUMPRODUCT в соответствии с первой формулой - = SUMPRODUCT (0+ (A1: A3> 0)) не будет работать так, как ожидалось, если это ** не было ** случай Нуль необходимо добавить к каждому значению в массиве, чтобы соединить каждое значение в массиве ..... –