answer == 'Y'
}
我一直在运行此代码时遇到错误。错误是未找到范围(第6行)。这个错误的解决方法是什么?
答案 0 :(得分:0)
这是修改过的脚本。此脚本通过排除您设置的工作表名称来计算。
function getTotalSum(cell) {
var excludesheets = ["SUMMARY", "TOTAL", "MASTER"]; // Added
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sum = 0;
for (var i = 0; i < sheets.length ; i++ ) {
var sheet = sheets[i];
if (!~excludesheets.indexOf(sheet.getName())) { // Added
var val = sheet.getRange(cell).getValue();
if (typeof(val) == 'number') {
sum += val;
}
}
}
return sum;
}
为了重新计算电子表格,需要让它知道值已更改。但是在=getTotalSum("A1")
给出范围时,即使"A1"
的值发生更改,"A1"
的范围也不会更改。因此,不会重新计算。
作为几种解决方法之一,我认为通过给出单元格的坐标,它可以让电子表格知道单元格值的变化。
=getTotalSum("A1")
对每个&#34; A1&#34; of&#34; sheet1&#34;,&#34; sheet2&#34;和&#34; sheet3&#34;,请修改为=getTotalSum("A1", sheet1!A1, sheet2!A1, sheet3!A1)
。sheet1!A1, sheet2!A1, sheet3!A1
不用于自定义功能。这仅用于让电子表格知道单元格值的变化。sheet1!A1, sheet2!A1, sheet3!A1
,当其中一个&#34; A1&#34;已更改,电子表格可以知道更改并重新计算。