GROUPBY分组实战,解决这类问题妙呀!

作者:E精精 发布时间: 2024-01-18 14:05 阅读(452)  

图片

大家早上好、中午好、晚上好!我是小编E精精!

今天我们来看一个累计分组的案例,算是GROUPBY+SCAN函数的综合应用,文末写了一下PQ等其他的解法。直接看需求吧

 

▍需求说明

问题比较简单,有1月上半月的销售数据,现在要统计,每次销售超过200用时天数

图片

▍需求分析

累加问题,我们第一个想到的函数应该是SCAN函数,ta太擅长!这里这里不能单纯的累加,我们超过200就要进入下一组,所以要加个条件,判断一下如果当前的累计值超过200,直接返回,否则继续加!

=SCAN(,B2:B16,LAMBDA(x,y,IF(x>200,y,x+y)))

▼ 好像是这么回事

图片

那么下面我们如何确定每组数据呢?其实很简单,首次累计的时候,肯定就是数据本身,比如我们上面比较颜色的部分!关键是如何找出来!规律发现了,直接判断和原内容是否相等,然后依次累加满足条件的结果即可!这活还得SCAN来搞!

通过两次累加,我们搞定了分组依据,下面就该GROUPBY出场了!

=SCAN(0,C2#=B2:B16,SUM)

图片

有了分组依据,最后GROUPBY函数分组就简单很多!

图片

我们全部整合一下,看一下最后完整的函数公式!

 

▍参考解法

365函数目前完全可以称作为函数式编程,顺序、选择和循环,该有的都有了!

以下只是通过LET函数把上面分析的过程给整合一下,放到一个公式中!

图片

不要感觉公式太复杂,其他思路有了,写出来就是水到渠成的事情,单纯是长了点!

图片

▍娱乐番外

PowerQuery就不分组了,可以用 List.Accumulate,暴力堆,好久不写,生疏了,将就看看哈!有啥问题,欢迎留言交流。

图片

小编开发的模板及课程推荐

▍模板 | Excel多文件取数神器V5.0 

▍教程 | Excel从入门到精通系列教程 🔥🔥 🔥 

▍模板 | 无宏版多级联动生成器

▍模板 | 多选录入神器V4.7版本!

代码 | VBA常用代码合集🔥 

今天的内容就到这里,有帮助多多三连!

图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注