如何在 Excel 中對每 5 行或列求平均值?
在 Excel 中處理大型數據集時,通常需要為每組行或列進行平均計算——例如每 5 行或每 5 列。雖然您可以手動插入公式,如 =AVERAGE(A1:A5)
、=AVERAGE(A6:A10)
、=AVERAGE(A11:A15)
,但如果您有數百甚至上千個單元格,這種方法很快就會變得不切實際。手動重複這些操作既耗時又容易出錯。幸運的是,Excel 提供了多種自動化此任務的方式,讓數據分析更加高效且減少繁瑣工作。本文將介紹幾種針對每 5 行或列求平均值的實用方法,包括基於公式的解決方案、Excel 插件、VBA 自動化以及資料透視表技術,以幫助您選擇最適合您的場景的解決方案。
使用 Kutools for Excel 對每 5 行求平均值
使用公式對每 5 行或列求平均值
如果您更喜歡使用標準的 Excel 公式,則無需外掛程式或腳本就能自動計算每 5 行或列的平均值。這種方法特別適用於靜態數據集,只需生成一組組的平均值來支持您的分析即可。然而,需要注意正確引用數據並處理任何空白或不規則間隔。
以下範例展示了如何在一列中計算每 5 行的平均值:
1. 在您希望顯示結果的第一個單元格(例如 C2)中輸入以下公式:
=AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*5,,5,))
這裡,A2 是數據列的起始單元格,C2 是公式輸出單元格,5 是間隔值(即要平均的行數)。請根據實際數據調整這些引用。
輸入公式後,按下 Enter 鍵。第一個平均結果將會顯示出來。請參閱截圖:
2. 選擇公式單元格,然後拖動填滿控制點向下拖動,直到遇到錯誤值(例如 #DIV/0!
,如果剩餘數據不足 5 個值時)。這將自動為每組 5 行獲取平均值。請參閱截圖:
提示與注意事項:如果您的數據無法完美分組,可以使用 IFERROR()
等錯誤處理函數來抑制錯誤值,例如:
=IFERROR(AVERAGE(OFFSET($A$2,(ROW()-ROW($C$2))*5,,5,)),"")
要沿著一行計算每 5 列的平均值,應用以下公式(放置於 A3 並向右拖動):
=AVERAGE(OFFSET($A$1,,(COLUMNS($A$3:A3)-1)*5,,5))
這裡,A1 是起始單元格,A3 是公式輸出單元格,5 是每個組中的列數。根據數據佈局需求調整單元格引用。
輸入公式並按下 Enter,拖動填滿控制點向右拖動,直到達到錯誤值。請參閱截圖:
這種基於公式的解決方案非常適合快速一次性計算,或者您不想使用其他工具的情況下。然而,當數據大小或形狀改變時,可能需要調整公式或手動更新單元格範圍,並且處理不完整的組可能需要額外小心。
使用 Kutools for Excel 對每 5 行求平均值
Kutools for Excel 提供了一個方便的圖形化解決方案,如果您經常需要對行組進行平均計算而不必管理複雜的公式。通過「隔行插入分頁符」和「數據分頁統計」功能,您可以快速分割數據並在幾次點擊內完成批量平均值計算。這種方法特別適用於想要在可重複的間隔上應用平均值並將分組直接可視化在工作表中的情況。
下載並安裝 Kutools for Excel 後,請按照以下步驟操作:
1. 點擊 Kutools Plus > 列印 > 隔行插入分頁符。請參閱截圖:
2. 在「隔行插入分頁符」對話框中,指定間隔(例如 5)以每隔 5 行插入一個分頁符。這樣 Kutools 會自動分割數據。請參閱截圖:
3. 接下來,點擊 Kutools Plus > 列印 > 數據分頁統計。請參閱截圖:
4. 在「數據分頁統計」對話框中,選擇您要平均的列,然後選擇「平均」作為計算方式。請參閱截圖:
5. 點擊「確定」,Kutools 將立即在每個 5 行間隔插入帶有平均值的小計行。請參閱截圖:
Kutools 讓重複數據分組和分析變得輕鬆完成,而無需調整公式或編寫任何腳本。但是,請注意,插入的分頁符可能會影響列印佈局和檢視效果,因此如果不適用於您的報告,可以在使用後刪除它們。
使用 VBA 程式碼對每 5 行或列求平均值
如果您需要反覆計算固定數量行或列的平均值,尤其是在處理大數據或不斷變化的數據集時,使用 VBA 自動化這一過程可以節省大量的人工勞動。VBA 可以讓您遍歷數據,按需分組並輸出每組的平均結果。這種方法特別適合高級用戶或處理動態數據塊的用戶,避免了公式混亂工作表。以下是您可以輕鬆適應的一個通用 VBA 宏。
自動化每 5 行求平均值:
1. 點擊開發工具 > Visual Basic 打開Microsoft Visual Basic for Applications 視窗。然後,點擊插入 > 模組,並將下面的代碼粘貼到模組中:
Sub AverageEvery5Rows()
Dim DataRange As Range
Dim OutputCell As Range
Dim GroupSize As Integer, i As Integer, j As Integer
Dim LastRow As Long, StartRow As Long
Dim SumValue As Double, CountValue As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set DataRange = Application.InputBox("Select the data range to average (single column)", xTitleId, Selection.Address, Type:=8)
Set OutputCell = Application.InputBox("Select the first cell for output", xTitleId, , Type:=8)
GroupSize = Application.InputBox("Enter group size (e.g. 5)", xTitleId, 5, Type:=1)
On Error GoTo 0
If DataRange Is Nothing Or OutputCell Is Nothing Then Exit Sub
LastRow = DataRange.Rows.Count
StartRow = 1
i = 0
Do While StartRow <= LastRow
SumValue = 0
CountValue = 0
For j = 0 To GroupSize - 1
If (StartRow + j) <= LastRow Then
SumValue = SumValue + DataRange.Cells(StartRow + j, 1).Value
CountValue = CountValue + 1
End If
Next j
If CountValue > 0 Then
OutputCell.Offset(i, 0).Value = SumValue / CountValue
Else
OutputCell.Offset(i, 0).Value = ""
End If
StartRow = StartRow + GroupSize
i = i + 1
Loop
End Sub
2. 要執行代碼,點擊 按鈕或按下 F5。選擇您的數據範圍(一列),然後選擇輸出的起始單元格,並指定組大小(例如 5)。該宏將輸出每組 5 行的平均值,在指定的輸出列中依次排列。
您可以使用類似的宏來沿著一行計算每 5 列的平均值。
自動化每 5 列求平均值:
Sub AverageEveryNColumns()
Dim DataRange As Range
Dim OutputCell As Range
Dim GroupSize As Long
Dim totalCols As Long, totalRows As Long
Dim startCol As Long, endCol As Long, outCol As Long
Dim v As Variant
Dim r As Long, c As Long
Dim sumVal As Double, cntVal As Long
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set DataRange = Application.InputBox("Select the data range (single rows)", _
xTitleId, Selection.Address, Type:=8)
Set OutputCell = Application.InputBox("Select the first cell for output (results will spill to the right)", _
xTitleId, , Type:=8)
GroupSize = Application.InputBox("Enter group size (e.g. 5)", xTitleId, 5, Type:=1)
On Error GoTo 0
If DataRange Is Nothing Or OutputCell Is Nothing Then Exit Sub
If GroupSize < 1 Then
MsgBox "Group size must be >= 1.", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim prevCalc As XlCalculation
prevCalc = Application.Calculation
Application.Calculation = xlCalculationManual
totalCols = DataRange.Columns.Count
totalRows = DataRange.Rows.Count
v = DataRange.Value
outCol = 0
For startCol = 1 To totalCols Step GroupSize
endCol = startCol + GroupSize - 1
If endCol > totalCols Then endCol = totalCols
sumVal = 0
cntVal = 0
For r = 1 To totalRows
For c = startCol To endCol
If Not IsEmpty(v(r, c)) Then
If IsNumeric(v(r, c)) Then
sumVal = sumVal + CDbl(v(r, c))
cntVal = cntVal + 1
End If
End If
Next c
Next r
If cntVal > 0 Then
OutputCell.Offset(0, outCol).Value = sumVal / cntVal
Else
OutputCell.Offset(0, outCol).Value = ""
End If
outCol = outCol + 1
Next startCol
CleanExit:
Application.Calculation = prevCalc
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
使用資料透視表對每 5 行求平均值
另一種實用的方法是使用資料透視表結合序號或索引列來分組數據,從而計算每 5 行的組平均值。這種方法特別適用於處理結構化表格數據的用戶,他們需要快速、交互式的摘要,而無需編寫公式或使用外掛程式。資料透視表能動態處理數據變化,並支持靈活分組——非常適合處理大型數據集或定期報告任務。
以下是使用輔助列和資料透視表執行此操作的方法:
1. 在數據旁新增一列“索引”或“分組”,標記每 5 行為一組。在第一行數據(B2)中輸入:
=INT((ROW()-ROW($A$2))/5)+1
這個公式會按順序標記每一行,為每 5 行分配相同的分組號碼。將該公式填滿至整個數據集。
2. 選擇您的數據和新的索引列,然後點擊插入 > 資料透視表。在資料透視表創建對話框中,確認您的數據範圍並選擇放置資料透視表的位置。
3. 在新創建的資料透視表字段列表中,將“分組”字段拖到行區域,並將值字段(例如“銷售額”)拖到值區域。
4. 點擊值區域中的下拉選單,選擇“值字段設置”,並選擇“平均”。
現在,您的資料透視表顯示了原始數據每 5 行的平均值,由輔助列方便地分組。
使用資料透視表方法的主要優勢在於其靈活性和易於更新,尤其是當源數據發生變化時。然而,它需要添加輔助列,可能不適合需要保持精確格式或未修改數據的情況。
相關文章:
最佳 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 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用