Google Apps脚本getvalues返回#REF!关于一些公式

时间:2018-05-22 22:29:20

标签: javascript google-apps-script

以下App脚本无法检索公式“= max(index(googlefinance(A2,”close“,”1/2/2018“,today()),0,2))的计算值。记录器显示“#REF!”。

有什么不对吗?我猜它与index()有关,但不知道如何继续进行。

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))]

1 个答案:

答案 0 :(得分:1)

使用Range.copyValuesToRange()的解决方法:

sheet.getRange(row, col).copyValuesToRange(tempSheet, 1, 1, 1, 1);
var value = tempSheet.getRange(1, 1).getValue();
tempSheet.getRange(1, 1).setValue("");

为我工作。