如何在 Excel 中只對正數或負數計算平均值?
在 Excel 中,當一個範圍同時包含正數與負數時,僅計算其中一種類型數值的平均值是常見需求,特別是在分析獲利與損失、收入與支出等情境下——此時正負數代表截然不同的意義。若您使用標準的 AVERAGE 函數,它會將正負數一併納入計算,可能無法滿足您的實際需求。本教學將為您介紹多種實用方法,逐步說明如何透過公式、內建工具及 VBA 程式碼,在 Excel 中輕鬆實現僅對正數或負數求平均,精準符合各類分析場景!
透過 Kutools for Excel 查看僅正數或負數的平均值![]()
使用公式僅平均正數或負數
若只想計算範圍中正數的平均值,Excel 提供了可選擇性納入符合指定條件數值的陣列公式。當您希望直接在工作表中快速取得平均值,而不使用增益集或額外工具時,此方法格外實用。
1. 在您希望顯示結果的空白儲存格中,輸入下列公式:
=AVERAGE(IF(A1:D10>0,A1:D10,"")) 在此範例中,A1:D10 代表包含正數與負數的數據區域。

2. 輸入公式後,同時按下 Ctrl + Shift + Enter,即可將其確認為陣列公式。若操作正確,公式編輯列中的公式會自動被大括號{ }包圍,如下所示:

公式說明與調整方式:
- 此技巧適用於水平與垂直範圍,請依您的工作表調整範圍。
- 若您的範圍中不含正數,卻使用此公式計算正值平均值,結果將顯示 #DIV/0! 錯誤,因為沒有符合條件的數值可供平均。同樣情況也適用於下方所示的負數公式。您可透過將公式包覆在
IFERROR函數中,有效提升公式的穩健性:
=IFERROR(AVERAGE(IF(A1:D10>0,A1:D10,"")), "") 若要僅計算負數的平均值,請使用下列公式:
=AVERAGE(IF(A1:D10<0,A1:D10,"")) - 在輸入公式後,記得按下 Ctrl + Shift + Enter,以確保公式正確執行。
注意事項:
1. A1:D10 是您用來計算條件平均值的範圍;請根據實際資料需求靈活調整。
2. 若要讓平均值忽略零值或特定數值,可進一步自訂公式中的邏輯條件。
3. 在 Excel 365 或 Excel 2019 及更新版本中,由於原生支援動態陣列,無需按下 Ctrl + Shift + Enter;但在舊版 Excel 中,仍須使用此按鍵組合輸入陣列公式。
4. 若您的資料包含錯誤值(例如)#DIV/0! 或 #N/A),公式也可能傳回錯誤。建議使用 IFERROR 函數,妥善處理例外狀況,確保運算順暢無誤!
透過 Kutools for Excel 查看僅正數或負數的平均值
若您已安裝 Kutools for Excel,可使用其選擇指定單元格功能,快速選取範圍中僅有的正數或負數,平均值將立即顯示於 Excel 狀態欄,無需額外輸入公式!此方法特別適合偏好視覺化與互動式操作、不願使用複雜公式的使用者,輕鬆快速彙總指定類型資料。
1. 選取包含您要分析之正負數的資料區域。
2. 前往 Kutools > 選取 > 選擇指定單元格,如下圖所示:

3. 在選擇指定儲存格對話方塊中,執行下列操作:
- 選取位於選擇類型之下的儲存格選項。
- 設定正數條件:在大於的指定類型下拉式選單中選擇,並於數值欄位輸入 0.
- 針對負數,選擇小於,並同樣輸入 0.
按一下確定,Kutools 將自動選取符合條件的儲存格,並彈出對話方塊確認已選取的儲存格。

4. 選取儲存格後,只需查看 Excel 視窗右下角的狀態列,即可立即看到所選儲存格的平均值!此計算會即時更新,完全無需輸入任何公式。
![]() | ![]() |
| 僅正數的計算結果 | 僅負數的計算結果 |
優點與注意事項:
- 無需撰寫或記憶公式,非常適合快速即時分析!
- 此方法適用於中小型資料集;若選取範圍包含大量非數值儲存格或錯誤值,請務必手動檢查狀態列中的摘要資訊,以確保結果準確無誤。
- 您也可以在狀態欄上按一下滑鼠右鍵,自訂要顯示的計算方式(例如平均值、總和、計數等)。
示範:僅對正數或負數進行加總/平均/計數,使用 Kutools for Excel Kutools for Excel:超過 300 種實用工具隨手可得!盡享 AI 驅動功能,讓工作更聰明、更快速!立即下載!
使用 VBA 程式碼自動計算僅正數或負數的平均值
對於經常需要針對不同範圍計算此類平均值,或希望自動化此流程的使用者來說,使用簡單的 VBA 巨集不僅能節省時間,還能提升準確性。若您有重複性任務或複雜的資料結構,且熟悉 Excel 中的 Visual Basic for Applications(VBA)編輯器,此方法最為理想。
1. 按一下開發人員工具 > Visual Basic,開啟 Microsoft Visual Basic for Applications 視窗。在編輯器中,按一下插入 > 模組,然後將下列其中一段程式碼複製貼上至新模組中。
若要計算選擇區域中僅正數的平均值,請使用下列巨集:
Sub AveragePositiveNumbers()
Dim rng As Range
Dim cell As Range
Dim sum As Double
Dim count As Long
Dim result As Variant
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set rng = Application.Selection
Set rng = Application.InputBox("Please select the range to average positive numbers", xTitleId, rng.Address, Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
sum = 0
count = 0
For Each cell In rng
If IsNumeric(cell.Value) And cell.Value > 0 Then
sum = sum + cell.Value
count = count + 1
End If
Next cell
If count > 0 Then
result = sum / count
MsgBox "The average of only the positive numbers is " & result, vbInformation, xTitleId
Else
MsgBox "No positive numbers found in the selected range.", vbExclamation, xTitleId
End If
End Sub 若要計算僅負數的平均值,請使用下方程式碼:
Sub AverageNegativeNumbers()
Dim rng As Range
Dim cell As Range
Dim sum As Double
Dim count As Long
Dim result As Variant
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set rng = Application.Selection
Set rng = Application.InputBox("Please select the range to average negative numbers", xTitleId, rng.Address, Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
sum = 0
count = 0
For Each cell In rng
If IsNumeric(cell.Value) And cell.Value < 0 Then
sum = sum + cell.Value
count = count + 1
End If
Next cell
If count > 0 Then
result = sum / count
MsgBox "The average of only the negative numbers is " & result, vbInformation, xTitleId
Else
MsgBox "No negative numbers found in the selected range.", vbExclamation, xTitleId
End If
End Sub 2. 輸入巨集後,返回 Excel。按下 F5,或點擊執行。在彈出的對話方塊中,您可以選取用於計算的範圍,平均值(或在找不到符合條件的數字時顯示警告)將立即於訊息框中呈現!
提示與疑難排解:
- 若要保留並重複使用巨集,請務必將活頁簿儲存為啟用巨集的檔案()
.xlsm)。 - 此巨集僅會計算數值儲存格的平均值——包含文字、空白儲存格或錯誤值的儲存格將自動被忽略。
- 如果您的資料集龐大或經常變動,運用 VBA 自動化不僅能有效避免手動操作錯誤,還能節省寶貴時間。
- 若出現巨集安全性警告,請前往 Excel 選項 > 信任中心,調整巨集設定以允許執行。
選擇方法時,請考慮您自己的工作流程與 Excel 技能:
- 公式快速又靈活,但需以陣列方式輸入並正確引用。
- Kutools 適用於互動式任務,無需手動輸入公式,操作更輕鬆!
- VBA 巨集適用於重複性高或需要自動化報表的環境。
若遇到計算錯誤或非預期結果,請先檢查所選範圍是否包含不必要的資料類型或錯誤值,並確認您設定的條件(例如大於或小於零)是否正確,必要時調整儲存格參照。如需進行更進階的排除處理(例如忽略錯誤值或特定數值),請在公式或 VBA 中加入適當的錯誤處理或篩選邏輯。
最佳 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 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用

