Excel 动态范围统计:求和

在连载的上一篇文章中,我们制作了【开始月份】和【终止月份】对应的下拉菜单。本节,小鱼将根据起止月份进行业绩求和(见图注 ①),同时将求和的范围在表格中表示出来(见图注 ②)。

下面,我们就来开始今天的学习!

一、动态范围求和

动态范围求和:用户自主选择起点、终点,求和范围随之变化。

1.1 定义名称【终止月份】

由于求和的范围会根据我们在下拉菜单中选择的【起始月份】和【终止月份】而发生变化,因此使用 SUM 函数进行求和时,关键的步骤也就落到了【动态范围引用】。

获取了动态范围,直接作为参数传入 SUM 求和即可。通过上一篇文章的学习,我们知道只要是动态范围,我们要马上想到 OFFSET + MATCH 函数

在连载的上一篇文章中,我们使用 MATCH 函数计算起始月份在月份标题行中的位置,并将该公式定义成了名称:

为了确定求和的范围,我们自然也需要确定【终止月份】的位置,点击上述窗口中的【新建】或者点击【公式 - 定义名称】,我们来定义【终止月份】的位置计算公式。

输入名称为【终止月份】,在引用位置输入框中,我们直接录入公式 =MATCH( ,点击 P2 单元格录入查找值,填写 , ,继续选择 C2:N2 的区域以录入查找区域,最后录入 ,0)

温馨提示:所有的标点符号均应在英文状态下录入;点击拖拽【新建名称】窗口的右下角,可以进行窗口缩放。

接下来,我们用定义的名称【起始月份】和【终止月份】完成求和区域的动态引用。

1.2 动态引用求和区域

提到动态范围引用,除了 MATCH 函数,还要立刻想到 OFFSET 函数。我们先来回顾一下 OFFSET 函数表达式:

=OFFSET(参考单元格, 行数, 列数, 高度, 宽度)

下面,我们假设选定的月份为 4月~7月 ,则对于产品 a1 计算全年销售额的求和范围就为 F3:I3 的区域,如下图黄色框所示:

参考单元格选定为 C3 ,则定位区域 F3:I3 只需要向右偏移 3 列,即起始月份 - 1:4-1=3 。引用的区域高度为 1 行,宽度为 4 列,其中高度是固定的,宽度为终止月份 - 起始月份 + 1:7-4+=3

温馨提示:上述引用的【起始月份】和【终止月份】均为前面定义的名称,表示起始月份/终止月份在月份标题行中的位置。

下面,我们在 Q3 单元格录入 OFFSET 公式以验证参数是否正确。点击 Q3 单元格,录入如下公式:

=OFFSET(C3,0,起始月份-1,1,终止月份-起始月份+1)

其中,参考单元格为 C3 ,偏倚的行数为 0 ,即上下不需要移动;向右偏移的行数为 起始月份-1 ,引用区域的高度为 1 行,宽度为 终止月份-起始月份+1

使用自动填充功能,完成所有产品的求和范围计算,通过核对,引用区域符合我们的预期:均为各产品 4~7 月份的销售额。

最后,我们只需要将 OFFSET 函数返回的引用区域传递给 SUM 函数求和就可以啦。点击 O3P3 的合并单元格,录入公式:

=SUM(OFFSET(C3,0,起始月份-1,1,终止月份-起始月份+1))

回车之后,使用自动填充计算剩余产品的销售额统计:

至此,我们已经完成了动态范围求和,不过由于左侧数据比较多,我们很难一眼看出来是哪几列数据相加。为了进一步提升报表的可读性,我们将使用条件格式对求和所引用的区域进行颜色标注。

二、条件格式标注求和范围

条件格式:可以根据条件自动变化的智能格式。

2.1 选中条件格式设置区域

点击 C3 单元格,按住 SHIFT 键点击 N22 单元格,即可选中 C3:N22 的区域。

我们将为该区域设置条件格式,点击【开始】选项卡中的【条件格式 - 新建规则】选项。

弹出【新建规则】对话框,我们将在此对话框中,完成条件格式的设置:

  • 使用公式设置规则
  • 设置格式

2.2 使用公式设置规则

首先,选择规则类型:【使用公式确定要设置格式的单元格】。

在设置条件格式中,我们经常用到的两个函数为:COLUMN() ROW() ,前者用来返回公式所在单元格的列号,后者返回行号。若使用参数指定了单元格,则返回该单元格的列(行)号。

此处,我们需要为选定区域中,位于求和范围内的列设置格式,因此需要用到 COLUMN 函数。我们不妨先在四月和七月所在的列录入 =COLUMN() ,观察一下返回值:

如上,四月和七月所在的列位于报表中的第 6 列和第 9 列。接下来,我们在其下方分别录入上文定义的名称 =起始月份=终止月份

我们发现,用于动态范围求和的【起始月份】和【终止月份】加 2 ,就得到了我们需要标注的范围:列号位于【起始月份 + 2】~【终止月份 + 2】的区域。

用公式来表述就是:

COLUMN()>=起始月份+2 且 COLUMN()<=终止月份+2

将上述两个条件放到逻辑函数 AND 中,即可实现并且的逻辑关系:

=AND(COLUMN()>=起始月份+2,COLUMN()<=终止月份+2)

为了验证公式的正确性,小鱼在报表下方的 C26 单元格录入该公式,使用自动填充,填充至 N26 单元格的位置。通过对照发现,公式返回 TRUE 的单元格正好对应的就是求和区域 5~7 月:

这样就可以放心地将公式粘贴到格式规则的公式输入框了:

接下来,点击【格式】按钮,我们来为符合公式的单元格设置格式。

2.3 设置格式

在弹出的【设置单元格格式】对话框中,选择【填充】选项:

点击【其他颜色】,选择一个和我们的主题颜色接近的浅色:

点击【确定】之后,我们求和的动态范围就被标注出来了。

当起始月份发生变化时,不仅动态完成了求和统计,而且求和的范围也会被标注出来,让报表阅读者对求和的过程一目了然。

以上就是 Excel 动态范围求和的全部内容啦~

三、总结

  • 动态范围求和:和动态范围有关的问题,我们应想到使用 OFFSET 函数和 MATCH 函数动态获取数据引用,再使用 SUM 等统计函数完成最终的计算。

  • 条件格式自动标注选定范围:条件格式即根据条件自动进行格式设置,在使用公式设置条件格式时,经常会用到 ROW 和 COLUMN 两个函数。

  • 逻辑函数:表示多个条件之间的逻辑关系有两个函数 AND 和 OR,前者表示逻辑 “且” ,后者表示逻辑 “或” 。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容