Google apps script “getvalues”有时返回“REF!”
以下应用程序脚本未检索公式的计算值=maxindexgooglefinanceA2,close,2018年1月2日,today,0,2。记录器显示REF 有什么问题吗?我猜这与指数有关,但不知道如何进一步进行 1在浏览器中打开图纸将在单元格B2处显示计算值。该单元计算该股票的年初至今高价Google apps script “getvalues”有时返回“REF!”,google-apps-script,google-sheets,google-finance,Google Apps Script,Google Sheets,Google Finance,以下应用程序脚本未检索公式的计算值=maxindexgooglefinanceA2,close,2018年1月2日,today,0,2。记录器显示REF 有什么问题吗?我猜这与指数有关,但不知道如何进一步进行 1在浏览器中打开图纸将在单元格B2处显示计算值。该单元计算该股票的年初至今高价 column_A column_B row_1 symbol YTD High
column_A column_B
row_1 symbol YTD High
row_2 SPY =max(index(googlefinance(A2,"close","1/2/2018",today()),0,2))
2脚本:
function getStock(location) {
var sheet = SpreadsheetApp.getActiveSheet();
var activeRange = sheet.getDataRange();
var values = activeRange.getDisplayValues();
var formula = activeRange.getFormulas();
Logger.log(values[0]);
Logger.log(values[1]);
Logger.log(formula[1]);
}
3记录器输出:
[18-05-22 14:48:10:431 PDT] [symbol, YTD High]
[18-05-22 14:48:10:432 PDT] [SPY, #REF!]
[18-05-22 14:48:10:433 PDT] [,
=max(index(googlefinance(A2,"close","1/2/2018",today()),0,2))]
使用Range.CopyValueStorRange的解决方法:
适用于我。很遗憾,您无法检索这些值。详细信息是@Tanaike,这就解释了。我看到一篇帖子说,要使用Google Finance,你需要打开表单,但没有意识到API关闭了应用程序脚本的大门。谢谢。如果您无论如何都要检索该值,那么有一个解决方法。将电子表格转换为图像时,这些值将包含在图像中。使用此选项,将电子表格转换为图像,并使用ocr转换文本数据,然后检索值。这可以通过脚本运行。但是脚本解析值很大程度上取决于电子表格的格式。@Tanaike这很有创意,谢谢
sheet.getRange(row, col).copyValuesToRange(tempSheet, 1, 1, 1, 1);
var value = tempSheet.getRange(1, 1).getValue();
tempSheet.getRange(1, 1).setValue("");