【问题标题】:how to use IMPORTHTML for an array of urls如何将 IMPORTHTML 用于 URL 数组
【发布时间】:2021-07-29 11:07:37
【问题描述】:

根据对上一个问题的回答,似乎无法从使用 javascript 在用户滚动时自动展开的网站导入 HTML 图表的所有行。

这个问题的第一个版本的答案是使用 IMPORTHTML 数组作为 QUERY 函数的范围。由于这可以返回结果,因此我调整了 url,以便表格按预期填充更多;这意味着拥有更多的网址。我决定在参考文献上使用 ARRAYFORMULA 构建网址!标签(下面的链接)。

然后我单独更新了 QUERY 范围数组的行以生成以下公式

=query( 
  {importhtml(ref!B5, ref!B1, ref!B2); 
    importhtml(ref!B6, ref!B1, ref!B2);
    importhtml(ref!B7, ref!B1, ref!B2);
    importhtml(ref!B8, ref!B1, ref!B2);
    importhtml(ref!B9, ref!B1, ref!B2);
    importhtml(ref!B10, ref!B1, ref!B2);
    importhtml(ref!B11, ref!B1, ref!B2);
    importhtml(ref!B12, ref!B1, ref!B2);
    importhtml(ref!B13, ref!B1, ref!B2);
    importhtml(ref!B14, ref!B1, ref!B2);
    importhtml(ref!B15, ref!B1, ref!B2);
    importhtml(ref!B16, ref!B1, ref!B2) 
    }, 
  "where Col1 is not null", 1)

更新问题: 构建 QUERY 范围数组是否有更优雅的解决方案?

在 ref 中创建的一些 url!选项卡是空的,但可以开始使用。希望可能有一种方法来构建该功能,以便它具有一定程度的“面向未来”的潜在扩展。虽然单元格中的函数是理想的解决方案,但如果这需要 Apps 脚本(添加标签),我愿意接受可能实现最终目标的策略。

https://docs.google.com/spreadsheets/d/14jHGRyHKf866jrZiIfX2-GX6hZ2SE6vi_DezckpXaRs/edit#gid=7490361

非常感谢任何有关如何成功(并且可能优雅地)做到这一点的指导。


下面包含此问题以前版本的文本。

作为一种解决方法,~~我从图表的每个页面中提取了单独的 url,并将设置设置为一次显示的最大行数(即 100 行)。我已将所有 url 放在一张表中,并希望使用单个公式填充单个 IMPORTHTML 结果。以下公式不会产生预期的结果。~~

=IMPORTHTML({D3:D6},A3,B3)
=ARRAYFORMULA(IMPORTHTML({D3:D9},A3,B3))

这两个选项都会导致仅部分返回第一个 url。

={{IMPORTHTML(D3,A3,B3)};{IMPORTHTML(D4,A3,B3)};{IMPORTHTML(D5,A3,B3)};{IMPORTHTML(D6,A3,B3)}}

此选项会导致第一个 URL 的完整返回(带有一些奇怪的填充行)以及第二个 URL 的部分返回。这是当前在 arrayImport 选项卡上的选项。

【问题讨论】:

    标签: google-apps-script google-sheets google-sheets-formula


    【解决方案1】:

    要清除重复的标题行,试试这个:

    =query( 
      { 
        importhtml(D3, A3, B3); 
        importhtml(D4, A3, B3); 
        importhtml(D5, A3, B3); 
        importhtml(D6, A3, B3) 
      }, 
      "where Col1 is not null", 
      1 
    )
    

    要从 URL 数量发生变化的地址列表中导入数据,您可以尝试 importDataFromManySpreadsheets 脚本。

    【讨论】:

    • 感谢您的回复。表格似乎仍然表现得很奇怪,所以我将 url 重置为建立在不是 ref 的基础上!标签。这为扩展提供了空间,但根据增长量需要注意。使用这个公式,有没有一种方法可以在 QUERY 范围内构建项目而无需单独键入每一行?
    • 没有。要从 URL 数量发生变化的地址列表中导入数据,您必须使用脚本。
    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 2019-04-11
    • 2023-03-24
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多