跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在Excel中求和值而不包括或排除小计?

Author Siluvia Last modified

在Excel中处理数据集时,通常会通过计算不同组或类别的小计来组织和分析您的数字。然而,在添加这些小计后,您可能希望计算一个不包括这些小计值的总计,以防止最终总和中的重复计数。挑战在于,当直接将所有数字相加时,小计会被包含在总体总和中,导致总和比预期的大。为了避免这种情况,您需要找到一种方法,在求和原始数据时排除小计行。在本文中,我们提出了几种实用的方法来解决这个问题,以便您可以在不同的场景中高效地计算准确的结果。


使用Excel中的Sum函数求和不含小计的值

计算组小计的一种广泛采用的方法是在每个相关组内或下方插入SUM函数。但是,当您希望在忽略这些组小计行的情况下计算整个列表的总计时,通常需要额外的步骤。这里有一个您可以使用的方法:

1. 在每个组内使用SUM函数生成各自的小计,如下图所示:

A screenshot showing the SUM function used to calculate group subtotals in Excel

2. 接下来,为了在不包括那些小计行的情况下找到总计,请在您希望结果出现的空白单元格中输入以下公式:
=SUM(B2:B21)/2

Enter键以获得正确的总计。此公式之所以有效,是因为它假定您已在相关组之后立即使用SUM函数插入了小计,从而有效地使原始数据的总和翻倍。除以2则去除了重复的总计。请注意,当数据集的结构使得原始值和小计的总和正好是原始数据总和的两倍时,这种方法最为适用。

A screenshot showing how to sum values without subtotals using a formula in Excel

如果您的数据结构更复杂,或者小计行的数量有所不同,下面描述的替代方法可能会提供更准确和灵活的解决方案。


使用Excel中的小计函数求和不含小计的值

Excel中的SUBTOTAL函数提供了一种内置方法,可以仅对筛选或可见行执行计算。这在处理包含小计的列表时特别有用,因为SUBTOTAL公式可以配置为忽略范围内的其他SUBTOTAL结果,从而防止任何值的重复计数。

在这种情况下使用SUBTOTAL函数,请按照以下步骤操作:

1. 如下所示,为每个组输入SUBTOTAL函数:
=SUBTOTAL(9,B2:B10)

这将应用SUM操作(函数编号9)到指定范围,并且经常作为Excel内置的“数据”>“小计”功能的一部分使用。

A screenshot showing the SUBTOTAL function used to calculate group subtotals in Excel

2. 对于排除内部小计的总计,在您选择的单元格中输入以下公式:
=SUBTOTAL(9,B2:B21)

Enter键自动求和数据值,忽略范围内的任何嵌套SUBTOTAL函数。此方法适用于使用SUBTOTAL函数进行组汇总的列表,并消除了多次求和小计的风险。

A screenshot showing how to use the SUBTOTAL function to sum values without including subtotals in Excel

请注意,当小计单元格是使用SUBTOTAL而不是SUM生成时,SUBTOTAL函数效果最佳。此外,如果您筛选或隐藏行,SUBTOTAL可以设置为仅求和可见(未隐藏)的数据,这在动态报告情况中非常有帮助。


VBA代码 - 求和排除小计行的值

如果您的数据结构复杂,或者您想要一种自动化的方法仅求和原始数据行(不包括小计),您可以利用一个简单的VBA宏。这种方法允许您以编程方式识别并求和仅符合您标准的行,例如基于特定格式、公式的存在或其他区分属性。

例如,如果您的小计行是用公式(如SUM或SUBTOTAL)计算的,而您的原始数据行仅包含静态值,则可以将VBA代码设置为仅对特定列中不包含公式的单元格求和。具体操作如下:

1. 点击 开发工具 > Visual Basic 打开Microsoft Visual Basic for Applications窗口。
2. 在新窗口中,点击 插入 > 模块 并将以下代码粘贴到模块中:

Sub SumNonSubtotalRows()
    Dim WorkRng As Range
    Dim SumResult As Double
    Dim cell As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select the range to sum (e.g., B2:B21)", xTitleId, WorkRng.Address, Type:=8)
    SumResult = 0
    For Each cell In WorkRng
        If Not cell.HasFormula Then
            SumResult = SumResult + cell.Value
        End If
    Next
    MsgBox "The sum of non-subtotal rows is: " & SumResult, vbInformation, xTitleId
End Sub

3. 点击 Run button 运行 按钮执行代码。将出现提示,要求您选择包含数据的范围。然后宏将仅对选择中不包含公式的单元格求和,有效地跳过典型的小计行。

实用提示根据数据集的结构调整VBA循环中的条件。例如,您可以添加逻辑以根据特定单元格格式、某些文本(例如相邻列中的“小计”)或其他区分数据行与小计的特征来识别小计行。

筛选 - 使用筛选和SUBTOTAL函数仅对可见(非小计)行求和

如果您的数据集允许您筛选出小计行(例如,有标签、关键字或模式来识别它们),您可以使用Excel内置的筛选功能与SUBTOTAL函数一起,仅添加可见(未筛选)的数据行。这种技术适用于小计有一致指示符或标签的情况。

1. 点击数据集中的任意位置,然后转到 数据 选项卡并点击 筛选 以为您的列启用筛选。
2. 单击辅助列中的下拉菜单,取消选中“小计”以隐藏小计行,仅显示原始数据。
3. 在单独的单元格中,输入以下公式以仅对可见(已筛选)的行求和。

=SUBTOTAL(9,B2:B21)

SUBTOTAL函数(带有SUM的函数编号9)将忽略任何隐藏的行,返回仅当前可见行的总和(即,您在筛选后保留的非小计行)。该解决方案快速且动态——如果您重新应用筛选或扩展数据集,公式将相应更新。

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠