分享

large函数的基本用法:取第k个最大值

 刘卓学EXCEL 2021-04-02

小伙伴们好。昨天分享了small函数的用法,取第k个最小值。今天来分享下large函数的用法,取第k个最大值。这2个函数的用法基本都差不多,一个是从小到大取,一个是从大到小取。只要small学会了,large也就差不多了。

-01-

函数说明

large函数返回数组中第k个最大值。语法结构如下,有2个参数。

LARGE(array,k)

array  必需。  要从中返回第k个最大值的数组或区域引用。

k 必需。        第几个最大值。必须大于0,且小于等于数组中的数字个数。

注意事项:

1.如果array为空, 则返回#NUM!错误值。

2.如果k≤0或k大于数据点的数量, 则返回#NUM!错误值。

3.如果区域中数据点的个数为n,那么函数LARGE(array,1)返回最大值,函数LARGE(array,n)返回最小值。large既能取最大值,也能取最小值。

-02-

示例解释

如下图所示,在D2单元格输入公式=LARGE(A2:A7,1),返回的结果为9。意思是返回A2:A7这个区域中的第1个最大值,此时相当于max。

在D2单元格输入公式=LARGE(A2:A7,6),返回的结果为1。意思是返回A2:A7中第6个最大值。而A2:A7中数字的个数也是6,其实就取得了最小值,相当于min。这个也好理解,比如有3个大小不等的苹果。第3大的其实就是最小的。

输入如下的公式,返回的结果为错误值。因为A2:A7中数字的个数一共是6个,而large要返回第8个最大值,根本就没有第8个好吗,不要为难excel,所以返回错误值。

large函数也可以像small一样忽略文本,逻辑值和空单元格,但不能忽略错误值。大家自己测试一下吧,就不再截图说明了。

-03-

具体应用

1.求小于60分的最大值

还是昨天的问题,求在小于60分的分数中,最大的是多少分。昨天用了small函数来完成,今天用large函数来完成下,输入公式=LARGE(B11:B20,COUNTIF(B11:B20,">=60")+1),完成。

large的第1参数B11:B20是分数的区域,没什么好说的。关键是第2参数COUNTIF(B11:B20,">=60")+1,用countif统计出分数区域中大于等于60分的有多少个,然后再加1。这里大于等于60分的有3个,就是上图白色的92,85和76。加1就是4,用large取第4个最大值就是小于60的最大值。

大家好好理解一下,不理解的话,可以添加一个辅助列,对源数据降序排序,如下图C列所示。上面棕色的是大于等于60的,下面红框是小于60的。大于等于60的有3个,取第4个最大值45是不是就是小于60的最大值呢?

2.求大于60分的最小值

上个问题求最大值,这次来求下最小值。在大于60分的分数中,最小的是多少。输入公式=LARGE(B24:B33,COUNTIF(B24:B33,">60")),完成。large的第2参数COUNTIF(B24:B33,">60")是统计大于60分的有多少个,这里有3个,就是绿色标记的92,85和76。然后用large取第3个最大值就是大于60分的最小值。和昨天的small用法差不多。主要是利用注意事项中的第3点。

3.求销售部员工的最小年龄

昨天是求销售部员工的最大年龄,今天来求下最小年龄。如果昨天的你学会了,那么今天的这个问题也是没有难度的。输入公式=LARGE(IF(B37:B46="销售部",C37:C46),COUNTIF(B37:B46,"销售部")),按三键完成。

large的第1参数IF(B37:B46="销售部",C37:C46)是个if函数,用来判断B列的部门是否等于销售部,如果等于,也就是条件成立,返回C列对应的年龄;否则,返回false。结果如下图D列所示。第2参数COUNTIF(B37:B46,"销售部")用countif统计B列的部门中销售部的个数,这里有4个。然后用large返回第1参数中的第4个最大值20就是销售部员工的最小年龄。简单理解就是销售部有4个员工,第4大的其实就是最小的。

最后,祝小伙伴们和家人安好。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多