Für diese Frage habe ich eine Google Apps Script-Funktion erstellt, die die kumulative Summe eines Bereichs berechnet. Martin Hawksey auf Google+ hat einen Kommentar zu einer effizienteren Methode zur Berechnung der kumulierten Summe abgegeben:
function cumulativeSum(array){
var output = [];
for (i in array){
if(i==0) {
if (array[i].length > 1) throw ("Only single column of data");
output.push([array[i][0]]);
} else {
output.push([output[i-1][0] + array[i][0]]);
}
}
return output;
}
Meine Frage ist: Kann dies mit der Verwendung von Formeln erreicht werden?
google-sheets
google-apps-script
formulas
google-sheets-arrayformula
Jacob Jan Tuinstra
quelle
quelle
Antworten:
Ja:
=ArrayFormula(SUMIF(ROW(A1:A10);"<="&ROW(A1:A10);A1:A10))
Die Zahlen im grünen Kreis werden summiert. Die ArrayFormula füllt alle anderen Zahlen basierend auf der Zelle, in die sie eingefügt wurde. In diesem Beispiel habe ich A11, B1 und C1 eingefügt, um den Effekt zu veranschaulichen.
Diese Kalkulationstabelle , die ich vor einiger Zeit erstellt habe, versucht zu erklären, wie MMULT für diese Art von Problemen verwendet werden kann, und sie demonstriert auch die SUMIF-Lösung auf einem der Blätter, die für spezielle Fälle wie diesen verwendet werden kann (und wahrscheinlich sollte) in dieser Frage.
quelle
Vorausgesetzt, Sie möchten:
etc...
Dann können Sie verwenden:
=sum($A$1:A1)
WoA1
ist der Anfang der zu summierenden Zahlen? Fügen Sie diese Formel einB1
(oder wo immer Sie möchten) und füllen Sie sie aus. Alle Zellen werden bis einschließlich der Zeile, in der Sie sich befinden, summiert . Alternativ können Sie das=Ax+Bx-1
Format (x = aktuelle Zeile, Daten in A, kumulative Summe in B) aus dem obigen Abschnitt "Formel von B" verwenden.quelle
Die akzeptierte Antwort ist zwar vor Ort, hat aber einen großen Nachteil, da der letzte Parameter
SUMIF
immer ein "gültiger Bereich" sein muss. Wenn es also um eine weiter fortgeschrittene BerechnungMMULT
der laufenden Gesamtsumme geht, ist dies die bessere Option:quelle