Я считаю вашей целью следующее.
- Вы хотите использовать
IMPORTXML
или IMPORTHTML
, когда таблица чемпионата и таблица премьер-лиги существуют в данных HTML.
- Вы хотите добиться этого, используя встроенные формулы Google Spreadsheet.
Для этого как насчет этого ответа?
В этом ответе я хотел бы предложить следующую последовательность действий.
- Получите значения таблицы чемпионата и таблицы премьер-лиги из URL-адреса.
- Join the retrieved values with
""
and compare it with Championship tablePremier League table
.
- When "Championship table" and "Premier League table" are existing,
TRUE
is returned.
- Из данных HTML я подумал, что порядок таблицы чемпионата и таблицы премьер-лиги постоянный.
Примерная формула выглядит следующим образом. URL помещается в ячейку A1.
=IF(TEXTJOIN("",TRUE,IMPORTXML(A1,"//h2/a"))="Championship tablePremier League table",TRUE,FALSE)
- В этом случае, когда существуют таблица чемпионата и таблица премьер-лиги, возвращается
TRUE
.
Пример формулы:
Когда используется эта формула, когда существуют таблица чемпионата и таблица премьер-лиги, в качестве образца вы хотите использовать IMPORTXML(A1,"//table/tr")
, она становится следующей.
=IF(TEXTJOIN("",TRUE,IMPORTXML(A1,"//h2/a"))="Championship tablePremier League table",IMPORTXML(A1,"//table/tr"),"")
- URL помещается в ячейку A1.
- В этом случае, когда таблица чемпионата и таблица премьер-лиги НЕ существуют, значения не отображаются.
Результат:
![введите описание изображения здесь](https://i.stack.imgur.com/C6mnC.png)
Использованная литература:
Добавлен:
Что касается вашего обновленного вопроса, как насчет следующего ответа?
Из вашего вопроса я подумал, что когда существуют xxxxxxxxxx table
и yyyyyyyyyyy table
, существуют 2 таблицы. Когда я увидел данные HTML, когда существуют xxxxxxxxxx table
и yyyyyyyyyyy table
, мне показалось, что существуют таблицы, в которых leaguetable sortable table
в качестве значения класса. Я подумал, что это можно использовать в вашей ситуации. Итак, как насчет следующего примера формулы?
Пример формулы:
=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"),"")
Результат:
![введите описание изображения здесь](https://i.stack.imgur.com/Zb7bp.png)
Примечание:
- В этом случае можно использовать
=IFERROR(IMPORTXML(A1,"//table[contains(@class,'leaguetable sortable table')]//tr"),"")
. Об этом, пожалуйста, проверьте это для случая без значений xxxxxxxxxx table
и yyyyyyyyyyy table
.
person
Tanaike
schedule
27.06.2020