大家好,欢迎再次关注我们关于 Excel 函数的系列分享!
回想起学生时代,每逢考试结束后,学校都需要统计出每场考试的顶尖分数和最低分数。
在 90 年代,计算机和办公软件尚未普及,统计工作只能依靠人工完成。
如今,随着科技的发展,我们不再需要手动统计,借助合适的软件工具,可以轻松实现数据的自动化统计。
今天,我们将重点探讨如何利用 Excel 中的函数快速找出某一组数据中的最高分和最低分。
请看下图,这是一所学校某次考试的成绩单(数据已进行简化处理):
现在,我们的目标是找出本次考试成绩中,最高分和最低分分别是多少?
为此,我们将介绍三种不同的求解方法,下面请跟随我们的步骤。
MAX 函数的主要功能是计算最大值。
如下图所示:
在【K2】单元格中输入以下公式:
=MAX(I2:I7)
这个公式的含义是:
计算【I2:I7】这个单元格区域内的最大数值。
该函数的参数设置非常简单,只需直接引用单元格区域即可。
MIN 函数则表示计算最小值。
如下图所示:
在【K2】单元格中输入以下公式:
=MIN(I2:I7)
这个公式的含义是:
计算【I2:I7】引用的单元格区域内的最小数值。
通过对比可以看出:MAX 函数和 MIN 函数在使用方法上完全一致,均可直接获取单元格区域内的最大值或最小值。
如果我们需要计算单元格区域内的第几个最大值,可以使用 LARGE 函数。
如下图所示:
在【K3】单元格中输入以下公式:
=LARGE(I2:I7,1)
这个公式的含义是:
计算【I2:I7】单元格区域内的第一个最大值。
该函数包含两个参数:
=LARGE(单元格区域,第几个最大值)
其含义为:计算单元格区域内的第几个最大值,例如输入数字 1 表示求第一大值,输入数字 2 表示求第二大值,以此类推。
如果我们需要计算单元格区域内的第几个最小值,可以使用 SMALL 函数。
如下图所示:
在【L3】单元格中输入以下公式:
=SMALL(I2:I7,1)
这个公式的含义是:
计算【I2:I7】单元格区域内的第一个最小值。
=SMALL(单元格区域,第几个最小值)
从这两个函数的参数和用法可以看出,它们比 MAX 和 MIN 函数更加灵活,能够计算区域中第几个最大值或第几个最小值。
SUBTOTAL 函数是一个功能丰富的函数,可用于求和、求平均值、求最大值、求最小值等多种统计汇总操作,共包含 11 种不同的统计功能。
首先,我们来看看 SUBTOTAL 函数如何计算最大值。
在【K4】单元格中输入以下公式:
=SUBTOTAL(4,I2:I7)
这个公式的含义是:
计算【I2:I7】单元格区域内的最大值。
这里的第一个参数是数字 4,代表最大值的计算。
当然,也可以在这里输入数字 104,结果将是相同的。
它们之间的区别在于:如果区域中存在手动隐藏的某些行,那么计算结果可能会有所不同。
下面是该函数的第一个参数的取值范围,供大家参考。
如果我们需要计算最小值,只需将第一个参数改为 5 或 105 即可。
=SUBTOTAL(5,I2:I7)
OR:
=SUBTOTAL(105,I2:I7)
AGGREGATE 函数同样是一个功能强大的多功能函数。
它是在 Excel2010 或更高版本中新增的,共包含 19 种统计汇总功能。
接下来,我们将一起学习 AGGREGATE 函数的使用方法:
在【K5】单元格中输入以下公式:
=AGGREGATE(4,0,I2:I7)
这个公式的含义同样是计算区域内的最大值。
如果需要计算最小值,只需将第一参数的数字 4 改为 5 即可。
如下图所示:
这个函数的功能非常强大,例如,它可以在存在隐藏行或单元格中有错误值的情况下,计算最大值或最小值。
以下是它的第一个参数和第二个参数的具体取值,供大家参考。
知识拓展:
实际上,在日常工作中,我们可能需要进行的不仅仅是简单计算最大值和最小值,很多时候,我们还需要在满足特定条件的情况下计算最大值和最小值。
例如,还是以我们之前的例子为例,如果我们想计算一班中总分最高和最低分别是多少:
在【L2】单元格中输入以下公式:
=MAX(IF(C2:C7=K2,I2:I7))
这个公式的含义是:
首先使用 IF 函数判断【C2:C7】这个单元格区域是否等于【K2】单元格中的班级名称,如果相等则返回【I2:I7】区域中对应的值,如果不相等则返回 FALSE。
=MAX({369;379;400;FALSE;FALSE;FALSE})
最后使用 MAX 函数计算这个结果数组中的最大值。
在此处,MAX 函数会忽略 FALSE,因此最大值就是 400。
需要特别提醒大家的是:这是一个数组公式,需要通过按 Ctrl+Shift+Enter 三键结束输入。
MIN 函数也有同样的用法。
当然,还可以使用 LARGE、SMALL、AGGREGATE 等函数,按照条件计算最大值和最小值。
这些方法留给大家自行探索。
今天,我们一共学习了六个可以计算最大值或最小值的函数。但是每个函数的应用场景各有不同。
例如:在无条件的场景下,求取最大值和最小值,以上六个函数均可适用。如果是在条件下的场景中,求最大值和最小值,只有:
MAX\MIN\LARGE\SMALL\AGGREGATE 这五个函数可以。
如果存在隐藏行的场景下,SUBTOTAL 和 AGGREGATE 这两个函数可以。
如果单元格区域中存在错误值的场景下,只有 AGGREGATE 函数可以直接忽略错误值并计算出结果。
而 MAX\MIN\LARGE\SMALL 函数则需要结合 IFERROR 等容错函数来使用。
