Google 工作表 - Return 所有单元格均基于附近参考 cells/multiple 标准

Google Sheets - Return all cells based on nearby reference cells/multiple criteria

我正在尝试创建一个 table,它根据附近单元格的多个条件显示平均值。

最好的解释方法是使用我的示例 sheet(具有编辑权限): https://docs.google.com/spreadsheets/d/1R3WSa2B0_wzOsp4Z7ktVy_2UVG2tVgo0DK1hehMNW2Q/edit?usp=sharing

我最接近的是使用索引匹配,尽管那只是 returns 基于单一标准的值:

=index(C1:C10, match("Joey",C1:C10,0)+2)

但我当然需要引用多个 cells/criteria(查看 "Assigned Person" 和 "Job Type"...然后提取标记为 "Days" 的单元格的值)

我还尝试了一个数据透视表 table、HLOOKUP、过滤器和查询,但似乎无法在其中获取多个条件和单元格引用。

我现在正在看这样的东西,先拉出第 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)")

但是,如果您更改 sheet 中的行数,则可以打破此设置,因为花括号中的三个数组可能具有不同的行数。

也许试试

=iferror(average(filter(offset($C:$C, 2, 0), $C:$C=$A15, offset($C:$C, 1, 0)=B)), "-")

在 B15 中向下和向右填充。