串刺し演算とは?
同じ書式・同じ形の複数のシートのデータを、1つのシートに集計したり加減乗除したりする事です。
Excel 2002からずっと使える機能のようです。
(例)
1つのファイル内に、以下のようなシートがあったとします。
AAAAA, BBBBB, CCCCC, DDDDD, EEEEE, FFFFF, GGGGG, HHHHH
=SUM(CCCCC:FFFFF!B4)
こんな感じで数式を書くと、CCCCC〜FFFFFまでの4枚のシートのセルB4が合算された結果を表示することができます。
Google スプレッドシートでの実現方法
標準機能では、搭載されていないので、GoogleAppsScriptを使って実現します。
function skewersum(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){sum += sheets[i].getRange(cell_no).getValue();}
if(sheets[i].getName() == end_name){break;}
}
return sum;
}
=skewersum("B4","CCCCC","FFFFF")
シンプルな実装ですが、動くようにはなりました。
重いですが。。
Tipsとしてどなたかの参考になれば幸いです。