我开始使用Google App Scripts并编写了一些内容。
我遇到的问题如下:ReferenceError: "COUNT" is not defined
当我尝试在Google App脚本中使用COUNTA
或任何其他版本时,我也会得到这个。
我不确定天气与否我的脚本会起作用,但如果能够执行它,测试它会容易得多。
作为参考,我在这里有问题:
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;
}
非常感谢帮助!提前谢谢
答案 0 :(得分: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;
}
我们不是直接在电子表格上使用该值,而是使用数组中的所有数据来计算月份的费用。
答案 1 :(得分:0)
您的问题是COUNT(rangeB)
COUNTBLANK(rangeB)
DATE(dateCell)
MONTH(dates[i])
MONTH(TODAY())
,因为您尚未在任何地方定义这些问题。根据您尝试编写Google Apps脚本的内容并使用电子表格功能,例如=COUNT(A1:A2)
。这些功能在Google Apps脚本中不起作用
一般来说,只需添加JavaScript,您就可以找到这些类和方法here。