Google脚本错误:"您无权调用sort"

时间:2017-01-02 20:24:10

标签: function sorting google-apps-script

我正在尝试在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;

}

1 个答案:

答案 0 :(得分:1)

正如documentation

中所述
  

自定义函数不会影响它返回的单元格以外的单元格   价值。换句话说,自定义函数不能随意编辑   细胞,只有它被调用的细胞和它们相邻的细胞。至   编辑任意单元格,使用自定义菜单来代替运行函数。

您的函数尝试修改与原始单元格不同的范围,这解释了您在newRange对象上获得的错误