【问题标题】:ReferenceError on all google Sheet build in functions所有 google Sheet 内置函数上的 ReferenceError
【发布时间】:2017-04-02 11:35:20
【问题描述】:

我开始使用 Google App Scripts 并写了一些东西。 我遇到的问题如下:ReferenceError: "COUNT" is not defined

当我尝试使用 COUNTA 或 Google App Script 的任何其他内置功能时,我也遇到了这个问题。

我不确定天气是否会起作用,但如果我能够执行它,测试它会容易得多。

作为参考,我在这里有问题的脚本:

function fillMonthFromChildSheet()
{
  var sheet = SpreadsheetApp.getActiveSheet();
  var dates = [];
  var dateCell;
  var totalExpense = 0;
  var rangeB = "B:B";

  for (var i = 0; i < COUNT(rangeB) - COUNTBLANK(rangeB); ++i)
  {
    dateCell = "B" + i;
    dates.push(DATE(dateCell));
  }

  for (var i = 0; i < dates.length(); ++i)
  {
    if (MONTH(dates[i]) == MONTH(TODAY()))
    {
      var range = "A" + i;
      totalExpense += sheet.getRange(range).getValue(); 
    }
  }
  return totalExpense;
}

非常感谢您的帮助!提前谢谢你

【问题讨论】:

  • 我认为您在 for 循环中间缺少条件。 i
  • 我确实是(尴尬)但即使添加它也不起作用:(
  • 不支持在 JavaScript 中使用电子表格函数。见this link
  • 谢谢@rasmeister。一旦它工作,我将更新代码。是否有理由不通过原型提供工作表功能?
  • 您可以使用标准的javascript函数。电子表格函数不是 javascript。

标签: javascript google-apps-script google-sheets


【解决方案1】:

根据我从代码中看到的情况,您尝试获取当月的所有费用并求和。这是您可能喜欢的代码示例:

function fillMonthFromChildSheet()
{
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var totalExpense = 0;

  for(var i = 0; i < data.length; i++){

    var d = new Date(data[i][1]);
    var today = new Date();

    if(d.getMonth() == today.getMonth()){

      totalExpense += data[i][0];

    } 
  }
  return totalExpense;
}

我们不是直接使用电子表格上的值,而是将所有数据放在一个数组中,然后用它来计算当月的费用。

【讨论】:

  • 就像 Vytautas 所说,函数 COUNT、COUNTBLANK、DATE、MONTH 是您在电子表格上使用的函数,而不是在 Google Apps 脚本上使用的函数。对于将来的编辑,您可以在此处查看文档:developers.google.com/apps-script/reference
【解决方案2】:

您的问题是COUNT(rangeB) COUNTBLANK(rangeB) DATE(dateCell) MONTH(dates[i]) MONTH(TODAY()) 因为您尚未在任何地方定义这些问题。从外观上看,您正在尝试编写 Google Apps 脚本并使用电子表格功能,例如 =COUNT(A1:A2)。这些函数在 Google Apps 脚本中不起作用

一般来说,它只是添加了这些类和方法的 JavaScript,您可以找到 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2020-10-06
    相关资源
    最近更新 更多