如何在Excel中求和或排除小計值?
在Excel中處理數據集時,通常會通過計算不同組或類別的小計來組織和分析您的數字。然而,在添加這些小計後,您可能希望計算一個不包含這些小計值的總計,以防止最終總和中的重複計算。問題在於,當直接將所有數字相加時,小計值也被包括在內,導致總和比預期的要大。為避免這種情況,您需要找到一種方法,在排除小計行的情況下對原始數據進行求和。在本文中,我們提出了幾種實用的方法來解決這個問題,讓您可以在不同場景中高效地計算出準確的結果。

在Excel中使用SUM函數求和不含小計的值
計算組小計的一個廣泛採用的方法是在每個相關組內或下方插入SUM函數。但是,當您希望在忽略這些組小計行的情況下計算整個列表的總計時,通常需要額外的步驟。以下是一種您可以使用的實現方法:
1. 在每個組內使用SUM函數生成相應的小計,如下圖所示:
2. 接下來,要在不包括那些小計行的情況下找出總計,請在您希望結果顯示的空白單元格中輸入以下公式:
=SUM(B2:B21)/2
按下Enter鍵以獲得正確的總計。此公式之所以有效是因為它假設您已經在相關組後立即插入了使用SUM函數的小計,這有效地使原始數據的總和加倍。除以2則去除了重複的總計。請注意,此方法最適合於數據集結構使得原始值和小計的總和正好是原始數據總和兩倍的情況。
如果您的數據結構更為複雜,或者小計行的數量各不相同,下面描述的其他方法可能會提供更準確且靈活的解決方案。
在Excel中使用SUBTOTAL函數求和不含小計的值
Excel中的SUBTOTAL函數提供了一種內建的方法,僅對篩選或可見行進行計算。這在處理包含小計的列表時特別有用,因為SUBTOTAL公式可以配置為忽略範圍內的其他SUBTOTAL結果,從而防止任何值的重複計算。
要在這種情況下使用SUBTOTAL函數,請按照以下步驟操作:
1. 對每個組輸入SUBTOTAL函數如下:
=SUBTOTAL(9,B2:B10)
這將SUM操作(函數編號9)應用於指定的範圍,並且通常是Excel內置「數據」>「小計」功能的一部分。
2. 要得到排除內部小計的總計,在您選擇的單元格中輸入以下公式:
=SUBTOTAL(9,B2:B21)
按下Enter鍵即可自動對數據值求和,忽略範圍內的任何嵌套SUBTOTAL函數。這種方法適用於使用SUBTOTAL函數進行組匯總的列表,並消除了多次求和小計的風險。
請注意,當小計單元格是使用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. 點擊 運行 按鈕執行代碼。隨後將出現提示,要求您選擇包含數據的範圍。宏將僅對選擇中不包含公式的單元格求和,有效地跳過典型的小計行。
篩選 - 使用篩選與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 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 |
運用 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及 PowerPoint 外掛 + Office Tab Pro
- 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
- 協同運作更順暢 — Office 應用間無縫提升生產力
- 30 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用