一个案例了解WPS函数进化史!

E精精
E精精

创作者俱乐部成员

请看下图,是一个典型的案例,经常被问,过去这个需求实现非常困难,尤其没有文本聚合函数的时代!下面我们就看一下各阶段处理这个问题的方法!

01 | 数组三键时代-V1.0

在动态数组没有出现之前,我们想对数据去重得到唯一值是一件非常困难的事情,典型的解法就是"万金油"的套路+PHONETIC函数

新手看到要哭
=IFERROR(INDEX(B:B,SMALL(IF(MATCH($B$2:$B$10,$B$2:$B$10,)=ROW($B$1:$B$9),ROW($B$2:$B$10)),ROW(A1))),"")

组员合并,在文本合并函数出现之前更是困难无比,使用下面公式的前提条件还要数据按组别已经排序!

=MID(SUBSTITUTE(PHONETIC(OFFSET($B$1,MATCH($E2,$B$2:$B$10,),,COUNTIF(B:B,E2),2)),E2,","),2,99)

怎么样?在过去函数的学习成本真的很大,这只是简单的去重合并就已经让人奔溃!不过动态数组出现之后这个问题得到了简化

02 | 新函数时代-V2.0

新函数出现,虽然还没进入动态数组的时代,但是这批函数,大大简化了过去一些复杂的公式,比如去重这种常见需求,UNIQUE 一个函数即可,不过这会儿还不会自动扩展,需要辅助INDEX等函数提取,但是也简化了很多了!

=INDEX(UNIQUE($B$2:$B$10),ROW(A1))

内容的合并,也不再需要绞尽脑汁,直接按照筛选+合并的思路书写!

=TEXTJOIN(",",1,FILTER($C$2:$C$10,$B$2:$B$10=$E3))

这个时候学习函数的朋友,我非常羡慕,学习成本真的大大降低,不用再扫脑去构建内存数组!

03 | 动态数组时代-V3.0

动态数组推出不久,部分新函数还在内测,这个时代真的进入了函数式编程时代,让很多过去需要VBA变成处理的问题,现在函数也可以轻松处理,一式搞定!

对!你看错,现在一个公式即可搞定,公式自动扩展,无需下载填充!REDUCE 迭代循环,配合VSTACK等数组操作函数,让很多,过去需要分多步处理的需求,现在一次即可搞定!

=REDUCE(B1:C1,UNIQUE(B2:B10),LAMBDA(x,y,VSTACK(x,HSTACK(y,TEXTJOIN(",",1,FILTER(C2:C10,B2:B10=y))))))

今天的内容就到这里,这里是易办公 - 早下班 的Excel办公实战,我是小编E精精

江苏省
浏览 764
10
26
分享
26 +1
34
10 +1
全部评论 34
 
沫筱汐
打卡
· 浙江省
回复
 
YU1415893271
打卡
· 浙江省
回复
 
沫财神-阿宽
打卡
· 浙江省
回复
 
༺ༀ༂࿅࿆༒熊猫༒࿅࿆༂ༀ༻
打卡
· 云南省
回复
 
小胡子
打卡打卡
· 广东省
回复
 
YOUNG!
了解一下
· 北京
回复
 
༼༎ຶᴗ༎ຶ༽
发财
· 福建省
回复
 
策馬追梦
打卡
· 陕西省
回复
 
QQ
打卡
· 河南省
回复
 
WPS_15168189116
打卡
· 浙江省
回复
 
那一年我十八
666
· 吉林省
回复
 
那一年我十八
· 吉林省
回复
 
夏洛
打卡
· 陕西省
回复
 
雨后清新
打卡
· 浙江省
回复
 
WJ
打卡
· 北京
回复
 
lovely(^_-)
打卡
· 天津
回复
 
QQ
打卡
· 河南省
回复
 
菩提祖师
打卡
· 四川省
回复
 
张予一㜣
打卡
· 北京
回复
 
鹤zz
不错唉
· 广西
回复