我正在尝试根据表中的过滤器获取列标题,如果数据返回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")
我希望返回的ArrayFormula为{Stat1,Stat2}(如果第二个条件是“Hat”,则返回{Stat3})。
有人能指出我正确的方向吗? 感谢。
答案 0 :(得分:1)
使用双
FILTER
:
=FILTER(C1:E1,--FILTER(C2:E3, A2:A3="Bob", B2:B3="Glv"))
答案 1 :(得分:1)
我认为你想要选择一个列标题,其中相应列中有一个或多个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")
答案 2 :(得分:0)
使用公式作为嵌套在ArrayFormula中的IF的逻辑表达式,如果为false,则使用值为空的参数:
=ArrayFormula(IF(FILTER(C2:E3, A2:A3="Bob", B2:B3="Hat"),C1:E1,))
以上将返回{Stat1,Stat2,}
要删除结果数组的空成员,请使用JOIN和SPLIT:
=ArrayFormula(SPLIT(JOIN(",", IF(FILTER(C2:E3, A2:A3="Bob", B2:B3="Hat"), C1:E1,)), ",", FALSE))