4

我有一个表格电子表格,其中有许多使用自定义函数的单元格,该函数调用 IMPORTHTML 并解析结果。工作表中的其他计算使用这些自定义公式单元格的返回值。正如预期的那样,当自定义公式单元格进行计算时,它们会显示“正在加载数据...”错误消息。在加载数据操作完成之前,我不能相信相关计算的结果。有什么好方法可以知道某个范围内的所有加载数据操作何时完成?

4

5 回答 5

2

我遇到过同样的问题。

单元格1:网址

cell2 :在 importdata 中使用 url

cell3 :在 importdata 中使用 cell2

我知道,一堆连锁的结果。

所以我测试了我能找到的所有选项。

自己判断。在动画中,我更改了 url,因此它会导致一个新的查询,您可以看到在检索数据时不同的检查器是如何受到影响的。

在此处输入图像描述

为了您的方便,这里有一些查询。

=IFNA(E27,"Waiting for data")
=IFERROR(E27,"Waiting for data")
=If(ISERROR(E27),"Waiting for data",E27)
=IF(E27<>"",E27,"Waiting for data")
=COUNTIF(E27,"<>*")

如果您有很多这些,您可能希望避免重新计算(大量的 http 请求并行)。为此,请查看https://stackoverflow.com/a/60871673/4752223

于 2021-04-21T12:04:10.813 回答
1

假设“加载数据”错误可以在 Sheet1 中找到,它由 AZ 列和 1-1000 行组成。在 Sheet2!A1 中,您可以放置=IF(COUNTIF(Sheet1!A:Z,"#Loading Data..."),"Loading","Done")​​ . (将 A:Z 中的 Z 替换为最后一列。)如果 Sheet1 中的任何单元格返回“#Loading Data...”,则 countif 将对它们进行计数,并返回“Loading”;否则它将返回“完成”。

(注意:错误消息正是我使用的吗?我目前无法测试它,我不确定这正是输出)

于 2018-10-26T22:45:03.420 回答
0

使用查询功能是可能的。假设 E 列中的 importhtml 函数和返回例如 URL 的数据模型,可以构造一个计数器,当所有抓取函数完成时将设置为 0:

=Count(E1:E)-query(E1:E; "Select count(E) where E contains 'http' label count(E)''")

如果它是检索数据的另一种模型,您可以将 Query 函数与匹配单元格的文本或字符串模式的正则表达式结合起来。

使用 Google Apps 脚本,您可以创建一个规则,当目标单元格等于 0 时通过电子邮件提醒您,因此您已经收到了抓取完成的警告。

于 2022-01-15T10:43:03.923 回答
0

尝试IF(IsError(a:Z),"Not Ready Yet","Ready")

于 2020-05-07T02:22:24.110 回答
0

这对我有用:

=COUNTIF(B1:B565,"<>*")

"Loading..."计算使用=IMPORTXML()google sheet 函数时显示的单元格数量。例如,在一种特殊情况下,我在第一列中有 565 个链接,在第=IMPORTXML(A1,"//h2[@class='margin-bottom-50']")2 列中有公式,并将上面的公式放入 D1。我通过将 =countif(B1,"<>*") 向下拖动到第 3 列进行仔细检查以进行目视检查,然后使用 =SUM() 在该列中添加所有 1。

于 2020-09-07T15:29:48.933 回答