![](/img/trans.png)
[英]How can I use ArrayFormula within a formula containing Vlookup, Filter and RegexMatch
[英]How to create a filter formula as an arrayformula
我有多个依赖于这个公式的列。
我有一些实例,一名员工可以为同一个项目分配多个任务,我使用公式合并行并添加导致相应行中出现额外行的值:
我首先执行 a = Unique(A3:D)
来提取列表,然后:
=IF($A3<>"",join(", ",filter(Sheet1!E$3:E,Sheet1!$A$3:$A=$G3)),"")
我怎样才能使它成为一个 ArrayFormula? 我是这样试的,但结果不正确:
=arrayformula(IF($A2:A<>"",join(", ",filter(Sheet1!E$2:E,Sheet1!$A$2:$A=$G2:G)),""))
这是一个示例电子表格: https : //docs.google.com/spreadsheets/d/1cLXNidk6FSZbUeU0CK3XlMPWdpBMbnKMXC5gzTfMvY0/edit?usp=sharing
一次性完成所有操作:
=ARRAYFORMULA(SPLIT(REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE({
QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, E3:E}, ),
"select Col1,count(Col1) where Col1 is not null group by Col1 pivot Col2", 0),
"select Col1 offset 1", 0),
IF(QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, E3:E}, ),
"select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0), "offset 1",0)<>"",
QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, "♦"&E3:E&","}, ),
"select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0), "limit 0",1), )})
,,999^99))), ", ♦", ", "), ",$", ), "♦"))
只有K列:
=QUERY(ARRAYFORMULA(SPLIT(REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE({
QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, E3:E}, ),
"select Col1,count(Col1) where Col1 is not null group by Col1 pivot Col2", 0),
"select Col1 offset 1", 0),
IF(QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, E3:E}, ),
"select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0), "offset 1",0)<>"",
QUERY(QUERY(IF(A3:A<>"", {A3:A&"♦"&B3:B&"♦"&C3:C&"♦"&D3:D, "♦"&E3:E&","}, ),
"select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0), "limit 0",1), )})
,,999^99))), ", ♦", ", "), ",$", ), "♦")), "select Col5", 0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.