Мне нужно решить следующую задачу, но я не могу ее обернуть.
Есть несколько чисел за разные годы. Я хотел бы иметь промежуточную общую сумму всех столбцов (= диапазон C: I) в столбце J. Я могу сделать это с формулой в каждой ячейке J - однако мне нужно добиться этого с помощью одной формулы массива в J2 .
То, что я понял после большого количества исследований, состоит из 2 шагов:
Поскольку это массив 15x7, мне нужно что-то вроде массива 7x1 для умножения, чтобы получить массив 15x1.
Эта формула будет выглядеть следующим образом: =ARRAYFORMULA(TRANSPOSE(COLUMN(C1:I1)^0))
=ARRAYFORMULA(TRANSPOSE(COLUMN(C1:I1)^0))
В итоге моя формула выглядит так: =ARRAYFORMULA(MMULT(IF(ISBLANK(C2:I15),0,C2:I15),TRANSPOSE(COLUMN(C1:I1)^0)))
=ARRAYFORMULA(MMULT(IF(ISBLANK(C2:I15),0,C2:I15),TRANSPOSE(COLUMN(C1:I1)^0)))
И это приводит к массиву 15x1, который дает мне сумму для каждой строки, но не общую промежуточную сумму всех строк.
Это где Я застрял - любая помощь и идеи очень ценятся.
РЕДАКТИРОВАТЬ: добавил общую версию для вас, чтобы скрипка: https://docs.google.com/spreadsheets/d/1cqNEsWHqBaHdDrMY8x4DUKpEkYprRZ8AibEe7d0knPY/edit?usp=sharing
Я думаю, это тоже будет работать:
=ARRAYFORMULA(IF(B2:B="";;SUMIF(SEQUENCE(ROWS(C2:I);COLUMNS(C2:I));"<="&SEQUENCE(ROWS(C2:I);1;COLUMNS(C2:I);COLUMNS(C2:I));C2:I)))
попробовать:
=ARRAYFORMULA(IF(B2:B="";;MMULT(TRANSPOSE((ROW(M2:M)<=TRANSPOSE(ROW(M2:M)))* MMULT(C2:I*1; ROW(A1:A7)^0)); SIGN(MMULT(C2:I*1; ROW(A1:A7)^0))^0)))