Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在Excel中按組計算數據?

Author Sun Last modified

在Excel中,計算簡單範圍內值的總數對於大多數用戶來說是一個常見且直接的任務。然而,在許多現實場景中——例如銷售報告、庫存清單或員工數據——信息通常被組織成組,如產品類別、部門或地區。在這些情況下,您可能不僅需要計算總體總數,還需要確定每個組內的出現次數。這一需求在為報告匯總和分析分組數據或做出數據驅動決策時尤為常見。雖然Excel中沒有單一的直接按鈕或內建函數明確標示為「按組計數」,但有幾種可靠且高效的解決方法可以實現這一目標。

以下是您可以使用的實用方法,用於在Excel中對每個組中的數據進行計數,滿足不同用戶需求和水平——從內建功能到多功能的基於公式和自動化的VBA解決方案。每種方法都有其自身的優勢,使您可以輕鬆選擇最適合您的工作表場景的方法。

使用樞紐分析表按組計數數據
使用VBA代碼按組計數數據
使用Excel公式(COUNTIF/COUNTIFS)按組計數數據


使用樞紐分析表按組計數數據

樞紐分析表非常適合快速按不同類別匯總大型數據集,包括計算每個組中的項目數量。例如,如果您有一長串銷售交易記錄並想知道每個產品售出的次數,樞紐分析表是最快捷的實用工具之一。

假設您有一個如下示例所示的數據集,想要按組計算出現次數(例如計算每個項目或類別出現的次數):

a screenshot of the original data

1. 選擇包含要計數的組和數據的整個數據範圍。點擊 插入 > 樞紐分析表 > 樞紐分析表 在Excel的功能區中。參見截圖:

a screenshot of creating a Pivit Table

2. 在 創建樞紐分析表 對話框中,選擇將樞紐分析表放置在新工作表還是現有的工作表中。如果選擇 現有工作表,請務必選擇一個不會干擾現有數據的空白單元格。參見截圖:

a screenshot of choose where to place the Pivot table

3. 點擊 確定。在Excel窗口的右側,會出現樞紐分析表字段列表窗格。將組列標題(例如“項目”或“類別”)拖到行標籤部分。默認情況下,值區域將使用“計數”函數,顯示每個條目出現的次數。參見截圖:

a screenshot of adding fields in Pivot table

您將立即看到一份報告,其中Excel已將您的數據分組並顯示了每個組的計數。這對於可視化各類別中的項目、產品或記錄的分佈特別有幫助。如果您更新原始數據集,記住刷新樞紐分析表以反映任何更改。

a screenshot of the result

提示和注意事項:如果您的數據源範圍包含空白行或列,在創建樞紐分析表時請確保排除它們,因為這可能會影響分組的準確性。樞紐分析表提供了一種直觀的數據匯總方式,但如果需要在公式中或跨工作表重用結果,或者想要更靈活的報告,請考慮以下的公式或VBA解決方案。


使用VBA代碼按組計數數據

如果您的工作簿需要頻繁地按不同組計數和報告數據,或者您需要自動化此過程以處理大型數據集或重複任務,您可以利用VBA腳本。VBA(Visual Basic for Applications)允許自定義和自動化Excel過程,使您能夠創建報告、匯總信息或輸出組計數,而只需最少的手動干預。

警告:在運行任何新的VBA代碼之前,請始終保存您的工作。VBA提供了強大的自動化功能,但如果配置不當,可能會覆蓋數據。

1. 轉到開發者選項卡 > Visual Basic 打開VBA編輯器。在出現的窗口中,點擊 插入 > 模塊,並將以下代碼粘貼到模塊窗口中:

Sub GroupCount()
    Dim dict As Object
    Dim lastRow As Long
    Dim groupCol As Range
    Dim groupCell As Range
    Dim outputRow As Long
    Dim key As Variant
    
    Set dict = CreateObject("Scripting.Dictionary")
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    ' Change Sheet1 and column as needed
    With Worksheets("Sheet1")
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        Set groupCol = .Range("A2:A" & lastRow)
        
        For Each groupCell In groupCol
            If Not dict.Exists(groupCell.Value) Then
                dict(groupCell.Value) = 1
            Else
                dict(groupCell.Value) = dict(groupCell.Value) + 1
            End If
        Next groupCell
        
        outputRow = 2
        .Cells(1, "C").Value = "Group"
        .Cells(1, "D").Value = "Count"
        
        For Each key In dict.Keys
            .Cells(outputRow, "C").Value = key
            .Cells(outputRow, "D").Value = dict(key)
            outputRow = outputRow + 1
        Next key
    End With
End Sub

2. 要執行代碼,按 F5 或在VBA編輯器中點擊 Run button “運行”按鈕。該腳本將掃描“Sheet1”上A列(從A2開始)中的組數據,統計每個組的計數,並從第2行開始在C列和D列輸出彙總結果。

注意:您可以根據具體工作簿的需求修改“Sheet1”、列引用和輸出位置。如果您的數據包含空單元格或特殊情況,請檢查結果以確保準確性。如果重複的組名有不同的拼寫(例如,“Apple”與“apple”),結果將把這些視為不同的組。對於定制分組(不區分大小寫、排序輸出或更復雜的分組),可能需要進一步添加VBA代碼。

VBA最適合用於自動化、重複性任務——特別是在處理大規模或頻繁更新的數據集時,手工匯總是耗時的。如果遇到“對象變量未設置”或“下標超出範圍”等錯誤,請確認您的工作表和範圍引用與實際數據結構匹配。


使用Excel公式(COUNTIF/COUNTIFS)按組計數數據

對於那些喜歡直接在工作表網格上操作或需要動態、基於公式的解決方案以便進一步計算和引用的用戶,Excel的COUNTIF和COUNTIFS函數提供了一個有效的解決方案。當您希望隨著基礎數據的變化自動更新組計數,或需要緊挨著數據的結果以供參考或進一步分析時,這些公式特別有用。

示例場景:假設您的數據位於A列(組名稱)和B列(值)中,並且您希望計算每個組出現的次數。

1. 在新列中,靠近您的數據旁邊(例如,單元格C2),輸入以下公式來計算每個組的計數:

=COUNTIF($A$2:$A$100, A2)

2. 輸入公式後,按下 Enter。要將此公式應用於所有行,拖動填充柄從單元格C2向下填充直至您的數據旁邊的單元格,或雙擊填充柄以自動填充。該公式將返回該行組的出現次數。

3. 如果您想獲得所有組及其相應計數的唯一列表,首先提取獨特的組名稱(例如,使用刪除重複項功能或UNIQUE公式,具體取決於您的Excel版本),然後對唯一列表應用COUNTIF公式。

參數說明:在上述公式中,$A$2:$A$100 是包含您的組名稱的範圍。調整這個範圍以匹配您的實際數據。A2 是當前行組值的單元格引用。

這個公式解決方案具有高度的靈活性:您可以將其用於過濾列表、排序數據或與其他計算一起使用。但是,如果應用於非常大的數據集,請注意性能,因為重新計算可能需要額外的時間。

COUNTIFS 允許按多個條件計數,如果您的分組更加複雜(例如,按類別和地區分組)。


相關文章:


最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)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 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用