我在Google电子表格(Cell G4)中有一个公式:
=AVERAGE(INDEX( GoogleFinance(B4 , "all" , WORKDAY( TODAY(), -50 ) , TODAY() ) , , 3))
其中,B4 = INDEXBOM:SENSEX
我正在尝试使用以下脚本在单元格值更改时发送电子邮件:
function checkValue()
{
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Sheet1");
var valueToCheck = sheet.getRange("G4").getValue();
if(valueToCheck > 10000)
{
MailApp.sendEmail("xxxxxx@gmail.com", "Subject", "Context" + valueToCheck+ ".");
}
}
我设置了时间驱动的触发器,每小时自动运行脚本。但是,脚本不会发送电子邮件。
调试后,我发现由于上面的函数需要一些时间来计算,valueToCheck输出是一个字符串(" #REF!")而不是数字。
有没有办法解决这个问题?我已经尝试过使用Utilities.sleep函数来允许电子表格在执行脚本之前完成计算,但我没有成功。
我也尝试使用SpreadsheetApp.flush(),但它也没有帮助。
我不是程序员而且被困在这里。谢谢你的帮助!
答案 0 :(得分:0)
我怀疑GoogleFinance function文件中给出的以下陈述可能是原因:
无法通过Sheets API或Apps脚本下载或访问历史数据。如果您尝试这样做,您将看到#N / A错误代替电子表格相应单元格中的值。