Beispiel:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
Ich möchte, beginnend ab der siebzehnten Spalte, die Zahlen bis zur letzten 1 (16 Spalten) summieren. Für die zweite 1 und alles danach möchte ich jedoch keine Summierung, da die Bedingung, dass davor eine Null steht, nicht erfüllt ist. Ich habe verwendet SUMIF
, aber wenn ich versuche, es über mein Blatt auszudehnen, summiert es sich weiter, wenn z. B. - SUMIF(A1:A16, "=0", A17:A33)
, erhalte ich für meine zweite 1 immer noch einen Wert ungleich Null.
Antwort1
Antwort2
Dadurch wird der erste Wert im Bereich gefunden, der dies nicht ist 0
, und anschließend werden die nächsten 16 Spalten summiert.
=SUM(INDEX(A1:AH1,MATCH(0,A1:AH1)+1):INDEX(A1:AH1,MIN(MATCH(0,A1:AH1)+16,COLUMNS(A1:AH1))))
MATCH(0,A1:AH1)
Gibt die relative Spaltennummer zurück, in der sich die aktuelle Zelle befindet 0
und die nächste größer ist als 0
. Wir addieren eins am Anfang und 17 am Ende des Bereichs.
Antwort3
Ich möchte ein paar knifflige Methoden mit SUMIF
& SUMPRODUCT
-Funktionen vorschlagen:
Wie es funktioniert:
- Beide Methoden benötigen Hilfswerte
1
in34
der Zeile1
(siehe Screenshot).
Formel in Zelle
AV3:
=SUMIFS(N2:AU2,N1:AU1,">=17",N1:AU1,"<=32")
Geben Sie diese Formel in die Zelle ein
AV4:
=SUMPRODUCT(SMALL(N2:AU2,{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}))
Wenn Sie mit großen Datensätzen arbeiten, können Sie diese Formel verwenden.
=SUM(INDEX(N2:AU2,0,COLUMNS(N2:AU2)-(L$6-3)):INDEX(N2:AU2,0,COLUMNS(N2:AU2)))
Die Zelle
L6
enthält die Anzahl von1s
. Verwenden Sie diese Formel besser in der ZelleL6
.=COUNTIF(N2:AU2,1)
Sie können die Zellbezüge in der Formel nach Bedarf anpassen.