Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets GoogleSheets:当数据存在时获取列标题_Google Sheets_Array Formulas - Fatal编程技术网

Google sheets GoogleSheets:当数据存在时获取列标题

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

我试图根据表中的过滤器获取列标题,如果数据返回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”)

谁能给我指出正确的方向吗? 谢谢

使用双
过滤器

使用双
过滤器


使用公式作为嵌套在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")

只需稍加编辑即可删除“-”这太好了!谢谢在本例中,删除“-”会得到与您所列相同的输出。只需稍加编辑即可删除“-”,效果非常好!谢谢在本例中,删除“-”会得到与您列出的相同的输出。