因此,我试图为自己创建一个简单的电影列表,并希望将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失败),所以主标签页的单元格也会被清空。
有想法吗?
答案 0 :(得分:0)
我相信这需要一个apps脚本,该脚本会将您对第1行所做的每次更改添加到相应的目标列2-如果不为空/不适用:
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);
}
}
从菜单转到“转到工具,脚本编辑器”,然后添加脚本。确保在调试器中运行一次并授予所需的权限。
此外,请注意以下参考: