=ARRAYFORMULA({
AVERAGE(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(Data!D$2:E856<>"", "♠"&Data!D$2:E856&"♦"&Data!F$2:G856, )),,999^99)),,999^99), "♠")), "♦"),
"select Col2
where lower(Col1) contains '"&LOWER(A2)&"'
offset "&COUNTIF(Data!D$2:E856, A2)-6))})
У меня есть указанная выше формула. При этом происходит следующее:
Последние 6 раз A2 появляется в столбце D или E, соответствующее значение накапливается в столбце F или G. Эти 6 значений затем также превращаются в среднее.
Я пытаюсь добавить к этому одно условие. Я хочу, чтобы он брал только те последние 6 случаев, когда столбец H и I также являются чем-то конкретным. c.
Итак, когда A2 отображается в столбце D, я хочу использовать строку только в том случае, если столбец I имеет значение «X ". Когда A2 появляется в столбце E, я хочу использовать строку, только если столбец H равен «X».
Я сам не могу реализовать это в своей функции и отчаянно нуждаюсь в помощи. Одна из проблем заключается в том, что поиск "X" выполняется в обратном порядке столбцов (ie. Когда A2 находится в D, пытается найти I ... и когда A2 находится в E, пытается найти G ... что не порядок их появления в алфавите). Также просто не уверен, где в формуле этому условному выражению даже нужно go.
Data! просто ссылается на лист, на который, очевидно, выгружен мой набор данных.