Dies ist möglicherweise nicht die effizienteste Formel, aber das funktioniert
=IF(AND(ISBLANK(B3); ISBLANK(C3)); SUM(INDIRECT("F"&ROW()+1&": F"&MATCH(TRUE; INDEX($B4:$B$16=""; 0); 0)+ROW()-1)); C3*2)
Erläuterung
AND(ISBLANK(B3); ISBLANK(C3));
erkennt, wann die Summenformel beginnen soll. Es erfordert sowohl Zelle B3
und C3
leer zu sein (wenn Sie nur verwenden C3
, dann C4
und C5
werden auch die Summenformel auslösen, statt ihren Wert zu verdoppeln)
INDIRECT( ... )
bildet den Bereich, in dem verwendet werden soll SUM
"F"&ROW()+1&":
der Bereich beginnt an F
und unter der aktuellen Zeile (in diesem Beispiel F4
)
F"&MATCH(TRUE; INDEX($B4:$B$16=""; 0); 0)+ROW())
und endet an der F
Zeile in der nächsten leeren Zelle in SpalteB
Hinweis: Bitte beachten Sie, dass der Bereich eine Zeile unterhalb der aktuellen Zeile beginnt und endet. Beachten Sie auch die Position der absoluten Vorzeichen ( $ ).
Weitere Erläuterungen dazu habeMATCH(TRUE; INDEX($B4:$B$16=""; 0); 0)+ROW()-1
ich hier gefunden
Zuerst INDEX($B4:$B$16=""; 0)
erstellt ein Array, ob B4 = ""
und B5 = ""
und so weiter. Dieses Array kann sehen, indem Sie die Formel in Zeile 1 auf einem beliebigen Spalte setzen und verändern 0
zu ROW()-1
und die Formel nach unten ziehen.
FALSE FALSE FALSE TRUE and so on...
Dann MATCH(TRUE; ... ; 0)
wird die erste gefunden TRUE
, dh die erste nächste leere Zeile nach dieser Zeile (Rückgabe des Index 3 ).
Das Ergebnis ist jedoch der Index des Arrays 3 anstelle der Zeilennummer . Also fügen wir den Index mit der aktuellen Zeile, 3 + 3 und voila! Wir haben die Zeilennummer der nächsten leeren Zeile. Fügen Sie einfach hinzu -1
, um sicherzustellen, dass der korrekte Bereich von F4:F5
nicht summiert wird F4:F6
.