Google Sheets - вернуть все ячейки на основе соседних ссылочных ячеек / нескольких критериев
Я пытаюсь создать таблицу, которая показывает средние значения на основе нескольких критериев соседних ячеек.
Лучший способ объяснить это с помощью моего образца листа (с разрешением на редактирование): https://docs.google.com/spreadsheets/d/1R3WSa2B0_wzOsp4Z7ktVy_2UVG2tVgo0DK1hehMNW2Q/edit?usp=sharing
Самым близким, что я получил, было использование Index Match, хотя это возвращает значение только на основе одного критерия:
=index(C1:C10, match("Joey",C1:C10,0)+2)
Но, конечно, мне нужно сослаться на несколько ячеек / критериев (глядя на "Назначенное лицо" и "Тип работы"... ПОТОМ извлекая значение ячейки с надписью "Дни")
Я также пробовал сводную таблицу, HLOOKUP, Filter и Query, но, похоже, не могу получить там несколько критериев И ссылку на ячейку.
2 ответа
Может быть попробовать
=iferror(average(filter(offset($C$2:$C$10, 2, 0), $C$2:$C$10=$A15, offset($C$2:$C$10, 1, 0)=B$14)), "-")
в B15 и заполните и направо.
Сейчас я смотрю что-то вроде этого, чтобы вытащить строку 2,5,8, затем 3,6,9, затем 4,7, 10 (выглядит немного длинно):
=query({filter(C2:C,mod(row(C2:C)-2,3)=0),filter(C2:C,mod(row(C2:C)-2,3)=1),filter(C2:C,mod(row(C2:C)-2,3)=2)},"select Col1,avg(Col3) where Col3 is not NULL group by (Col1) pivot (Col2)")
Тогда это, чтобы получить средние значения без группировки их по назначенному человеку
=query({filter(C2:C,mod(row(C2:C)-2,3)=0),filter(C2:C,mod(row(C2:C)-2,3)=1),filter(C2:C,mod(row(C2:C)-2,3)=2)},"select avg(Col3) where Col3 is not NULL pivot (Col2)")
Однако вы можете нарушить это, если измените количество строк в листе, потому что три массива в фигурных скобках могут иметь разное количество строк.