KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中加總數值,同時排除小計?

作者Siluvia修改日期

在 Excel 中處理資料集時,通常會針對不同群組或類別計算小計,以利整理與分析數據。然而,加入這些小計後,若直接對所有數值求和,小計也會被納入總計中,導致最終結果因重複計算而偏高。為避免此問題,您需要一種方法,在加總原始資料的同時自動排除小計列。本文將介紹幾種實用技巧,協助您在各種情境下高效取得準確的總計結果。


在 Excel 中使用 SUM 函數加總不含小計的數值

計算群組小計的常見做法,是在每個相關群組內或其下方插入 SUM 函數。然而,當您希望計算整個清單的總計,同時忽略這些群組小計列時,通常需要額外的步驟。以下提供一種可行的方法:

1. 如截圖所示,在每個群組內使用 SUM 函數產生對應的小計:

顯示在 Excel 中使用 SUM 函數計算群組小計的螢幕截圖

2. 接下來,若要取得不含小計列的總計,請在您希望顯示結果的空白儲存格中輸入下列公式:
=SUM(B2:B21)/2

按下 Enter 即可取得正確總計!此公式之所以有效,是因為假設您已在相關群組後方立即插入以 SUM 函數計算的小計,導致原始資料總和實際上被計算兩次;除以 2 即可消除重複的總計。請注意,此方法最適用於資料結構符合「原始數值與小計總和恰好等於原始資料總和兩倍」的情況。

顯示如何在 Excel 中使用公式加總不含小計的數值的螢幕截圖

若您的資料結構較為複雜,或小計列的數量不固定,以下介紹的替代方法將提供更精確且更具彈性的解決方案。


在 Excel 中使用 SUBTOTAL 函數加總不含小計的數值

Excel 的 SUBTOTAL 函數內建支援僅對篩選後的可見列進行計算,這項功能在處理包含小計的清單時格外實用——因為 SUBTOTAL 公式可設定為自動忽略範圍內其他 SUBTOTAL 的結果,有效避免重複計算。

在此情境下使用 SUBTOTAL 函數的步驟如下:

1. 針對每個群組輸入下列 SUBTOTAL 函數:
=SUBTOTAL(9,B2:B10)

此公式對指定區域執行 SUM 運算(函數編號 9),通常作為 Excel 內建「資料 > 小計」功能的一部分使用。

顯示在 Excel 中使用 SUBTOTAL 函數計算群組小計的螢幕截圖

2. 若要取得排除內部小計的總計,請在您選擇的儲存格中輸入下列公式:
=SUBTOTAL(9,B2:B21)

按下 Enter 即可自動加總資料值,並自動忽略範圍內嵌套的 SUBTOTAL 函數!此方法特別適用於使用 SUBTOTAL 函數進行群組彙總的清單,有效避免重複加總小計的風險,讓您的計算更精準、更高效!

顯示如何在 Excel 中使用 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. 點選執行按鈕執行按鈕以執行程式碼。系統將提示您選取包含資料的範圍,巨集會自動加總所選範圍中不含公式的儲存格,輕鬆跳過典型的小計列!

實用技巧請根據您的資料結構調整 VBA 迴圈中的判斷條件。例如,可新增邏輯以特定儲存格格式、特定文字(如相鄰欄位中的「小計」)或其他區分資料列與小計列的特徵來識別小計列。

篩選-結合篩選與 SUBTOTAL 函數,僅加總可見(非小計)列

若您的資料集能透過標籤、關鍵字或特定模式篩選出小計列,即可結合 Excel 內建的篩選功能與 SUBTOTAL 函數,僅加總可見(未被篩選掉)的資料列。此技巧特別適用於小計列具有統一標示或標籤的情況。

1. 在資料集中任意位置點選,接著前往資料索引標籤,並點選篩選以啟用欄位篩選器。
2. 點選輔助欄位的下拉式選單,取消勾選「小計」,即可隱藏小計列,僅顯示原始資料。
3. 在獨立儲存格中輸入下列公式,即可僅加總可見(已篩選)列。

=SUBTOTAL(9,B2:B21)

SUBTOTAL 函數(函數編號 9 代表 SUM)會忽略隱藏列,僅計算目前可見列(即篩選後保留的非小計列)的總和。此解決方案不僅快速,還具備動態更新特性——當您重新套用篩選條件或擴充資料集時,公式將自動反映最新結果。

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 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 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用