如何排队 "import" 个公式
How to queue up "import" formulas
在 Google 表格中,我正在尝试使用 importhtml 从网站获取数据,问题是我正在尝试跨 5000 个单元格执行此操作。
Google Sheets 试图一次完成所有这些,我一直在尝试制作它,以便单元格等待其上方的单元格完成导入,然后再自行完成。
但是我还没有完全做到这一点。
我试过使用以下两个公式:
=IF(OR(ISERR(A1),A1="Waiting..."),"Waiting...",IMPORTHTML("....")
解释一下我的想法:
每次单元格尝试在 Google 表格中导入内容时,如果需要一段时间,它可能会抛出错误:“正在加载...”
所以 - 我要创建的行为是:
如果 A1 当前正在导入(正在加载...)或正在等待自身(正在等待...)- 那么 A2 应该不会尝试导入,而是用文本填充自己:“正在等待... 。”(这不一定是必需的,但它是我试图强制它停止尝试导入的方式)
我还使用以下代码尝试了此行为:
=IF(OR(ISERR(A1),ISBLANK(INDIRECT(ADDRESS(ROW(),COLUMN())))),"Waiting...",IMPORTHTML("....")
我在使用此代码时遇到的问题是 A2 成功等待 A1 完成,但 A3 无法识别 A2 正在等待。
有什么想法吗?
我不受这些公式的束缚 - 我对完全不同的解决方案持开放态度。
改为将评估移至另一个单元格。
假设 B1 是第一个 IMPORTHTML("....")
,而 B2 是第二个..等等。
在A2中,输入:
=iferror(if(B1="","",1),0)
和 B2:
=IF(A2=1,IMPORTHTML("...."),"")
并全部向下拖动。
想法:辅助单元帮助控制 importhtml() 调用。如果之前的B1returns错误,则本次Import停止。如果 B1 评估尚未完成,则单元格值将为 "" 或错误。在这两种情况下, A2 都会显示 "" 或 0 。如果 B1 评估成功,A2 将是 1。那么只有 B2 导入 运行。下一个相同 A3/B3.
p/s :这个解决方案是在 googlesheet 上测试的,而不是 excel。
在 Google 表格中,我正在尝试使用 importhtml 从网站获取数据,问题是我正在尝试跨 5000 个单元格执行此操作。
Google Sheets 试图一次完成所有这些,我一直在尝试制作它,以便单元格等待其上方的单元格完成导入,然后再自行完成。
但是我还没有完全做到这一点。
我试过使用以下两个公式:
=IF(OR(ISERR(A1),A1="Waiting..."),"Waiting...",IMPORTHTML("....")
解释一下我的想法:
每次单元格尝试在 Google 表格中导入内容时,如果需要一段时间,它可能会抛出错误:“正在加载...”
所以 - 我要创建的行为是:
如果 A1 当前正在导入(正在加载...)或正在等待自身(正在等待...)- 那么 A2 应该不会尝试导入,而是用文本填充自己:“正在等待... 。”(这不一定是必需的,但它是我试图强制它停止尝试导入的方式)
我还使用以下代码尝试了此行为:
=IF(OR(ISERR(A1),ISBLANK(INDIRECT(ADDRESS(ROW(),COLUMN())))),"Waiting...",IMPORTHTML("....")
我在使用此代码时遇到的问题是 A2 成功等待 A1 完成,但 A3 无法识别 A2 正在等待。
有什么想法吗? 我不受这些公式的束缚 - 我对完全不同的解决方案持开放态度。
改为将评估移至另一个单元格。
假设 B1 是第一个 IMPORTHTML("....")
,而 B2 是第二个..等等。
在A2中,输入:
=iferror(if(B1="","",1),0)
和 B2:
=IF(A2=1,IMPORTHTML("...."),"")
并全部向下拖动。
想法:辅助单元帮助控制 importhtml() 调用。如果之前的B1returns错误,则本次Import停止。如果 B1 评估尚未完成,则单元格值将为 "" 或错误。在这两种情况下, A2 都会显示 "" 或 0 。如果 B1 评估成功,A2 将是 1。那么只有 B2 导入 运行。下一个相同 A3/B3.
p/s :这个解决方案是在 googlesheet 上测试的,而不是 excel。