Каковы характеристики обновления функций импорта электронных таблиц Google?

Импортируемые данные не всегда обновляются с исходными страницами при загрузке электронной таблицы. Когда это происходит, обновление F5 не помогает. Также не Ctl-F5. По-видимому, происходит какое-то кэширование.

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

Ссылка на Doc: http://docs.google.com/support/bin/answer. ру? ответ = 75507

7 голосов | спросил Chris Noe 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 17 Sep 2010 04:46:20 +0400 2010, 04:46:20

5 ответов


5

В соответствии с этим форумами форума Docs , данные должны обновляться примерно каждый час

В этом потоке плакат предлагает добавить случайный запрос к URL-адресу, который вы хотите очистить, -

  

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

     

Вызов функции:   = ImportHtml ( "http://www.fifa.com/worldcup/standings/index.html?" & Амп; H81; "таблица"; 4)

     

Формула в H81: = Minute (Now ())

     

Это трюк для меня.

ответил mvark 17 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 17 Sep 2010 07:34:32 +0400 2010, 07:34:32
1

Другая альтернатива, которая не зависит от модификации ссылок:

  

= if (Minute (Now ()) = Minute (Now ()), ImportHtml (" http://www.fifa.com/worldcup/standings/index.html ?"; "таблица"; 4) "")

Так как Minute(Now())=Minute(Now()) всегда истинно, if всегда будет возвращать ImportHtml

ответил VDizzle 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 03 Sep 2014 20:51:18 +0400 2014, 20:51:18
1

Короткий ответ

Вы правы, функции импорта обновляют их результат через определенные промежутки времени.

Объяснение

Из изменить локаль электронной таблицы, часовой пояс, пересчет и язык , справочную статью из официальной документации,

  

Примечание. Внешние функции данных пересчитываются с помощью следующих интервалов:

     
  • ImportRange: 30 минут
  •   
  • ImportHtml, ImportFeed, ImportData, ImportXml: 1 час
  •   
  • GoogleFinance: 2 минуты
  •   

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

Обход

Один из способов принудительного пересчета формул с импортными функциями - связать URL с детерминированным, но безобидным параметром.

Пример

В следующем примере «#rev =» & A2 добавляется к исходному URL

A1: https://en.wikipedia.org/wiki/List_of_gravitationally_rounded_objects_of_the_Solar_System
A2: 1
A3: 4
A4: =IMPORTHTML(A1&"#rev="&A2,"table",A3)

Каждый раз, когда изменяется любое из значений или A1, A2 или A3, формула будет пересчитана. Мы могли бы изменить значение A2, чтобы «принудительно» обновить таблицу 4 из URL-адреса в A1.

Пользовательский интервал обновления времени для функций импорта

Чтобы иметь пользовательский интервал обновления для функций импорта, используйте временный скрипт триггера для обновления детерминированного, но безобидного URL-параметра.

/**
 *
 * Updates at the interval set in the time driven trigger configuration
 * a cell value to be used as a deterministic bu unnicouus URL parameter 
 *
 */
function forceRefresh() {
  //Cell addrees of the deterministic but unnicouos URL parameter
  var reference = 'Sheet1!A2';   
  var rng = SpreadsheetApp.getActiveSpreadsheet().getRange(reference);
  rng.setValue(rng.getValue()+1);
}

Ссылки

ответил Rubén 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 03 Sep 2016 18:37:08 +0300 2016, 18:37:08
-2

Принудительный пересчет импортных переменных путем восстановления формулы ячейки

Требуется:

Импортированные данные - ваша цель, где все будет скопировано.

Импортированная конфигурация данных - содержит следующие поля:

+ --------------------------------------------- + --- ----------------------------- +
| A | B |
+ --------------------------------------------- + --- ----------------------------- +
| Импорт данных из таблицы с помощью ключа: | ключ |
| Импорт данных из таблицы между диапазонами: | A: AA |
| Импортированные столбцы выбора данных: | SELECT * |
| Импортированные критерии данных: | WHERE Col2 содержит «XYZ» |
| Импортированные данные должны быть упорядочены по столбцу: | ORDER BY Col2 |
+ --------------------------------------------- + --- ----------------------------- +

Сценарий:

function onOpen() {
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
}
catch(err)
{
Browser.msgBox(err);
}

var configsheet = ss.getSheetByName("Imported Data Config");

var configkey = configsheet.getRange("B1").getValue();
var configrange = configsheet.getRange("B2").getValue();
var configselect = configsheet.getRange("B3").getValue();
var configwhere = configsheet.getRange("B4").getValue();
var configorderby = configsheet.getRange("B5").getValue();

var importedsheet = ss.getSheetByName("Imported Data");
importedsheet.getRange("A1").setValue('=QUERY(IMPORTRANGE("' + configkey + '","' + configrange + '"),"' + configselect + ' ' + configwhere + ' ' + configorderby + '")');

SpreadsheetApp.flush();

// Solution of sourcecode is: http://stackoverflow.com/questions/13631584/how-can-i-force-a-recalculation-of-cell-using-importrange-function-in-a-google-s
// OnOpen Trigger: https://developers.google.com/apps-script/understanding_triggers
// Active Spreadsheet solution: https://productforums.google.com/forum/#!topic/docs/XIY0WNX0uL8

Browser.msgBox("Sync Complete!");
}

Это позволяет вам изменить формулу без редактирования сценария и упростить перенос сценария на разные листы.

ПРИМЕЧАНИЕ. Это больше не требуется в новых Google Таблицах, выпущенных в мае 2014 года.

ответил user58180 30 Jpm1000000pmThu, 30 Jan 2014 23:37:42 +040014 2014, 23:37:42
-3

Минута теперь работает очень хорошо (и вы можете просто включить это в формулу, а не ссылаться на ячейку).

Однако с некоторыми URL-адресами он не работает и, как представляется, сам меняет ссылку и может ссылаться на другой лист.

Я не буду конкретным, но ссылка заканчивается, например, в:

.....ranking?ranking=xp_total&table=0"&Minute(Now()),"table",4)

испортит связь. Это не полное доказательство, но все еще работает, вероятно, для 90% используемых пользователями ссылок.

ответил Eric Moz 15 52013vEurope/Moscow11bEurope/MoscowFri, 15 Nov 2013 10:14:31 +0400 2013, 10:14:31

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132