打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel函数循环解决大问题:如何统计每月明星产品 - 继续讨论BYROW/BYCOL
userphoto

2022.08.20 北京

关注

这次,我们继续讨论BYROW和BYCOL函数。

统计每月明星产品

所谓明星产品就是每月中所有达标的产品:

例如,如果将目标定为4000,所有超过4000的都属于明星产品。

从大的概念上,这个问题跟判断每月是否达标好像是类似的,都是判断每月的数量。

在筛选达标月份时,我们使用了FILTER函数和BYCOL函数的结合:

=FILTER(C2:N2,BYCOL(C3:N16,LAMBDA(c,SUM(c)))>C20)

但是,这里的问题却是截然不同的。

因为,我们需要找多种产品,并且连接成为一个字符串返回:

a,c,d,i,j,n

所以,我们需要换一个思路。

如果我们将目标放在一列,比如,1月:

显然,我们可以通过筛选得到所有达标产品,

=FILTER(B3:C16,C3:C16>C19)

这个公式也可以写成:

=FILTER(B3:B16,C3:C16>C19)

就可以得到产品名称了。

将这个公式与TEXTJOIN函数结合使用:

=TEXTJOIN(",",TRUE,FILTER(B3:B16,C3:C16>C19))

这是对于一列的情况,对于多列的情况呢?对于多列,当然要逐列完成了。而逐列完成就需要BYCOL函数出马了。

=BYCOL(   C3:N16,   LAMBDA(c,      TEXTJOIN(",", TRUE,          FILTER(B3:B16, c>C19)      )   ))

这就是BYCOL函数的本意。其中LAMBDA函数中的c就是数据中的每一列。

各产品销量最大的月份

将问题转个90度😀,看看如何得到各产品销量最大的月份:

我们可以进行同样的分析:

我们肯定可以找出每行当中销量最大的月份:

=FILTER(C2:N2,C3:N3=MAX(C3:N3))

那么只要通过BYROW函数逐行循环,然后将上面公式中的C3:N3用循环变量r替换即可:

=BYROW(C3:N16,LAMBDA(r,FILTER(C2:N2,r=MAX(r))))

一切都是那么简单!

详细解释请看视频

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
介绍新LAMBDA函数
MAP函数用过没?
TEXTJOIN迄今为止最强的字符连接函数
Excel函数134集:filter textjoin案例分享,有点纵向筛选的意思
python中五个超有用的神仙级函数!
java之Lambda函数式编程最佳应用举例, 链式语法「真干货来拿走」
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服