Як використовувати ARRAYFORMULA та SUM разом, щоб отримати стовпець із сумою попередніх стовпців?


11

У Google Таблицях я маю такі дані:

    |   A |  B  |  C  |  ...  | N  | TOTALS       |
  1 |  123|  425|  324|  ...  | 234| =SUM(A1:N1)  |
  2 |  123|  425|  324|  ...  | 234| =SUM(A2:N2)  |
  3 |  123|  425|  324|  ...  | 234| =SUM(A3:N3)  |

Як я можу створити TOTALSстовпець за допомогою ARRAYFORMULA?

ARRAYFORMULA(SUM(A1:C99)) дасть єдине число, сума всіх комірок - це не те, що я хочу.

Відповіді:


8

Для цього використовуйте наступну формулу.

Формула

=MMULT(B2:E4,TRANSPOSE(ARRAYFORMULA(COLUMN(B2:E4)^0)))

Пояснив

ARRAYFORMULAПризначається , щоб повернути повний діапазон, як встановлено COLUMNформулою. ^0 (power of zero)Завжди буде повертати 1. Тому кожен результат множиться на 1 (отримуючи те ж значення) і підсумовуються.

Приклад

Я створив для вас прикладний файл: SUM OVER ROWS


2
@YisraelDov, не забудьте позначити відповідь прийнятою, якщо це було те, що ви шукали.
Олексій

Це чудова відповідь.
Майкл Литвин

Будь-яка ідея, як змусити її працювати з порожніми клітинками? (трактувати як 0)
Майкл Литвин

2
@MichaelLitvin: спробуйте це: =ARRAYFORMULA(SUMIF(IF(COLUMN(B1:E1),ROW(B2:E4)),ROW(B2:E4),B2:E4)). ht до @AdamL.
Яків Ян Туінстра

Для обробки порожнього, одним із варіантів є використання indirectзамість діапазону. У моєму випадку я використав цеindirect("e3:y"&max(arrayformula((index(E3:Y,0,0)<>"")*row(E3:Y))))
BrunoLM

2

Як щодо ручного підсумовування стовпців:

=arrayformula(A:A + B:B + C:C)

Не можете бути впевнені, що плакат призначений Nяк заповнювач для невідомої кількості стовпців або якщо плакат справді мав на увазі стовпець N. Якщо кількість стовпців не можна визначити заздалегідь, то чітко називати кожен стовпчик у формулах не буде варіант.
Кевін Лі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.