繁体   English   中英

Google Scripts 错误:“您无权调用排序”

[英]Google Scripts Error: “You do not have permission to call sort”

我正在尝试在 Google 表格中运行自定义函数。 我没有收到编译错误,但是当我尝试调用该函数时,我收到一个 #ERROR 和一条消息,

您没有权限调用排序

有没有办法解决这个问题? 如果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;

}

文档中所述:

自定义函数不能影响除了返回值的单元格之外的单元格。 换句话说,自定义函数不能编辑任意单元格,只能编辑调用它的单元格及其相邻单元格。 要编辑任意单元格,请使用自定义菜单来运行函数。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM