2017-06-05 2 views
0

Ich habe eine Google-Tabelle mit dem folgenden Aufbau:Google Blatt Formel für kumulative Summe mit Bedingung

Number | Counted? | Cumulative Total 
    4 |  Y  |   4 
    2 |   |   6 
    9 |  Y  |  15 
    ... | ...  |  ... 

Die erste Zelle in den Kumulative Gesamt Spalt mit dieser Formel bevölkert ist:

=ArrayFormula((SUMIF(ROW(C2:C1000),"<="&ROW(C2:1000),C2:C1000) 

Dies zählt jedoch alle Zeilen in der Spalte 'Nummer'. Wie kann ich die kumulative Summe nur Zeilen zählen, wo die gezählt? Zelle ist Y?

Antwort

1

Versuchen Sie dies in C2 und abschreiben:

= N(C1) + A2 * (B2 = "Y") 

aktualisieren

Scheint nicht mit SUMIF S zu arbeiten, aber es ist eine sehr langsame Matrixmultiplikation Alternative :

=ArrayFormula(MMult((Row(2:1000)>=Transpose(Row(2:1000)))*Transpose(A2:A1000*(B2:B1000="Y")), Row(2:1000)^0)) 
+0

Danke, aber ist es eine Möglichkeit, dies mit einem ARRAYFORMULA zu tun? – user2181948

+0

@ user2181948 * Warum * bevorzugen Sie eine Array-Formel? –

+0

@ A.S.H Es erlaubt Ihnen, es einmal einzugeben und es füllt automatisch alle anderen Zellen – user2181948

0

Angenommen "Nummer" in Spalte A und "Gezählt?" in Spalte B, versuchen Sie in C1

={"SUM"; ArrayFormula(if(ISBLANK(B2:B),,mmult(transpose(if(transpose(row(B2:B))>=row(B2:B), if(B2:B="Y", A2:A,0), 0)),row(B2:B)^0)))} 

(Ändern Sie Bereiche entsprechend).

Beispiel

enter image description here