Untuk pertanyaan ini , saya telah membuat fungsi Skrip Google Apps, yang menghitung jumlah kumulatif rentang. Martin Hawksey di Google+ memberi komentar tentang cara penghitungan jumlah kumulatif yang lebih efisien:
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;
}
Pertanyaan saya adalah: dapatkah ini dicapai dengan penggunaan formula?
google-sheets
google-apps-script
formulas
google-sheets-arrayformula
Jacob Jan Tuinstra
sumber
sumber
Jawaban:
Iya nih:
=ArrayFormula(SUMIF(ROW(A1:A10);"<="&ROW(A1:A10);A1:A10))
Angka-angka dalam lingkaran hijau adalah jumlah yang dijumlahkan, ArrayFormula mengisi semua yang lain berdasarkan sel yang ditempelkan ke dalamnya, dalam contoh ini saya menempelkan di A11, B1, dan C1 untuk menunjukkan efeknya.
Spreadsheet yang saya buat beberapa waktu lalu ini mencoba menjelaskan bagaimana MMULT dapat digunakan untuk masalah seperti ini, dan juga menunjukkan solusi SUMIF pada salah satu lembar, yang dapat (dan mungkin harus) digunakan untuk kasus khusus seperti yang ada dalam pertanyaan ini.
sumber
Dengan asumsi Anda ingin:
dll ...
Kemudian Anda dapat menggunakan: di
=sum($A$1:A1)
manaA1
awal angka untuk dijumlahkan. Masukkan formula itu diB1
(atau di mana pun Anda inginkan) dan isi, dan itu akan menjumlahkan semua sel hingga dan termasuk baris Anda berada. Sebagai alternatif, Anda dapat menggunakan=Ax+Bx-1
(x = baris saat ini, data dalam A, jumlah kumulatif dalam B) dari bagian "rumus B" di atas.sumber
Sementara jawaban yang diterima ada di tempat, ia memiliki kerugian besar karena fakta bahwa parameter terakhir dari
SUMIF
kebutuhan harus selalu "rentang yang valid" sehingga ketika datang ke beberapa perhitungan total berjalan lebih majuMMULT
adalah pilihan yang lebih baik:sumber