'getvalues' иногда возвращает '#REF!' - PullRequest
0 голосов
/ 23 мая 2018

Следующий скрипт приложения не получает рассчитанное значение для формулы =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 голосов
/ 02 июля 2019

Обходной путь с использованием Range.copyValuesToRange():

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

У меня работает.

...