Обновление формулы Google Sheets - PullRequest
1 голос
/ 22 марта 2020

У меня есть таблица здесь: https://docs.google.com/spreadsheets/d/1zh1EvjMqOnQVx4KAfHUEWT8_kCst1MOu0cJpUHb39q4/edit?usp=sharing

Я пытаюсь заполнить столбец с возрастом, который я выбрал во 2-й строке столбца C (на гонка). Формула, которую я сейчас имею, подходит для каждого возраста, но не подходит для группы, которая называется «LIT» в строке 68 (Раса 5).

Примечание - это также работает для особого случая, когда это гонка "Все звезды". см. строку 243

=ARRAYFORMULA(IF(LEN(D3:D866),vlookup(row(A3:866)+REGEXMATCH(C3:C866&E3:E866,"^RACE.+\d$"),SORT({row(H3:H866)*(REGEXMATCH(C3:C866&E3:E866,"\d+s")),iferror(REGEXEXTRACT(C3:C866&E3:E866,"\d+s"))}),2,2)&" "&D3:D866&"s",))

1 Ответ

0 голосов
/ 22 марта 2020

попробовать:

=ARRAYFORMULA(IF(D3:D="",,IF(IF(ROW(A3:A) <= MAX(IF(D3:D<>"", ROW(A3:A))),
 VLOOKUP(ROW(A3:A), FILTER({ROW(A3:A), 
 {QUERY(IFNA(REGEXEXTRACT(C3:C, "LIT|\d+s|All Star")), "offset 1", 0); ""}}, LEN(
 {QUERY(IFNA(REGEXEXTRACT(C3:C, "LIT|\d+s|All Star")), "offset 1", 0); ""})), 2), )=
 "All Star", E3:E&" "&D3:D, IF(ROW(A3:A) <= MAX(IF(D3:D<>"", ROW(A3:A))),
 VLOOKUP(ROW(A3:A), FILTER({ROW(A3:A), 
 {QUERY(IFNA(REGEXEXTRACT(C3:C, "LIT|\d+s|All Star")), "offset 1", 0); ""}}, LEN(
 {QUERY(IFNA(REGEXEXTRACT(C3:C, "LIT|\d+s|All Star")), "offset 1", 0); ""})), 2), )&" "&D3:D)))

0

...