数据表
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)))
我想在不需要拖下来的情况下完成这项工作。
答案 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))