Jak używać razem ARRAYFORMULA i SUM, aby uzyskać kolumnę z sumą poprzedzających kolumn?

11

W Arkuszach Google mam następujące dane:

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

Jak mogę utworzyć TOTALSkolumnę za pomocą ARRAYFORMULA?

ARRAYFORMULA(SUM(A1:C99)) da jeden numer, sumę wszystkich komórek - nie tego chcę.

Israel Dov
źródło

Odpowiedzi:

8

Aby to zrobić, użyj następującej formuły.

Formuła

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

Wyjaśnione

Ma ARRAYFORMULAto na celu zwrócenie pełnego zakresu, zgodnie z COLUMNformułą. ^0 (power of zero)Zawsze powrócić 1. Zatem każdy wynik jest mnożony przez 1 (dając samą wartość) i sumowane.

Przykład

Stworzyłem dla ciebie przykładowy plik: SUM OVER ROWS

Jacob Jan Tuinstra
źródło
2
@YisraelDov, pamiętaj, aby zaznaczyć odpowiedź jako zaakceptowaną, jeśli tego właśnie szukałeś.
Alex
To niezwykła odpowiedź.
Michael Litvin
Masz pomysł, jak sprawić, by działał z pustymi komórkami? (należy traktować jako 0)
Michael Litvin
2
@MichaelLitvin: spróbuj tego: =ARRAYFORMULA(SUMIF(IF(COLUMN(B1:E1),ROW(B2:E4)),ROW(B2:E4),B2:E4)). ht do @AdamL.
Jacob Jan Tuinstra
Aby obsłużyć puste, jedną z opcji jest użycie indirectzamiast zakresu. W moim przypadku użyłem tegoindirect("e3:y"&max(arrayformula((index(E3:Y,0,0)<>"")*row(E3:Y))))
BrunoLM
2

Co powiesz na ręczne sumowanie kolumn:

=arrayformula(A:A + B:B + C:C)
skube
źródło
Nie można mieć pewności, że plakat miał Nbyć symbolem zastępczym dla nieznanej liczby kolumn lub czy plakat naprawdę oznaczał kolumnę N. Jeśli liczby kolumn nie można ustalić z wyprzedzeniem, wówczas jawne nazywanie każdej kolumny w formułach nie jest opcja.
Kevin Li