メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

列/棒グラフの正と負のバーをどのように色分けすればよいですか?

Author Xiaoyang Last modified

Excelでデータを扱う際、増加と減少、利益と支出、または二分される値を列や棒グラフで視覚化することが一般的です。しかし、デフォルトでは、Excelはすべてのバーを正の値であろうと負の値であろうと同じ色で表示します。この均一な着色により、視聴者はトレンドを素早く区別したり、主要な違いを一目で解釈するのが難しくなります。

より明確でプロフェッショナルな視覚的なプレゼンテーションのために、グラフ内の正と負のバーに異なる色を設定したい場合があります。このチュートリアルでは、列や棒グラフの正と負の値を色分けするためのいくつかの効果的な方法を包括的に紹介します。これにより、視覚的に直感的で理解しやすいExcelチャートを作成するのに役立ちます。各方法には詳細、最も適したシナリオ、潜在的な利点と制限、および一般的なエラーを回避するための実用的なヒントが含まれています。

列/棒グラフでの正と負のバーの色分け
VBAマクロ:正/負の値に基づいて自動的にバーに色付け
Excel数式:ヘルパー列とデータ系列を使用して二色の棒グラフを作成


arrow blue right bubble 列/棒グラフでの正と負のバーの色分け

Excelには「負の場合反転」という組み込み機能があり、これにより、列または棒グラフで正のバーと負のバーを視覚的に簡単に区別できます。この方法は小規模から中規模のデータセットに適しており、数式やスクリプトを必要としません。シンプルで明確な色分けを最小限の設定で行いたい場合、これが推奨されるアプローチです。

1. グラフ内のデータ系列のバーを右クリックし、このスクリーンショットのようにコンテキストメニューから「データ系列の書式設定」をクリックします。

click Format Data Series from context menu

2. 「データ系列の書式設定」ダイアログボックスで、左側のペインで「塗りつぶし」を選択します。その後、「負の場合反転」のチェックボックスをオンにします。これにより、Excelが正と負のデータを認識し、視覚的に分割できるようになります。スクリーンショットをご覧ください:

check Invert if negative option

3. 次に、データバーに異なる色を適用します。「単色塗りつぶし」オプションをオンにし、塗りつぶし色セクションで正と負の値に希望の色を選択します。これにより、両方のカテゴリを完全にカスタマイズできます。スクリーンショットをご覧ください:

set different colors for positive and negative bars

4. 色を選択したら、「閉じる」をクリックして終了します。これで、グラフは設定した色を使って正と負のバーを自動的に表示し、分析やレポート作成における区別がより明確になります。

positive and negative data bars are filled with different colors separately

注意とヒント:

1. Excel 2013以降では、データバーを右クリックして「データ系列の書式設定」を選択すると、インターフェースがサイドペインとして開きます。ここで、「塗りつぶしと線」アイコンをクリックし、「負の場合反転」をチェックして、「単色塗りつぶし」オプションで正と負のバーの色を指定します。ガイダンスとしてスクリーンショットをご覧ください:

steps to set different colors for positive and negative bars in Excel2013

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 を選択し、 実行をクリックします。マクロはすべてのバーをループし、正の値には青、負の値には赤を自動的に適用します。

ヒントと注意:

  • posColornegColorは、RGB関数(RGB(R,G,B))を使用して任意の色にカスタマイズできます。Excelの標準パレットについては、正確なRGB値を得るためにカラーピッカーを参照してください。
  • このソリューションは、クラスター型の列と棒グラフ、単一または複数のシリーズに有効です。積み上げチャートには追加の修正が必要になる場合があります。
  • マクロが効果をもたらさない場合は、コードを実行する前にチャートがアクティブに選択されているか再度確認してください。
  • 複数のチャートや動的なデータセット全体にわたって一括で自動化するには、コードを修正してすべてのチャートをループすることができます。

このVBAアプローチは、複雑なレポートを日常的に生成する場合や、デフォルトのチャートオプションではサポートされていない高度にカスタマイズ可能なカラーリングルールが必要な場合に理想的です。ただし、マクロのセキュリティ設定がコードの実行を制限することがあるので、必要に応じてマクロを有効にしてください。

Excel数式:ヘルパー列とデータ系列を使用して二色の棒グラフを作成

もう一つの実用的な解決策は、特に色の割り当てに対して完全に手動で制御したい場合や、正と負だけでなく(例えば、大きさによる異なる色合いなど)視覚化したい場合に役立つもので、Excel数式を使用して2つのヘルパー列を作成する方法です。一方の列は正の値のみを、もう一方の列は負の値のみを表します。それぞれを独自のデータ系列としてプロットし、各系列に異なる色を設定します。この方法は、高度な条件付き書式ロジックを適用したり、特定のバーにのみデータラベルを含めたりする必要がある場合にもうまく機能します。

以下は、データを整理し、チャートを設定する方法です:

元の値が列B(B2:B11)にあると仮定します。

1. 元のデータの隣に「正」と「負」の2つのヘルパー列を挿入します。

2. 新しい「正」ヘルパー列で、最初のセル(例: C2)に次の数式を入力します:

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

この数式は、B2の値が正またはゼロであればそれを転送し、負であればNA()を返します。これはExcelチャートが無視する(バーを表示しない)ものです。

3. 「負」ヘルパー列で、最初のセル(例: D2)に次の数式を入力します:

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

この数式は負の値を表示し、非負の値を隠します。

4. 両方のヘルパー列の数式をデータセット全体にドラッグして展開します。

5. Ctrlキーを押しながら、カテゴリラベルと両方のヘルパー列を選択し、クラスター型の列または棒グラフを挿入します。これで、正の数値用(正の値のみバーを表示)、負の数値用の2つのデータ系列が表示され、それぞれ異なる色のバーが表示されます。

ヒントと注意:

  • NA()を使用することで、不要な位置に空/ゼロ高さのバーが表示されず、プロットの視覚的明瞭さが保たれます。
  • このアプローチは、カスタムしきい値や値範囲に基づいてバーに色付けするなど、さらなる条件に一般化できます。これには、ヘルパー列の数と条件付きロジックをさらに拡張します。
  • チャートを自動的に更新する必要がある場合は、チャートの範囲を拡張するか、データをExcelテーブルに変換してください。
  • 「負の場合反転」オプションが十分な柔軟性を提供しない場合、または積み上げ/複雑なチャートを扱う際にこの方法を使用します。

この構造では、チャートの更新や書式設定の調整が簡単であり、個々の系列の書式設定に対する詳細な制御を維持できます。


関連記事:

互いに非連続なデータを持つチャートを挿入するにはどうすればよいですか?

Excelで積み上げ縦棒グラフに合計ラベルを追加するにはどうすればよいですか?

Excelでガントチャートを作成するにはどうすればよいですか?


最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパー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が含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得