首页 > 解决方案 > “getvalues”有时会返回“#REF!”

问题描述

以下 Apps 脚本不会检索公式的计算值=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))]

标签: google-apps-scriptgoogle-sheetsgoogle-finance

解决方案


解决方法Range.copyValuesToRange()

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

为我工作。


推荐阅读