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

如何在直條圖/條形圖中為正值與負值的長條設定不同顏色?

作者曉陽修改日期

在 Excel 中處理資料時,經常會使用直條圖或條形圖來呈現收益與損失、獲利與支出等二元對立的數值。然而,Excel 預設會以單一顏色顯示所有長條,不論其數值為正或負,導致觀看者難以快速辨識趨勢或一眼掌握關鍵差異。

為提升圖表清晰度並打造專業視覺效果,您可為正負值長條設定不同顏色!本教學將全面介紹多種在直條圖或條形圖中區分正負值顏色的有效方法,助您輕鬆建立直覺、易懂的 Excel 圖表。每種方法皆附詳細步驟、適用情境、優缺點分析,以及避開常見錯誤的實用技巧,讓您的數據呈現更上一層樓!

在直條圖/條形圖中為正負值長條設定不同顏色
VBA 巨集:自動依據正負值為長條上色
Excel 公式:利用輔助欄位與資料系列實現雙色條形圖


藍色右向箭頭氣泡在直條圖/條形圖中為正負值長條設定不同顏色

Excel 內建負值反轉功能,能快速簡便地在直條圖或條形圖中視覺區分正值與負值長條。此方法適用於中小型資料集,無需使用公式或腳本;若您希望以最少設定達成清晰明確的區分效果,強烈推薦採用此方法!

1. 在圖表中按一下右鍵選取資料系列長條,然後從快捷選單中點選資料系列格式,如下圖所示:

從快捷功能表按一下「設定資料數列格式」

2. 在資料系列格式對話方塊中,於左側窗格選取填滿,然後勾選負值反轉核取方塊,即可讓 Excel 自動識別並以視覺效果區分正負資料!請參閱下圖:

勾選「負值時反轉」選項

3. 接著,為資料長條套用不同顏色:勾選純色填滿選項,並在填充顏色區段下,分別為正值與負值挑選您偏好的色彩,即可完全自訂這兩類別的顯示顏色。請參閱下圖:

為正值與負值長條設定不同色彩

4. 選定顏色後,點選關閉退出,您的圖表將立即以設定的顏色自動顯示正負值長條,讓分析與報告中的區分更加清晰明確!

正值與負值資料長條分別以不同色彩填滿

注意事項與提示:

1. 在 Excel 2013 及更高版本中,於資料長條上按一下右鍵,選擇資料系列格式後,介面會以側邊窗格開啟。此時請點選填滿與線條圖示,勾選負值反轉,並在純色填滿選項下分別設定正、負值長條的顏色。操作指引請參閱下圖:

在 Excel 2013 中為正值與負值長條設定不同色彩的步驟

2. 此方法適用於柱狀圖與條形圖。
3. 若您圖表包含多個數據系列,或需根據特定邏輯(例如超出正負值範疇)為各長條個別上色,則可能需要使用進階選項(如 VBA 或輔助欄位)。
4. 若發現「負值反轉」選項呈灰色無法使用,請確認您編輯的是單一系列圖表而非堆疊圖表,因該功能不適用於堆疊柱狀圖/條形圖。

此解決方案因操作簡便、見效迅速而廣受歡迎,尤其適用於單一系列的直條圖或條形圖。若需更精細的控制或自動化批次調整,請考慮以下進階方法。


VBA 巨集:自動依據正負值為長條上色

若您需要以程式設計方式根據數值(正數或負數)設定長條顏色、處理包含多個資料系列的圖表,或套用更複雜的配色邏輯,可善用 VBA 巨集。此方法在批次處理與一致格式化方面極具彈性,尤其適合需頻繁更新圖表或管理大型資料集的情境。

1. 按下 Alt + F11,立即開啟 Visual Basic for Applications 編輯器。在 VBA 視窗中,點選插入 > 模組,並將下列程式碼複製貼上至新模組中:

Sub ColorBarsPositiveNegative()
    Dim cht As Chart
    Dim srs As Series
    Dim iPoint As Integer
    Dim vValue As Variant
    Dim posColor As Long
    Dim negColor As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    ' Set your preferred RGB colors below
    posColor = RGB(91, 155, 213) ' Blue for positive
    negColor = RGB(192, 80, 77) ' Red for negative

    ' Use currently selected chart
    If ActiveChart Is Nothing Then
        MsgBox "Select a chart first.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    Set cht = ActiveChart
    
    For Each srs In cht.SeriesCollection
        For iPoint = 1 To srs.Points.Count
            vValue = srs.Values(iPoint)
            
            If vValue >= 0 Then
                srs.Points(iPoint).Format.Fill.ForeColor.RGB = posColor
            Else
                srs.Points(iPoint).Format.Fill.ForeColor.RGB = negColor
            End If
        Next iPoint
    Next srs
End Sub

2. 關閉 VBA 編輯器,返回 Excel 工作表,選取圖表後按下 Alt + F8 開啟「巨集」對話方塊,選取 ColorBarsPositiveNegative 並點選執行。巨集將自動逐一處理所有長條,為正值套用藍色、負值套用紅色。

提示與注意事項:

  • 您可以使用 RGB 函數()RGB(R,G,B)),將 posColornegColor 自訂為您喜愛的任何顏色!若要取得 Excel 標準調色盤的精確 RGB 值,請立即參考色彩選擇器。
  • 此解決方案適用於單一系列或多個系列的群集直條圖與條形圖。堆疊圖表可能需要額外調整。
  • 如果巨集未產生效果,請再次確認在執行程式碼前已主動選取圖表。
  • 若需對多個圖表或動態資料集進行批次自動化處理,只需調整程式碼,即可逐一處理所有圖表。

若您經常製作複雜報表,或需要超出預設圖表選項支援範圍的高度自訂配色規則,此 VBA 方法將是絕佳選擇。不過,巨集安全性設定可能會限制程式碼執行,因此若系統提示,請務必啟用巨集。

Excel 公式:利用輔助欄位與資料系列實現雙色條形圖

另一種實用的解決方案(特別適合需要完全手動控制配色,或希望呈現超出正負值範疇的視覺效果,例如根據數值大小使用不同深淺的色調)是透過 Excel 公式建立兩個輔助欄位:一個僅保留正值,另一個僅保留負值。接著,將這兩欄分別繪製為獨立的資料系列,並為每個系列指定獨特的顏色。即使您需要套用進階的條件格式邏輯,或僅對特定長條加入資料標籤,此方法依然能完美適用。

以下是組織資料與設定圖表的方法:

假設您的原始數值位於 B 欄(B2:B11)。

1. 在原始資料旁插入兩個輔助欄位:「正值」與「負值」。

2. 在新的「正值」輔助欄位中,於第一個儲存格(例如 C2)輸入下列公式:

=IF(B2>=0,B2,NA())

此公式會在 B2 為正值或零時傳回該數值;若為負值,則傳回 NA(),Excel 圖表將自動忽略此值(不顯示長條)。

3. 在「負值」輔助欄位的第一個儲存格(例如 D2)中,輸入下列公式:

=IF(B2<0,B2,NA())

此公式會顯示負值,並隱藏所有非負值。

4. 將兩個輔助欄位中的公式向下拖曳,使其範圍與您的資料集一致。

5. 按住 Ctrl 鍵,選取您的類別標籤與兩個輔助欄位,然後插入群組直條圖或條形圖。您將看到兩個數據系列:一個用於正數(僅顯示正值的長條),另一個用於負數,並以兩種不同顏色區分長條。

提示與注意事項:

  • 使用 NA()可避免在不需要的位置顯示空白或高度為零的長條,確保圖表視覺清晰、一目了然!
  • 此方法可推廣應用於附加條件——例如,透過新增輔助欄位並結合條件邏輯,根據自訂臨界值或數值範圍為長條上色。
  • 若要讓圖表自動更新,請務必擴充圖表範圍,或將資料轉換為 Excel 表格。
  • 當您在處理堆疊式或複雜圖表,或發現「負值反轉」選項彈性不足時,請採用此方法。

採用此結構後,圖表更新與格式調整變得簡單直覺,同時您仍可精細掌控各個數據系列的格式。


相關文章:

如何插入資料來源不連續的圖表?

如何在 Excel 中為堆疊柱形圖新增總計標籤?

如何在 Excel 中輕鬆建立專業的甘特圖?


最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用