スプレッドシートでシートをまたいで計算したい
Googleスプレッドシートで日報を作っています。1シート1日とし、最初の1シート目にそれまでの合計(例えば18日だったら1日~18日までの合計)が計算されるようにしたいと考えています
合計(1シート目)現在の日までの合計表示
1日(2シート目)1日目の数値
2日(3シート目)2日目の数値と1日目と2日目の数値の合計
3日(4シート目)3日目の数値と1日目~3日目の数値の合計
4日(5シート目)4日目の数値と1日目~4日目の数値の合計
.
.
といった感じです。上の説明で4日目の「1日目~4日目の数値の合計」などの計算させるとき各シートの該当セルを一つづつ呼び出せば表示されますが、30日目の「1日目~30日目の合計」となるととてつもなく面倒になってしまいました。項目は固定で「売上・利益・交通費・人件費」などになります。
function sumSkicount(cell_no, start_name, end_name) {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sum = 0;
var add_flag = false;
for(var i = 0; i < sheets.length;i++) {
if(sheets[i].getName() == start_name){add_flag = true;}
if(add_flag){
if(isNaN(sheets[i].getRange(cell_no).getValue())){
value = 0;
}else{
value = parseInt(sheets[i].getRange(cell_no).getValue());
}
sum = parseInt(sum) + value;
}
if(sheets[i].getName() == end_name){break;}
}
return sum;
}
のコードを書き「1日目~4日目の数値の合計」などを計算させたいセルにsumSkicount(cell_no, start_name, end_name) を入れ計算させましたが、うまく動きませんでした。
cell_no→計算させたいセル
start_name→始まりのシート
end_name→終わりのシート
どなたかご指摘アドバイスいただけると非常にありがたいです。よろしくお願いいたします。