分享

按照某个条件确定统计区域进行汇总的公式,学会这一个例子就够用!

 Excel学习园地 2020-09-16
Excel基础学习园地
公众号“Excel基础学习园地”是一个免费发布Excel基础知识、函数应用、操作技巧、学习方法等资讯的公众号,请点击上方“Excel基础学习园地”添加关注,方便我们每天向您推送精彩资讯。

今天与大家分享一个群友的问题,有一列数据,需要求出最小值及其上下所在位置(共三个数)的平均值,如图:

最小值为2,那么就要计算绿色三个数据的平均值,这就一个按条件确定区域并进行统计的实例。

在日常遇到的问题中,可能与本例完全一样的很少见,但是同一类型的可能会经常遇到,今天通过对这个例子进行分析,希望带给大家一种解决问题的思路,闲话打住,开始分析这个案例。

思路分析

本例的最终目的是要计算平均值,所以一定需要AVERAGE函数(如果是求和的话换成SUM函数即可),我们知道,AVERAGE函数是计算给定区域数值的平均值,如何确定统计区域(绿色的三个单元格)就变成了关键问题,并且这个区域是需要使用函数来确定(作为AVERAGE的参数)。

能够得到一个引用区域的函数无非是offset,indirect和index(最后这个很少人知道哦),具体使用哪个就看个人喜好了,本例选择offset函数。关于这个函数的基本用法可以参考本文:揭开Offset函数神秘的面纱

简单来说,使用offset函数得到一个区域,需要提供五个信息(五个参数),设定一个相对固定的基点、区域起始位置相对于基点的行列偏移量(这是两个信息)、区域的大小(高度和宽度)。

就本例而言,五个信息的确定可以这样分析:

1、基点我们选择A1单元格(如果你的数据并不是从第一行开始的话,可以根据实际情况进行调整);

2、区域的大小可以确定为3(高度)和1(宽度),区域起始位置A13(注意这个起始位置是随着最小值位置进行变化的);

3、区域相对于基点的列偏移可以确定为0,因为在同一列,行偏移是最小值所在的单元格(A14)向上一行。

如果这段分析能看明白,后面的就容易多了,如果看不明白的话,建议先巩固一下基础方面的能力。

通过以上分析,可以发现区域的确定与最小值在这一列的位置密切相关,因此考虑用match函数,关于这个函数的用法可以参考:【函数学堂】MATCH函数面面观(上)【函数学堂】MATCH函数面面观(下)

同时还需要最小值函数min,大体思路就有了。

公式构造

对于新手来说,理清楚思路是第一步,确定使用哪些函数,接下来就需要一步一步通过函数嵌套来得到最终的结果。

在初期往往做不到直接写出很多函数嵌套的公式,这时候借助辅助列来实现分步写公式就非常有必要了(辅助列一直是老菜鸟的最爱)。

第一步:使用min函数找到最小值=MIN(A2:A24)

这一步非常基础,应该都没问题。

第二步:使用match确定最小值的位置=MATCH(C2,A2:A24,0)

为了方便理解,b列加了一列备注位置,也不算很难理解,最小值在这一列(A2:A24)的第13个位置。我感觉这一步应该也没问题。

第三步:使用offset函数确定区域(重点和难点来了)=OFFSET(A1,D2-1,0,3,1)

公式是错误值,难道有问题了?

其实没问题,我们可以利用f9(在编辑栏选择公式按f9键)将公式结果显示出来:

正好就是需要统计的三个数字,之所以显示为错误值是因为公式结果是一个一列三行的区域(高度3宽度1),无法在一个单元格进行显示造成的。

不理解公式的话,再回头去看看前一段的思路分析吧。

如果第三步也没问题的话,就简单了。最后一步只需要求平均值即可。

=AVERAGE(OFFSET(A1,D2-1,0,3,1)),直接使用offset这部分作为average的参数。

至此,我们通过四步得到最终的结果。

完成公式合并

公式的合并其实就很简单了,=AVERAGE(OFFSET(A1,D2-1,0,3,1))在这个公式里,D2是match函数,只需要将D2中=后面的内容复制,粘贴在这个公式里即可:=AVERAGE(OFFSET(A1,MATCH(C2,A2:A24,0)-1,0,3,1)),说简单点,就是用MATCH(C2,A2:A24,0)替换=AVERAGE(OFFSET(A1,D2-1,0,3,1))中的D2。

完成后再用min函数替换公式里的“C2”:=AVERAGE(OFFSET(A1,MATCH(MIN(A2:A24),A2:A24,0)-1,0,3,1))

这样就完成了函数的嵌套,为了美观,可以在最外层再来个round,=ROUND(AVERAGE(OFFSET(A1,MATCH(MIN(A2:A24),A2:A24,0)-1,0,3,1)),2)

结语

今天这个例子老菜鸟讲的比较罗嗦,并且也不一定是最简单的公式,只求能够起到抛砖引玉的作用,让初学者可以借鉴一二,了解分析问题的思路以及辅助列在函数嵌套方面的作用。

同时这个公式只能适用于正常情况,也就是数据区域没有空白单元格,并且最小值不会出现在第一个和最后一个位置上,如果是特殊情况,就需要另寻思路

在日常运用中,本例可以借鉴的地方很多,使用min确定核心条件有可能会变成max确定条件,求平均值有可能会变成求和,上下位置有可能会变成下方的几个位置等等。总之一句话,理解原理以后活学活用,将知识变为技能才是最终目的。

感谢长期关注本平台的各位老师、朋友的支持,老菜鸟有两件事需要大家帮忙:1、转发本文让更多人看到;2、推送的第二篇文章点开看看就行,不需要转发点赞

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章