Excel SUBTOTAL函数与公式实例

  • Share This
Michael Brown

本教程解释了Excel中SUBTOTAL函数的特殊性,并展示了如何使用小计公式来汇总可见单元格中的数据。

在上一篇文章中,我们讨论了通过使用小计功能在Excel中插入小计的自动方法。 今天,你将学习如何自己编写小计公式,以及这对你有什么好处。

    Excel小计函数--语法和用途

    微软将Excel SUBTOTAL定义为在列表或数据库中返回小计的函数。 在这里,"小计 "不仅仅是将定义的单元格范围内的数字加总。 与其他只为做一件特定事情的Excel函数不同,SUBTOTAL具有惊人的通用性--它可以进行不同的算术和逻辑运算,如计算单元格、计算平均值。找到最小或最大的值,以及更多。

    SUBTOTAL函数在所有版本的Excel 2016、Excel 2013、Excel 2010、Excel 2007和更低版本中都可用。

    Excel SUBTOTAL函数的语法如下。

    SUBTOTAL(function_num, ref1, [ref2], ...)

    在哪里?

    • 职能_num - 一个数字,用于指定小计使用的函数。
    • 参考文献1,参考文献2,... - 一个或多个要进行小计的单元格或范围。 第一个参数是必须的,其他参数(最多254个)是可选的。

    function_num参数可以属于下列集合之一。

    • 1 - 11 忽略被过滤掉的单元格,但包括手动隐藏的行。
    • 101 - 111 忽略所有隐藏的单元格 - 被过滤掉并手动隐藏。
    职能_num 职能 描述
    1 101 平均数 返回数字的平均数。
    2 102 COUNT 计算含有数字值的单元格。
    3 103 COUNTA 计算非空的单元格。
    4 104 规模 返回最大的值。
    5 105 返回最小的值。
    6 106 产品 计算单元格的乘积。
    7 107 STDEV 返回基于数字样本的人口的标准偏差。
    8 108 ǞǞǞ 返回基于整个数字群体的标准偏差。
    9 109 累计 将数字相加。
    10 110 VAR 根据一个数字样本估计人口的方差。
    11 111 VARP 在整个数字群体的基础上估计一个群体的方差。

    事实上,没有必要记住所有的函数号码。 只要你开始在单元格或公式栏中输入小计公式,Microsoft Excel就会为你显示一个可用的函数号码列表。

    例如,你可以这样制作一个Subtotal 9公式,将单元格C2到C8中的数值相加。

    要在公式中添加一个函数数字,请双击它,然后输入一个逗号,指定一个范围,输入结束的括号,然后按回车键。 完成的公式将看起来像这样。

    =小计(9,c2:c8)

    以类似的方式,你可以写一个小计1的公式来获得平均数,小计2来计算有数字的单元格,小计3来计算非空白单元格,等等。 下面的截图显示了其他几个公式的作用。

    注意:当你将小计公式与SUM或AVERAGE等汇总函数一起使用时,它只计算有数字的单元格,而忽略空白和含有非数字的单元格。

    现在你知道了如何在Excel中创建小计公式,主要的问题是--为什么要费力地学习它呢? 为什么不简单地使用一个普通的函数,如SUM、COUNT、MAX等? 你将在下面找到答案。

    在Excel中使用SUBTOTAL的三大理由

    与传统的Excel函数相比,SUBTOTAL给你带来了以下重要优势。

    1.计算过滤后的行的数值

    由于Excel SUBTOTAL函数忽略了被过滤掉的行中的值,你可以用它来创建一个动态的数据汇总,其中小计值会根据过滤器自动重新计算。

    例如,如果我们过滤表格,只显示东部地区的销售额,小计公式将自动调整,使所有其他地区从总数中删除。

    注意:由于两个函数的数字集(1-11和101-111)都忽略了被过滤掉的单元格,在这种情况下你可以使用小计9或小计109公式。

    2.只计算可见的单元格

    正如你所记得的,带有函数号101至111的小计公式忽略了所有隐藏的单元格--被过滤掉的和手动隐藏的。 因此,当你使用Excel的隐藏功能从视图中移除不相关的数据时,使用函数号101-111将隐藏行中的数值从小计中排除。

    下面的例子将帮助你更多地了解它是如何工作的:小计9与小计109。

    3.忽略嵌套小计公式中的数值

    如果提供给你的Excel小计公式的范围包含任何其他小计公式,这些嵌套的小计将被忽略,所以相同的数字不会被计算两次。 很棒,不是吗?

    在下面的屏幕截图中,大平均数公式 小计(1, c2:c10) 忽略了C3和C10单元格中的小计公式的结果,就像你使用了一个有两个独立范围的平均公式一样。 平均值(c2:c5, c7:c9) .

    在Excel中使用小计--公式示例

    当你第一次接触到SUBTOTAL时,它可能看起来很复杂,很棘手,甚至毫无意义。 但一旦你踏实下来,你会发现它并不难掌握。 下面的例子将向你展示一些有用的技巧和启发的想法。

    例1.小计9对小计109

    正如你已经知道的,Excel SUBTOTAL接受两组函数数字:1-11和101-111,这两组数字都忽略了被过滤掉的行,但数字1-11包括手动隐藏的行,而101-111则不包括这些行。 为了更好地理解区别,让我们考虑以下例子。

    共计 已过滤的行数 你可以使用小计9或小计109公式,如下图所示。

    但如果有 隐藏的 不相关的项目通过使用 隐藏行数 命令在 首页 标签> 细胞 组>。 格式 > 隐藏 & 取消隐藏 ,或通过右键单击行,然后单击 隐藏 , 现在你想只对可见行的值进行总计,Subtotal 109是唯一的选择。

    其他函数数字的工作方式也是如此。 例如,要计算 非空白过滤的细胞 小计3或小计103公式都可以。 但只有 小计 103 如果有任何可见的非空白,可以适当地计算可见的非空白。 隐藏的 范围内的行数。

    注意:Excel SUBTOTAL函数的函数号为101-111,它忽略了隐藏行中的值,但不忽略隐藏行中的值。 隐藏列 例如,如果你使用一个公式,如 小计(109, a1:e1) 在一个水平范围内对数字进行求和,隐藏一列不会影响小计。

    例2.IF+SUBTOTAL来动态汇总数据

    如果你正在创建一个摘要报告或仪表盘,你必须显示各种数据摘要,但你没有空间容纳所有的数据,以下方法可能是一个解决方案。

    • 在一个单元格中,做一个包含函数名称的下拉列表,如总计、最大、最小等等。
    • 在下拉菜单旁边的单元格中,输入一个嵌套的IF公式,其中嵌入的Subtotal函数与下拉列表中的函数名称相对应。

    例如,假设要进行小计的值在单元格C2:C16中,而A17中的下拉列表中含有 共计 , 平均值 , 最大 ,以及 闵行区 项目,"动态 "小计公式如下。

    =IF(A17="总计", SUBTOTAL(9,C2:C16), IF(A17="平均", SUBTOTAL(1,C2:C16), IF(A17="最小", SUBTOTAL(5,C2:C16), IF(A17="最大", SUBTOTAL(4,C2:C16),""))))

    而现在,根据你的用户从下拉列表中选择的函数,相应的小计函数将在过滤的行中计算出数值。

    提示:如果突然间下拉列表和公式单元格从你的工作表中消失了,一定要在过滤器列表中选择它们。

    Excel小计不工作--常见错误

    如果你的小计公式返回错误,很可能是由于以下原因之一。

    #VALUE! - function_num参数不是1-11或101-111之间的整数;或者任何一个ref参数包含一个3-D引用。

    #DIV/0! - 如果指定的汇总函数必须执行除以0的操作(例如,为不包含单一数值的单元格范围计算平均数或标准差),就会发生这种情况。

    #NAME? - Subtotal函数的名称拼错了--这是一个比较容易解决的错误:)

    提示:如果你对SUBTOTAL功能还不太适应,你可以使用内置的SUBTOTAL功能,让它自动为你插入公式。

    这就是如何使用Excel中的SUBTOTAL公式来计算可见单元格中的数据。 为了使例子更容易理解,欢迎你下载我们下面的工作簿样本。 谢谢你的阅读!

    实践工作手册

    Excel SUBTOTAL公式示例(.xlsx文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.