Google apps script “getvalues”有时返回“REF!”

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

以下应用程序脚本未检索公式的计算值=maxindexgooglefinanceA2,close,2018年1月2日,today,0,2。记录器显示REF

有什么问题吗?我猜这与指数有关,但不知道如何进一步进行

1在浏览器中打开图纸将在单元格B2处显示计算值。该单元计算该股票的年初至今高价

          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("");