google-apps-script - “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))]
解决方案
解决方法Range.copyValuesToRange()
:
sheet.getRange(row, col).copyValuesToRange(tempSheet, 1, 1, 1, 1);
var value = tempSheet.getRange(1, 1).getValue();
tempSheet.getRange(1, 1).setValue("");
为我工作。
推荐阅读
- javascript - 如何映射具有选择性索引的数组列表?
- solr - SOLR 搜索和 Ngram
- javascript - html/css/js中如何让网站的特定部分受视差影响
- java - Spring环境下的游标sql查询
- c# - 如何在 C# 中为这个小服务制作接口?
- aws-lambda - 使用 Lambda Authorizer 和 Nodejs docker 容器的 AWS Api Gateway `Cors Error`
- c# - Json 解析失败但绝对路径有效
- apache-kafka - Kafka,为什么一台服务器没有响应?
- sql - SAP HANA 从另一个表中获取引用的值
- sql - 由于表变异,无法执行触发器