如何在 Excel 中計算非相鄰或不連續儲存格的平均值,並排除其中的零值?
在處理 Excel 資料時,經常需要計算一組數字的平均值,但相關儲存格未必相鄰,且您可能希望排除零值(這些零值可能代表遺漏資料或已歸零的項目)。例如,在銷售或庫存報表中,某些商品在特定日期可能沒有銷售紀錄或庫存為零;若直接將這些零值納入平均值計算,可能會扭曲實際的數據趨勢。排除零值後,即可專注於有效的資料點進行更精準的分析。
假設您有一張如下方截圖所示的水果表格,希望計算「數量」欄位中所有非零儲存格的平均值。以下方法將引導您透過多種實用方式在 Excel 中輕鬆達成此目標——無論資料分散於非相鄰儲存格、橫跨多列或多欄,或您偏好使用 Excel 內建功能或簡易公式,皆能靈活應對。

使用公式計算非相鄰儲存格的平均值(排除零值)
此方法運用陣列公式,快速計算非相鄰儲存格(例如列或欄中每隔一個儲存格)的平均值,並自動排除所選範圍內的所有零值。特別適用於目標儲存格遵循固定間隔模式的情境,例如處理週期性資料——像是每隔一天的數值,或其他雖具固定間隔卻不相鄰的資料。
限制:此方法最適用於非相鄰儲存格以固定間隔排列的情況。若需手動任意選取,請參閱下方以公式為基礎的方法。
1. 選取一個空白儲存格作為結果輸出位置,並輸入以下陣列公式:
=AVERAGE(IF(MOD(COLUMN(C2:G2)-COLUMN(C2),2)=0,IF(C2:G2,C2:G2))) 接著同時按下 Ctrl+Shift+Enter(適用於舊版 Excel;在 Excel 365 或 2019 中,只需按下 )Enter 即可,因已支援動態陣列)。

注意:公式中的 C2 與 G2 代表目標範圍的首尾儲存格,數字「2」設定欄位間隔。若您的非相鄰儲存格間隔不同,請調整此數值,並根據實際資料配置修改範圍(C2:G2)與間隔(2)。
提示:
- 請確保您所選的範圍涵蓋所有欲計算平均值的非相鄰儲存格。
- 若您的資料選取並非基於固定間隔,請使用下方以公式為基礎的解決方案,靈活處理任意儲存格。
- 此公式會自動忽略空白儲存格與零值,為您精準計算出有意義資料點的真實平均值。
- 為避免錯誤,請務必確認儲存格參照正確無誤,並在舊版 Excel 中輸入陣列公式時按下所需的鍵盤組合。
使用 VBA 巨集計算非相鄰儲存格的平均值(排除零值)
若您需要快速計算一組非相鄰儲存格的平均值(排除零值),且選取方式不固定(例如需手動跨不同列與欄挑選特定儲存格),VBA 巨集能提供靈活而強大的解決方案。此程式碼會逐一檢查您所選的儲存格,並計算不含零值的平均值。
此方法非常適合:
- 快速處理大型或不規則的資料選取。
- 將自訂邏輯儲存起來,日後即可輕鬆套用於類似資料集,重複使用更有效率。
- 突破傳統工作表公式在處理複雜選取時的限制。
1. 點選開發人員 > Visual Basic;在開啟的視窗中,點選插入 > 模組,並將下列程式碼貼入模組中:
Sub AverageNonAdjacentExcludeZero()
Dim rng As Range
Dim cell As Range
Dim SumVal As Double
Dim CountVal As Long
Dim SelectedRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set SelectedRng = Application.Selection
Set SelectedRng = Application.InputBox("Select non-adjacent cells to average (exclude zeros)", xTitleId, Type:=8)
On Error Resume Next
SumVal = 0
CountVal = 0
For Each cell In SelectedRng
If IsNumeric(cell.Value) And cell.Value <> 0 Then
SumVal = SumVal + cell.Value
CountVal = CountVal + 1
End If
Next
If CountVal > 0 Then
MsgBox "Average (excluding zeros): " & SumVal / CountVal, vbInformation, xTitleId
Else
MsgBox "No non-zero numeric cells selected.", vbExclamation, xTitleId
End If
End Sub 2. 在 VBA 編輯器中點選
執行按鈕,或按下 F5,系統將彈出對話方塊要求您選取儲存格。請按住 Ctrl 鍵,並用滑鼠點選欲計算平均值的非相鄰儲存格,再點選確定,巨集將立即顯示排除零值後的結果!
使用 Excel 內建函數計算非相鄰儲存格的平均值(排除零值)
Excel 也提供多種內建方法,無需或僅需少量公式即可輕鬆完成此任務,非常適合快速進行一次性計算或目視檢查。
使用狀態欄:
- 按住 Ctrl 鍵,並以滑鼠手動選取每個欲計算平均值的非相鄰儲存格,避開所有包含零值的儲存格。
- 在選取完成後,查看 Excel 視窗右下角的狀態欄——只要選取超過一個儲存格,平均值就會自動顯示。
- 此方法適用於快速目視檢查小型資料集,但不會將結果輸出至工作表儲存格。
選擇合適方法時,請考量資料規模、儲存格選取範圍的分散程度,以及您是否需要可重複使用的公式輸出,或僅需快速目視檢查。若遇到錯誤(例如)#DIV/0!),請確認所選範圍中至少包含一個非零值。使用 VBA 前,務必先儲存活頁簿,以防執行新巨集時意外遺失資料。
在 Excel 中快速選取間隔(非相鄰)的列或欄:
透過 Kutools for Excel 的選擇間隔行/列功能,您能輕鬆選取 Excel 中的間隔行或欄位(如下方截圖所示)!此功能在套用公式或執行巨集前特別實用,助您精準選取欲處理的儲存格。

Kutools for Excel-透過超過 300 項必備工具全面強化 Excel,讓您的工作更快速、更輕鬆,並運用 AI 功能實現更聰明的資料處理與高效生產力!立即取得
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 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 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用