ArrayFormula按多个标准检索列表

时间:2017-09-19 13:17:15

标签: google-sheets formula array-formulas

输入

数据表

TaskId  ClientId Canceled
1             1         0
2             1         0
3             1         0
4             2         0
5             2         1
6             2         0
7             3         0

报告表

ClientId
1
1
2
3

期望输出

Arrayformula从客户端获取所有TaskIds,其中Canceled = 0

TaskIds
1
2
3
1
2
3
4
6
7

我有join + filter公式向下拉,这为我提供了客户的所有TaskIds:

ClientId  TaskIds
1          1,2,3
1          1,2,3
2          4,6
3          7

然后我从这个helper_column得到我的结果:

=transpose(split(join(",", helper_colum)))

我想在不需要拖下来的情况下完成这项工作。

2 个答案:

答案 0 :(得分:1)

试试这个:

  =ARRAYFORMULA(TRANSPOSE(SPLIT(CONCATENATE(""&TRANSPOSE(IF(TRANSPOSE(A11:A14)=B2:B8,IF(C2:C8=0,A2:A8,""),""))),"")))

A11:A14 =报告单客户ID A2:C8 =数据表值 干杯

答案 1 :(得分:1)

在“报告”标签this spreadsheet中,我输入的单元格B2

=arrayformula(vlookup(A2:A5&"", regexreplace({unique(filter(Data!B2:B, Data!C2:C=0))&"", trim(transpose(query(if((transpose(unique(filter(Data!B2:B, Data!C2:C=0)))=filter(Data!B2:B, Data!C2:C=0))*len(filter(Data!B2:B, Data!C2:C=0)),filter(Data!A2:A, Data!C2:C=0)&",",),,50000)))},",$", ), 2, 0))
相关问题