在 Google 表格中,我有一个包含 150 多个 importXML 函数的电子表格。在过去的一年里,我正在使用这个公式从我的组织的直播中提取 YouTube 观看次数。有时,当打开电子表格并刷新 importXML 函数时,它会显示 #ERROR 直到再次刷新(此时它将返回一个没有错误的值)。每次它只会在少数几个随机单元格上显示#ERROR,其余数字刷新没有问题。通常,如果我等待大约 5 分钟,它会再次刷新,带有 #ERROR 的单元格将返回实际值。尽管很烦人,此时一些已经有实际值的单元格现在会随机返回#ERROR。
我相信只要我能命令单元格显示最后更新的数字而不是#ERROR,我就能解决这个问题。如何让 Google 表格更新静态值,而不必在每次加载表格时都依赖函数刷新?
示例:上次更新第 30 行的工作表时,数字为 3,045。但我刷新了页面,现在它在第 30 行的末尾显示#ERROR。
而不是#ERROR,我怎样才能让工作表显示最后一个值(3,045),直到公式刷新而不返回错误。假设现在值为 3,047。所以理想情况下,公式会显示 3,047,直到它再次刷新,我再也不用看到那个讨厌的 #ERROR 了。
我找到了一种让公式显示“0”而不是#ERROR 的方法,并且我在几个问题单元格上手动输入了最后更新的数字,但这不是自动解决方案。
为了使公式显示“0”而不是#ERROR,我=IFERROR
在公式周围添加了一个包装器。我想使用这个包装器来显示最后更新的数字而不是“0”
主要配方:
=value(REGEXREPLACE(text(importxml(F173,"//*[contains(@class, 'watch-view-count')]"),0)," view(s)?",""))
带有 IFERROR 的主公式:
=IFERROR(value(REGEXREPLACE(text(importxml(F173,"//*[contains(@class, 'watch-view-count')]"),0)," view(s)?","")),0)
带有 IFERROR 和“//@last”的主公式不起作用
=IFERROR(value(REGEXREPLACE(text(importxml(F173,"//*[contains(@class, 'watch-view-count')]"),0)," view(s)?","")),"//@last")
使用“//@last”作为 IFERROR 值而不是“0”
预期:最后更新的数字显示在单元格中,而不是 #ERROR
结果:当返回错误时,单元格仅显示 //@last。