#google-sheets #google-sheets-formula
Вопрос:
У меня есть лист Google с 220 функциями «importdata», где каждая из них выводит котировку акций с веб-сайта. Функция просто проста:
importdata("http://<URL>/"amp;A2)
где A2 содержит символ типа «GOOG», а <URL>
это URL-адрес веб-сайта.
С 220 из этих данных импорта я получаю ошибку:
"Error Loading data may take a while because of the large number of requests. Try to
reduce the amount of IMPORTHTML, IMPORTDATA, IMPORTFEED or IMPORTXML functions across
spreadsheets you've created."
Ошибки никогда не исчезнут, даже если я буду долго ждать.
См.Рисунок, на котором показан только небольшой участок листа.
Есть ли какой-нибудь способ это исправить? Я хотел бы ввести случайную задержку для каждой из этих цитат от 1-5 секунд, что решило бы эту проблему, но я не знаю, как это сделать.
Ответ №1:
Один из вариантов, вы могли бы реализовать свою собственную функцию importdata, которая не ограничивалась бы указанными выше ошибками. Это выглядело бы чем-то похожим на:
var response = UrlFetchApp.fetch(url);
var responseData = response.getBlob().getDataAsString();
var data = Utilities.parseCsv(responseData, ',');
return data;
}
и добавьте его, Tools > Script Editor
как описано в https://www.roelpeters.be/solve-loading-data-may-take-a-while-when-using-importdata-in-google-spreadsheets/
или вы можете попробовать любой из этих https://github.com/search?q=вместо этого CryptocurrencySpreadsheetUtils
Они реализуют пользовательскую функцию для массовой загрузки данных о ценах вместо добавления 100 вызовов функций importdata, чтобы у вас не возникло никаких проблем с этим.
Комментарии:
1. Я отметил это как решение, потому что оно отлично работало. Спасибо