【WPS功能分享】WPS表格-高效运行之LET函数妙用
创作者俱乐部成员
最近一直想写一下关于WPS表格函数和测试WPS64位内侧版性能的文章,但不知道写些什么,今天在逛论坛的时候看见有老师提出了一个问题,这样我就有了一个切入点可以分享一下,问题是这样的,如下图,左边是人员及认证登记记录,右边是查询的对应人员最高等级信息,可以看出登记信息里面同一个人员认证信息可以有多个,但查询结果我们只需要知道同一个人员最高认证等级是什么就可以了~
下面我分享一下我的思路,可以看出左边【人员名称】有重复值且顺序也不是规律的,这里我就想到了UNIQUE函数和SORT函数,嵌套使用后如下效果~
在【人员名称】处理好唯一性和排序问题后,发现【认证等级】也有同样的问题,所以我们可以用相同的处理方案,但就在这个时候,我想了一下,能不能【人员名称】和【认证等级】一起排序呢?此时,我想到了另外一个函数SORTBY函数,组合之后效果如下~
到这里已经处理好了唯一性和排序的问题,那么最高等级怎么取呢?此时一个函数浮现在我的脑海里,这就是XLOOKUP函数,这个函数可以指定搜索模式,所以这也是我选择它的原因~
既然选好了函数,我们就要根据这个函数的所需要的参数获取对应的值,通过上文我们可以知道【查找值】我们已经有了,但此时难题又来了,【查找数组】和【返回数组】怎么获取呢?此时我又想到了另外一个函数CHOOSECOLS函数,效果如下~
这个时候我们就完成了【查找值】,【查找数组】和【返回数组】参数的获取,理论上这时已经可以得出结果了,但是另外一个问题又出现了,那就是运行的效率问题,这么多函数运算,运行效率可不就要降低很多,即使我当前使用的是WPS64位版本,但也需要提高一下运算效率,这时又浮现一个函数在我的脑海中,那就是LET函数,既然想到了使用的函数,下面我们就开始尝试~
由上图可以发现结果已经出来了,但是还是不完美,我们想的是可不可以一个函数把【人员名称】和【最高等级】都输出出来呢?我思考了一下,发现我们可以使用HSTACK函数,然后我就来优化一下上面的结果,结果如下图所示~
我总结一下,这次用到的函数有LET、UNIQUE、SORT、SORTBY、CHOOSECOLS、XLOOKUP、HSTACK这几个函数,如下所示就是这次用到的公式~
🔔 | LET(a,UNIQUE(SORT(A2:A17)),b,CHOOSECOLS(SORTBY(A2:B17,A2:A17,1,B2:B17,1),1),c,CHOOSECOLS(SORTBY(A2:B17,A2:A17,1,B2:B17,1),2),HSTACK(a,XLOOKUP(a,b,c,,,-1))) |
拓展一下针对数据源,我们可以把它转换为超级表,这样在添加数据时结果集就会自动更新~
WPS版本:12.1.0.17154-release(WIN X64 WPS64位内测版本)
系统版本:Windows 11
创作者俱乐部成员
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员