0

所以我想为自己创建一个简单的电影列表,并希望将 IMDB/Meta/RT 分数保存在一个单元格中。

我可以用这样的东西正常工作:

=IF(ISBLANK(A2),,IFERROR(importxml(("http://www.omdbapi.com/?apikey=**MYKEY**&t="&A2&"&r=xml&tomatoes=true&y=2018"),"root/movie/@imdbRating")/10))

这将返回一个我可以保存在单元格中的值。问题是它并不总是刷新。谷歌表格被窃听、importxml 或 omdbapi。我读过其他人有同样的问题。

典型的行如下所示:

[黑豹] [2018 年 2 月 16 日] [86%] [74%] [97%] [88%]

由于我的数据没有太大变化,我想以某种方式缓存它。因此,如果 importxml 失败,它不会清空单元格,它只会保留最后一个值。也许我可以通过引用另一个选项卡的单元格来做到这一点?我确实尝试过,但是一旦另一个选项卡单元格被空白(因为 importxml 失败),主选项卡的单元格也是如此。

想法?

4

1 回答 1

0

我相信这需要一个应用程序脚本,它将您对第 1 行所做的每个更改添加到相应的目标列 2 - 如果不是空的/NA:

function onEdit(e) {
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  if(sh.getActiveCell().getColumn() == 1) {
    if(e.value && e.value != '#N/A')
      sh.getRange(e.range.rowStart, 2).setValue(e.value);
  }
}

从菜单中转到工具、脚本编辑器并添加脚本。确保在调试器中运行一次并授予所需的权限。

另外,请注意以下引用:

于 2018-10-01T16:29:37.803 回答