首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Excel中动态筛选表

在Excel中动态筛选表
EN

Stack Overflow用户
提问于 2022-11-28 19:48:01
回答 2查看 40关注 0票数 1

有没有办法有一个动态数组公式,根据表格A1:B6中的单元格A11:B12给出解决方案。在这里输入图像描述

这意味着如果客户C与产品V一起添加,它将动态地添加一行UNIQUE(Table1Client)??--我可以想象在A11中会出现类似于A11的东西但是如何用动态数组公式得到列B中的产品呢?

谢谢你的帮助

我尝试将筛选函数与xmatch耦合起来,但由于查找范围的动态特性,它无法运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-28 20:03:11

您可以使用如下公式,

·单元A10中使用的公式

代码语言:javascript
运行
复制
=HSTACK(UNIQUE(Table23[Client]),BYROW(UNIQUE(Table23[Client]),LAMBDA(x,TEXTJOIN(",",,REPT(Table23[Product],x=Table23[Client])))))

您可以将整个过程封装在一个LET()中,使其更具可读性,如下所示,

·单元A10中使用的公式

代码语言:javascript
运行
复制
=LET(_client,UNIQUE(Table23[Client]),
HSTACK(_client,BYROW(_client,LAMBDA(x,TEXTJOIN(",",,REPT(Table23[Product],x=Table23[Client]))))))

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

·单元A10中使用的公式

代码语言:javascript
运行
复制
=LET(_client,UNIQUE(Table23[Client]),
HSTACK(_client,BYROW(_client,LAMBDA(x,TEXTJOIN(",",,FILTER(Table23[Product],x=Table23[Client]))))))

你也可以这样做,

·单元A9中使用的公式

代码语言:javascript
运行
复制
=DROP(IFERROR(REDUCE("",UNIQUE(Table23[Client]),LAMBDA(a,b,VSTACK(a,HSTACK(b,TEXTJOIN(",",1,FILTER(Table23[Product],Table23[Client]=b)))))),""),1)
票数 2
EN

Stack Overflow用户

发布于 2022-11-29 09:09:52

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

D1中的公式

代码语言:javascript
运行
复制
=REDUCE(Table1[#Headers],UNIQUE(Table1[Client]),LAMBDA(a,b,VSTACK(a,HSTACK(b,TEXTJOIN(",",,FILTER(Table1[Product],Table1[Client]=b))))))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74605791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档