Сценарий приложения Google, .GetValue возвращает ОШИБКУ

#google-apps-script #getvalue

#google-apps-script #google-sheets #google-sheets-формула #getvalue

Вопрос:

У меня довольно большая проблема. Если я читаю ячейки столбцов с помощью цикла for и диапазона (r, c.).GetValue() (то же самое для чтения с диапазоном (r,c,m,1).getValues() ) значения не считываются. Я получил #ERROR!. Я считываю значения ячеек, которые являются ссылками на другие листы, а другие — с некоторыми вычислениями if, round и plus / minus.

Источник данных

Как вы, возможно, видите на рисунке, у меня есть фиксированное тестовое значение для некоторых столбцов (номер 2, 3, 4, 5), и они всегда читаются нормально.

Коды ошибок
Исходный код

В исходном коде я добавил 3 строки, которые читают фиксированные введенные значения (2,3,4,5).

Любое предложение, почему, поскольку у меня есть несколько сценариев с чтением значений ячеек, но до сих пор ничего подобного не происходило.

Спасибо!

Комментарии:

1. Это они =googlefinance() или =import*() ячейки?

2. Не могли бы вы предоставить копию электронной таблицы, над которой вы работаете, без конфиденциальной информации?

Ответ №1:

С уважением,

Если я правильно понимаю, вы хотели бы получить значения из ячеек, которые имеют динамические значения (вычисляемые или ссылочные).

Это может привести к сбою, если вы используете range.getValue() , поскольку в ячейке нет фактического значения. Вы можете попробовать использовать range.getDisplayValues() вместо этого, чтобы получить отображаемое значение. Это задокументировано здесь .

Если вы делаете это, ваш код будет выглядеть следующим образом :

 for(var ii=0; ii < iDNRows; ii  )
{
   i0mik_od_zacetka = sIzracuni.getRange(ii StartRowData, iStartColumnData).getDisplayValue();
   .
   .
   .
   
}

  

Или вы можете сделать .getDisplayValues() :

 values = sIzracuni.getRange(startrow,startcol,rownum,colnum).getDisplayValues();
  

Прокомментируйте, если я неправильно понял ваш вопрос.