WPS数组,第2章,操作类函数

拉小登Dony
拉小登Dony

创作者俱乐部成员

以下是拉小登的阅读笔记,帮忙快速了解图书中的内容。

更多详细的讲解,请大家购买@飞鱼老师的《WPS高级数组函数大全》一起学习。

https://bbs.wps.cn/topic/49515

这一章讲了哪些函数?

这一章讲解了7个函数,用来对数据进行删除、排序、排版布局等操作,大致可以归为下面几个类别。

删除重复值

用UNIQUE函数,可以删除重复的数据,保留唯一值。

排序筛选

使用SORT、SORTBY函数,实现数据的排序。

使用FILTER函数,可以对数据进行筛选,返回符合条件的多个筛选记录。

填充序号

使用SEQUENCE函数,可以填充指定个数的序号。

使用RANDARRAY函数,可以填充多个随机的数字。

自定义变量

使用LET函数,可以申明变量保存长公式,简化公式复杂度。

如何用函数,删除重复值?

UNIQUE函数

UNIQUE 函数和 Excel 的删除重复值功能类似,我们能够针对某列数据删除重复值,仅保留唯一值。

只出现过一次的数据

这个函数还有一个实用的反向操作,即只保留出现过一次的数据。

中国式排名计算

另外,还有一个很实用的用法【中国式排名】。

比如下面表格中,要计算金额的排名,因为有两个96,所以并列第1名。

但是传统的RANK函数,在计算第2名的时候,会按照名次个数计数,就变成了第3名。

使用 UNIQUE 函数去重后,在统计名次,就变的更加精准了。

如何用函数,进行数据筛选?

没错就是Excel工具栏中的筛选功能。

或者我们更常见的需求是,VLOOKUP如何返回多个值?

传统方法,INDEX+SMALL+IF

使用传统的函数,也能实现数据筛选需求,但是需简要使用 SMALL+INDEX+IF 函数嵌套实现,非常复杂。

FILTER函数

而在新版的数组函数里,用一个 FILTER 函数就能实现。

其用法十分简单,在第一个参数里选择筛选区域,第二个参数输入筛选条件即可。

如何清除FILTER筛选?

其实 FILTER 函数我之前就学习过,也会使用,因为它确实简单好用。

这一章节里有个案例让我印象深刻,通过在参数里进行设置,就能实现全部筛选。有了这个函数,我们可以在不影响标签数据的情况下实现数据的动态筛选,非常便捷。

具体公式,请参考图书中的案例。

如何用函数,进行数据排序?

完全可以替代工具栏的排序按钮的函数。

在数组函数中,有两个函数可用于数据排序,即 Sort 函数和 SortBy 函数。

SORT函数

Sort 函数使用起来十分简便,只需选定要排序的区域,默认即为对数据进行降序排序。

- 我们还能在第二个参数中设置依据哪一列排序;

- 在第三个参数里设定排序是升序还是降序;

- 在第四个参数中确定排序是按行还是按列进行。

它竟然还能进行按行排序!

SORT函数多列排序

其中有个案例令人印象深刻,通过在第二和第三个参数中输入对应的数组值,就能实现多列设置不同的排序条件。

同时对数据进行行排序,实在是太便捷了!有了这个排序函数,制作数据看板时就能实现数据的动态名次排行榜。

SORTBY函数

Sort By 函数与 Sort 函数类似,不同之处在于,它可以使用排序区域以外的列作为排序依据。

- 第一个参数是排序区域

- 第二个参数是排序依据。

其他用法与 Sort 函数相似。

SORTBY自定义排序

案例中有一个特别令人难忘,即可以对数据进行自定义次序的排序。

在 Excel 里添加自定义序列来实现特定效果,操作起来颇为麻烦。然而,使用 Sort 函数结合 Match 函数,就能轻松完成自定义排序。

不仅如此,还有倒序排序、随机排序等多种方式,这让我深切领略到函数的强大魅力。

如何用函数填充编号?

填充编号本是个简单操作,输入数字后双击填充即可。

Sequence函数

不过,我们还能用 Sequence 函数实现序号填充。

与普通填充不同的是,Sequence 函数不仅能进行列序号填充,还能实现行序号填充。比如,要生成下面这样的矩阵,用 Sequence 函数,一个公式就能轻松搞定。

SEQUENCE函数行列排版

结合这个序号,重新排版数据样式布局也不在话下,像把姓名排成三行三列,用 Index 函数和 Sequence 函数就能轻松完成。

如何用函数,定义变量简化公式?

这一章还介绍了一个极为强大的LET函数,它能定义变量,简化一些复杂公式。

LET函数

LET函数案例1

比如,下面的公式中定义了几个变量,并进行了赋值。

- 变量1:长=B5

- 变量2:宽=C5

接下来计算的时候,直接用“长*宽”,就可以计算出面积,公式的可读性大大提升了。

LET函数案例2

在下面这个案例中,要根据品牌、名称、型号,计算对应的利润。思路如下:

- 利润= 售价-成本-物流

使用传统的公式,要使用SUMIFS,来计算对应的售价、成本、物流,然后再使用上面的公式,计算利润,这个过程,要反复的使用SUMIFS函数计算数据。效率非常低。

```

=SUMIFS(G33:G45,B33:B45,I33,C33:C45,J33,D33:D45,K33)-SUMIFS(F33:F45,B33:B45,I33,C33:C45,J33,D33:D45,K33)-SUMIFS(E33:E45,B33:B45,I33,C33:C45,J33,D33:D45,K33)

```

使用LET函数后,可以把计算的过程,用LAMBDA函数实现,然后将LAMBDA函数保存到变量FX中,后续只用FX选择计算的成本、物料、售价就行了,大大简化了公式,提升了公式可读性。

修改后的公式如下:

```

=LET(售价,G33:G45,物流,F33:F45,成本,E33:E45,fx,LAMBDA(x,SUMIFS(x,B33:B45,I33,C33:C45,J33,D33:D45,K33)),fx(售价)-fx(物流)-fx(成本))

```

更多详细的解释,请参考图书中的教程。

为什么要学习操作类函数?

动态计算,效率倍增

不需要反复点击菜单栏。写好一个公式之后,计算条件如果发生变化,能够动态更新计算结果,非常方便。

增加公式的可读性

这些操作类的计算用传统公式也可以实现,但思路非常复杂、繁琐,一般人很难读懂,也很难学会。

使用操作类的函数后,把复杂的操作用一个函数就实现了。而且,函数名称就是对应功能,让公式变得简单且可读性更高。

提升公式的复用率

主要是指最后一个let函数,可以将一些公式的计算定义为变量,给后面的公式反复调用。这样不会把大串大串的公式嵌套在函数里面反复粘贴,增加工程的复杂度,降低公式的可读性。

有了变量这个概念后,很长的公式也可以用一个字母或两个字母来代替,后面调用起来更简单且可读性更高。

山东省
浏览 98
1
9
分享
9 +1
4
1 +1
全部评论 4
 
1231393578237
学习
· 四川省
回复
 
苏秦
使用 UNIQUE 函数去重后,在统计名次,就变的更加精准了。 这个函数怎么写呢,rank(a1,UNIQUE(a1:a10))?
· 浙江省
回复
 
王禹成
王禹成

创作者俱乐部成员

学习
· 浙江省
回复
 
亂雲飛渡
学习
· 广东省
回复