我正在尝试在Google表格中运行自定义功能。我没有得到编译错误,但是当我尝试调用该函数时,我得到一条#ERROR以及一条消息,
您无权调用sort
有没有办法解决这个问题?如果range.sort
不可用,如何在自定义函数中对范围进行排序?
这是我的代码:
function installmentPrice(priceRange, measuringPeriod, lowestDays, discount)
{
measuringPeriod = measuringPeriod || 5;
lowestDays = lowestDays || 1;
discount = discount || 1;
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var tempRange = sheet.getRange("C3:C9");
var newRange = tempRange.offset(0,0,measuringPeriod);
newRange.sort(newRange.getColumn());
Logger.log(newRange.getValues());
var lowestSum = 0;
var installmentPx = 0;
for (i=0; i<= lowestDays; i++) {
lowestSum = lowestSum + newRange[i];
}
lowestSum = lowestSum/lowestDays;
installmentPx = discount * lowestSum;
return installmentPx;
}
答案 0 :(得分:1)
自定义函数不会影响它返回的单元格以外的单元格 价值。换句话说,自定义函数不能随意编辑 细胞,只有它被调用的细胞和它们相邻的细胞。至 编辑任意单元格,使用自定义菜单来代替运行函数。
您的函数尝试修改与原始单元格不同的范围,这解释了您在newRange
对象上获得的错误