Forum Discussion
Product of numbers in a row in a dynamic array
- Oct 12, 2021
This is something I have been complaining about for a couple of years or so now but, as JKPieterse says, the definitive solution is to be found in the Insiders beta Channel. BYROW will return each row as a distinct range reference and supports any relevant calculation.
As an interim workaround, the multiplication of positive numbers may be performed by using logarithms
= EXP( MMULT(LN(array#), {1;1;1}) )
I am not sure what you have in mind for this reply to Hogstad_Raadgivning. INDEX will accept array and lift the appropriate scalar parameters, For example
= INDEX(array#, {2;5;3}, {4,2,5})
would assemble a 3x3 array from a larger array. It would still have the same problem as the original,
i.e. functions like PRODUCT would still aggregate the entire array, giving a single value. For row products, you would still need
= BYROW(
INDEX(array#, {2;5;3}, {4,2,5}),
LAMBDA(row, PRODUCT(row))
)
I am just puzzled, not critical.