2016-11-30 6 views
1

Ich habe eine SUMIF am Anfang jeder Zeile meiner Daten habe Zahlen addieren, wenn sie> 0 und eine andere tut das gleiche für Zahlen < 0 wie folgt aus:Mit SUMIF für Zeile in einem ARRAYFORMULA

=SUMIF(P6:X6;">0") 

Das funktioniert und alle, aber es ist ein ziemlicher Schmerz, die Zelle jedes Mal nach unten ziehen, wenn ich weitere Daten hinzufügen. Gibt es einen Weg für mich, dies in eine ARRAYFORMULA zu verwandeln, die einfach weitergeht.

Antwort

0

Die Formel für die Summen "> 0" ist:

=arrayformula(mmult(A2:C*--(A2:C>0), transpose(A2:C2 * 0 + 1))) 

und Summen "< 0":

=arrayformula(mmult(A2:C*--(A2:C<0), transpose(A2:C2 * 0 + 1))) 

enter image description here


transpose(A2:C2 * 0 + 1)) ist ein Array von 1 : [1, 1, 1, ...] Es ist der Teil von mmult functi um das Ergebnis in eine Zeile umzuwandeln.

--(A2:C>0) Doppel minus ist für booleans in 1 (wenn true) und 0 (wenn false)

Umwandeln