分享

函数3.0时代,你还停留在1.0!?

 F2967527 2024-04-17 发布于北京

这两年Excel365陆续更新了一批新函数,今年WPS也更新了一批,这些新函数出来后,加上这批内测函数,这些更新到底改变了什么?我们通过一个小案例,跟大家交流一下!

▍需求说明

需求:A1:B7模拟的数据,需要按照姓名把对应的成绩用逗号合并!

比较简单,但是很常见,这是因为透视表不好处理这种文本聚合,很多中国式报表喜欢用!

图片

▍处理思路

这种问题,处理起来,首先,拿到姓名唯一值,然后,筛选每个姓名对应的成绩,再想办法合并到一起,在过去,可以用于处理文本聚合的函数基本是没有的,勉强能用的PHONETIC函数也比较麻烦!

▍老函数解法

老函数没有特殊情况,现在我真的很少写,原因看完就能明白,下面这么一长串是过去数据去重提取唯一的常用套路公式,新手能看懂不!

图片

姓名对应的成绩数据用逗号合并,又要如何处理呢?处理的前提是数据源中的姓名必须排序且成绩必须是文本格式!

能不能实现?能实现?!  条件还很苛刻!

图片

下面我们看一下新函数如何处理这类问题!

▍新增函数1.0时代

新函数早期还没有合并数据的函数,所以也是分两次来写,不过要简单很多。因为新增了一批非常强大的函数!

筛选函数-FILTER,文本聚合函数-TEXTJOIN、提取唯一值函数-UNIQUE

提取唯一值不再那么困难,UNIQUE看名字就知道可以直接拿到唯一值!

图片

筛选然后聚合也不用多思考,FILTER直接筛选,用TEXTJOIN把多个内容合并起来

图片

其实这个时候,已经是非常简洁好用了,但是一个需求,还要分步来写,还是少点什么,有办法一个函数搞定吗?

▍新增函数2.0时代

第二批新增了大概十几个新函数,这批新函数,基本都是为了操作动态数组而来,从而实现了动态数组灵活操作时代!

针对本案例,其中HSTACK函数可以实现两个结果的左右合并,一起输出针对每一个名进行筛选,也可以使用REDUCE函数处理!

现在我们可以通过LET函数分步骤书写公式,可以随时输出,也可以把多个数组进行合并、一个数组进行拆分等各种操作

图片

同步也推出了公式格式化插件,Excel Labs,提供函数式编程的公式的可读性,判断、循环、递归、数组的增删查改,这些都可以实现,也基本具备了函数式编程的必备条件,算是进入了函数式编程的时代,新函数2.0

图片

但是这还没结果,也就在过去的2023年,11月左右,微软又内测了两个新函数,GROUPBY和PIVOTBY,通过名字就知道他们为分组聚合而来,因为分组聚合的操作太过常见了!

▍新增函数3.0时代

我不知道还会更新哪些新函数,但是这两个函数更新出来真的非常强大!

对!最新函数就是这么简单!

=GROUPBY(A1:A7,B1:B7,ARRAYTOTEXT,3,0)

图片

当然,看上去略有瑕疵,成绩的标题好像没有!

=GROUPBY(A1:A7,B1:B7,VSTACK(ARRAYTOTEXT,'成绩'),3,0)

图片

下面是这两个函数的使用体验,没用过的可以先看看!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多