@c14nyk

Как сделать автообновление формулы в Гугл Таблицах если данные в ячейке берутся с сайт по ссылке?

Добрый день, помогите пожалуйста разобраться с этим вопросом. Уже два дня с ним мучаюсь и не как решение найти не получается.

В Гугл Таблице в ячейке находится вот такая формула:

=IMPORTJSON("https://data.gateapi.io/api2/1/ticker/btc_usdt";"baseVolume")


Нужно мне сделать так что бы формула пересчитывалась (обновлялись значения). Желательно сделать обновление раз в 30 секунд или раз в минуту или хотя бы раз в 5 минут. Что бы оно хоть как-то обновлялось)

Сейчас что бы сделать обновление приходится удалить формулу с ячейки и заново её вставить. Понятно что это плохое решение.

Пробовал сделать в настройках таблицы, что бы все формулы пересчитывалась каждую минуту. Не работает, погуглив понял что сейчас эти настройки работают только для нескольких функций таких как например "NOW".

Пробовал тогда сделать вот такое условие:

=ЕСЛИ(NOW > NOW-1; IMPORTJSON("https://data.gateapi.io/api2/1/ticker/btc_usdt";"baseVolume"))


Срабатывает один раз и дальше не пересчитывает. Погулил, понял что дело скорее всего в том что Гугл таблица хеширует как-то данную ссылку и не пересчитывает таблицу так как думает что значение одно и то же.

Пробовал сделать кнопку "обновить" по нажатию на которую написал в скриптах вот это:

SpreadsheetApp.flush();

То же самое, срабатывает один раз а дальше всё, не обновляются данные. Пологаю что дело тоже в хеширование формулы.

Не смог сам решить данный вопрос, пришлось обратится к Вам - всемирному разуму) Помогите пожалуйста, как это можно реализовать. Заранее всем большое спасибо ;)
  • Вопрос задан
  • 5554 просмотра
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Sheets
Учитель, автоэлектрик, программист, музыкант
Костыльно можно сдёлать так: передать какой-то параметр дополнительный в формулу(ссылку на ячейку), и его обновлять триггером эту ячейку. Я обычно все такие формулы выношу в единую функцию-триггер, и обновляю массово.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
ForestAndGarden
@ForestAndGarden
Совершенствовать среду обитания
«Опубликованный» (Файл > Опубликовать > Опубликовать в интернете) лист таблицы обновляется каждые пять минут. (Правда, не знаю, поможет такой совет или нет.)
Ответ написан
Комментировать
@Denisium
В настройках документа выставить обновления "при изменении и каждую минуту" - имеется ввиду всей книги
(Файл - настройки). А вообще по индивидуальным настройкам я советуюсь с OpenAi - он мне и скрипты пишет
Ответ написан
Комментировать
BambiForsa
@BambiForsa
одмен из глухомани
Я далеко не кодер, но решение есть довольно простое: формулы перетряхиваются если вы меняете структуру листа. Добавляйте и удаляйте, например, колонку :)
function onEdit(e){
  if (
    e.range.getSheet().getName() === '1' &&
    e.range.getA1Notation() === 'B1'
  )
  var range = SpreadsheetApp.getActiveSheet()
  range.insertColumnAfter(1);
  range.deleteColumns(2)
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы