В ответ на мой вопрос (ссылку я оставлю ниже), используемая формула и результат следующие:
https://stackoverflow.com/a/65451225/11462274
=IMPORTXML("https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr")
Столбцы могут менять положение, но заголовок каждого из них следует за новой позицией столбца, поэтому как я могу запросить формулу для поиска, где находится столбец с title X
, и из этого найти значения ⚽ Matches
В этом случае значение будет: Объяснение через ВПР:
=ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(B2:B),B1:F,3,FALSE)))
Проблема с VLOOKUP
заключается в том, что столбец с title X
не всегда может быть в column D
, а ⚽ Matches
не всегда может быть в column B
использовать:
=ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(B2:B),
{FLATTEN(QUERY(TO_TEXT(TRANSPOSE(IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr"))),
"where Col1 contains 'Matches'", 0)), IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr")}, 5, 0)))
например. часть:
=INDEX(FLATTEN(QUERY(TO_TEXT(TRANSPOSE(IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr"))),
"where Col1 contains 'Matches'", 0))
и полная формула:
=ARRAYFORMULA(IFERROR(VLOOKUP(UNIQUE(B2:B),
{FLATTEN(QUERY(TO_TEXT(TRANSPOSE(IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr"))),
"where Col1 contains 'Matches'", 0)), IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr")},
MATCH("X", INDEX(IMPORTXML(
"https://www.soccerstats247.com/predictions/brazil/serie-a/",
"//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr"), 1), 0)+1, 0)))
@BrondbyIF да. ответ обновлен. код: MATCH("X", INDEX(IMPORTXML( "https://www.soccerstats247.com/predictions/brazil/serie-a/", "//table[@id='soccerContentPlaceHolder_gv1X2Predictions']/tbody/tr"), 1), 0)
Большое спасибо, приятель, у меня были сомнения, потому что если случайно столбец с заголовком
X
изменится с четвертого столбца на третий столбец, результат будет неверным, будет какой-то способ определить вместо4
, поставить столбец значения искать какX
?