Google sheets GoogleSheets:当数据存在时获取列标题
我试图根据表中的过滤器获取列标题,如果数据返回1。例如:Google sheets GoogleSheets:当数据存在时获取列标题,google-sheets,array-formulas,Google Sheets,Array Formulas,我试图根据表中的过滤器获取列标题,如果数据返回1。例如: ColA ColB ColC ColD ColE Row1 Stat1 Stat2 Stat3 Row2 Bob Hat 0 0 1 Row3 Bob Glv 1 1 0 如果我有过滤功能: =FILTER(C2:E3, A2:A="Bob", B2:B="Glv") 我希望返回数组的公式是{Stat1,Stat2}(或者{Stat3},如果第二个条件是“Hat
ColA ColB ColC ColD ColE
Row1 Stat1 Stat2 Stat3
Row2 Bob Hat 0 0 1
Row3 Bob Glv 1 1 0
如果我有过滤功能:
=FILTER(C2:E3, A2:A="Bob", B2:B="Glv")
我希望返回数组的公式是{Stat1,Stat2}(或者{Stat3},如果第二个条件是“Hat”)
谁能给我指出正确的方向吗?
谢谢
使用双过滤器
:
使用双过滤器
:
使用公式作为嵌套在ArrayFormula中的IF的逻辑表达式,使用空参数作为值IF false:
=阵列公式(如果(过滤器(C2:E3,A2:A3=“Bob”,B2:B3=“Hat”),C1:E1),)
上面将返回{Stat1,Stat2,}
要删除结果数组的空成员,请使用“联接和拆分”:
=ArrayFormula(拆分(JOIN(“,”,IF(FILTER(C2:E3,A2:A3=“Bob”,B2:B3=“Hat”),C1:E1,),“,”和“,”,FALSE))
使用公式作为嵌套在ArrayFormula中的IF的逻辑表达式,使用空参数作为值IF FALSE:
=阵列公式(如果(过滤器(C2:E3,A2:A3=“Bob”,B2:B3=“Hat”),C1:E1),)
上面将返回{Stat1,Stat2,}
要删除结果数组的空成员,请使用“联接和拆分”:
=ArrayFormula(SPLIT(JOIN(“,”,IF(FILTER(C2:E3,A2:A3=“Bob”,B2:B3=“Hat”),C1:E1,),“,”和“,”,FALSE))
我假设您想要选择一个列标题,其中对应的列中有一个或多个1,所以想出了
=query({transpose(query(FILTER(A2:E, A2:A="Bob", B2:B="Glv"),"select sum(Col3),sum(Col4),sum(Col5)")),transpose(C1:E1)},"select Col3 where Col2>0")
我假设您想要选择一个列标题,其中对应的列中有一个或多个1,所以我想到了
=query({transpose(query(FILTER(A2:E, A2:A="Bob", B2:B="Glv"),"select sum(Col3),sum(Col4),sum(Col5)")),transpose(C1:E1)},"select Col3 where Col2>0")
只需稍加编辑即可删除“-”这太好了!谢谢在本例中,删除“-”会得到与您所列相同的输出。只需稍加编辑即可删除“-”,效果非常好!谢谢在本例中,删除“-”会得到与您列出的相同的输出。