Как использовать ARRAYFORMULA и SUM вместе, чтобы получить столбец с суммой предыдущих столбцов?


11

В Google Sheets у меня есть следующие данные:

    |   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.