导入标题包含单词 "table" - Google 的表格

Import tables where the title contains the word "table" - Google Sheets

在该站点的页面上,这些表格在右侧出现 1 或 2 次,我想知道是否有任何方法可以告诉 IMPORTXMLIMPORTHTML 导入包含单词 "table" 的表格,例如:"xxxxxxxxxx table""yyyyyyyyyyy table".

因为页面上有几个表,如果向IMPORT说明我要找哪些表,就不需要全部导入了。

示例页面:
https://int.soccerway.com/matches/2020/03/03/england/fa-cup/reading-fc/sheffield-united-fc/3221322/

Obs.: The pages changes the number of tables according to the existing data, so I can't use something fixed like:

=IMPORTHTML("LINK","table",9)
=IMPORTHTML("LINK","table",10)

Sheet link:
https://docs.google.com/spreadsheets/d/1Dmql4y03xaJoh_wU01XoMM4b3ZSpF-biT7-qGXkyt7Y/edit?usp=sharing

我相信你的目标如下。

  • 当HTML数据中存在“英冠table”和“英超table”时,您想使用IMPORTXMLIMPORTHTML
  • 您想使用 Google 电子表格的内置公式来实现。

为此,这个答案怎么样?

在这个回答中,我想提出以下流程。

  1. 从 URL.
  2. 中检索“Championship table”和“Premier League table”的值
  3. 将检索到的值与 "" 相结合,并将其与 Championship tablePremier League table 进行比较。
    • 当“英冠table”和“英超table”存在时,返回TRUE
    • 根据HTML数据,我认为“英冠table”和“英超table”的顺序是不变的

示例公式如下。 URL 被放入单元格“A1”。

=IF(TEXTJOIN("",TRUE,IMPORTXML(A1,"//h2/a"))="Championship tablePremier League table",TRUE,FALSE)
  • 在这种情况下,当“Championship table”和“Premier League table”存在时,返回TRUE

示例公式:

当使用这个公式时,当“冠军table”和“英超联赛table”存在时,作为示例,您想使用IMPORTXML(A1,"//table/tr"),它变成如下。

=IF(TEXTJOIN("",TRUE,IMPORTXML(A1,"//h2/a"))="Championship tablePremier League table",IMPORTXML(A1,"//table/tr"),"")
  • URL 被放入单元格“A1”。
  • 在这种情况下,当“Championship table”和“Premier League table”不存在时,不会显示任何值。

结果:

参考文献:

已添加:

对于您更新的问题,以下答案如何?

根据你的问题,我认为当 xxxxxxxxxx tableyyyyyyyyyyy table 存在时,2 个 table 存在。当我看到 HTML 数据时,当 xxxxxxxxxx tableyyyyyyyyyyy table 存在时,table 似乎有 leaguetable sortable table 作为 class价值是存在的。我认为这可能适用于您的情况。那么下面的示例公式怎么样?

示例公式:

=IF(AND(REGEXMATCH(INDEX(IMPORTXML(A1,"//h2/a"),1),"table"),REGEXMATCH(INDEX(IMPORTXML(A1,"//h2/a"),2),"table")),IMPORTXML(A1,"//table[contains(@class,'leaguetable sortable table')]//tr"),"")

结果:

注:

  • 在这种情况下,=IFERROR(IMPORTXML(A1,"//table[contains(@class,'leaguetable sortable table')]//tr"),"")或许可以使用。关于这个,请在​​没有 xxxxxxxxxx tableyyyyyyyyyyy table.
  • 值的情况下进行测试