在Excel中动态筛选表格

siv3szwd  于 2022-12-01  发布在  其他
关注(0)|答案(2)|浏览(121)

是否有一种方法可以使用动态数组公式,根据表A1:B6. enter image description here中的单元格A11:B12给出解
这意味着,如果客户C将添加产品V,它将动态添加一行enter image description here。我可以想象,在A11中,将有类似于UNIQUE(Table1[Client])??的内容。但是,如何使用动态数组公式获得列B中的产品?
谢谢你的帮忙
我尝试了将filter函数与xmatch结合使用,但由于查找范围的动态特性,无法使其运行

piv4azn7

piv4azn71#

您可以使用如下所示的公式,

·单元格A10中使用的公式

=HSTACK(UNIQUE(Table23[Client]),BYROW(UNIQUE(Table23[Client]),LAMBDA(x,TEXTJOIN(",",,REPT(Table23[Product],x=Table23[Client])))))

您可以将整个内容 Package 在LET()中,以使其更具可读性,如下所示:

·单元格A10中使用的公式

=LET(_client,UNIQUE(Table23[Client]),
HSTACK(_client,BYROW(_client,LAMBDA(x,TEXTJOIN(",",,REPT(Table23[Product],x=Table23[Client]))))))

可以使用FILTER()函数代替REPT()

·单元格A10中使用的公式

=LET(_client,UNIQUE(Table23[Client]),
HSTACK(_client,BYROW(_client,LAMBDA(x,TEXTJOIN(",",,FILTER(Table23[Product],x=Table23[Client]))))))

你也可以这样尝试,

·单元格A9中使用的公式

=DROP(IFERROR(REDUCE("",UNIQUE(Table23[Client]),LAMBDA(a,b,VSTACK(a,HSTACK(b,TEXTJOIN(",",1,FILTER(Table23[Product],Table23[Client]=b)))))),""),1)
mv1qrgav

mv1qrgav2#

或者(详细一点),您可以尝试:

D1中的公式:

=REDUCE(Table1[#Headers],UNIQUE(Table1[Client]),LAMBDA(a,b,VSTACK(a,HSTACK(b,TEXTJOIN(",",,FILTER(Table1[Product],Table1[Client]=b))))))

相关问题