縦棒グラフで正の値と負の値の棒を異なる色で表示するには?
Excel でデータを扱う際、利益と損失、収益と費用、あるいはその他の二分的な値を縦棒グラフで可視化することがよくあります。しかし、既定ではExcel は値が正であっても負であってもすべての棒を同じ色で表示します。この均一な配色では、閲覧者がトレンドを素早く把握したり、重要な違いを一目で理解したりすることが難しくなります。
より明確でプロフェッショナルな視覚的プレゼンテーションのため、チャート内の正の棒と負の棒に異なる色を設定することをおすすめします。本チュートリアルでは、縦棒グラフにおける正負の値を効果的に色分けするための複数の方法を網羅的にご紹介します。各手法には、詳しい手順、最適な使用シナリオ、メリットと制限、そして一般的なエラーを回避するための実践的なヒントが含まれています。
縦棒グラフ/縦棒グラフで正と負の棒を異なる色で表示
VBA マクロ:正負の値に基づき自動的に棒を着色
Excel 数式:ヘルパー列とデータ系列を使用した双色縦棒グラフの実現
縦棒グラフ/縦棒グラフで正と負の棒を異なる色で表示
Excel には組み込みの負の値の場合反転機能があり、縦棒グラフで正の棒と負の棒を簡単に視覚的に区別できます。この方法は小規模から中規模のデータセットに最適で、数式やスクリプトは一切不要。最小限の設定でシンプルかつ明確な色分けを実現したいなら、ぜひこの方法をご活用ください!
1。チャート内のデータ系列の棒を右クリックし、コンテキストメニューからデータ系列の書式設定を選択してください(下記スクリーンショット参照)。
![コンテキストメニューから[データ系列の書式設定]をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/separate-colors-for-chart/doc-different-color-chart-1.png)
2。データ系列の書式設定ダイアログボックスで、左側のペインから塗りつぶしを選択し、負の値の場合反転チェックボックスをオンにしてください。これにより、Excel が正負のデータを自動で認識し、視覚的に明確に区別できるようになります(スクリーンショット参照)。
![[負の値の場合反転する]オプションをオンにする](http://cdn.extendoffice.com/images/stories/doc-excel/separate-colors-for-chart/doc-different-color-chart-2.png)
3。次に、データ棒に異なる色を適用します。塗りつぶし(単色)オプションをチェックし、塗りつぶし色セクションで正の値と負の値それぞれに好みの色を設定してください。これで、両方のカテゴリの色を完全にカスタマイズできます(スクリーンショット参照)。

4。色を選択したら、閉じるをクリックして終了します。これにより、チャートは設定した色で自動的に正と負の棒を表示し、分析やレポート作成時の識別性が大幅に向上します。

注意点とヒント:
1。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を選択し、実行をクリックしてください。すると、マクロがすべての棒を自動的にループ処理し、正の値には青、負の値には赤を適用します。
ヒントと注意点:
- お好みの色に自由にカスタマイズできます。
posColorおよびnegColorは、RGB関数()RGB(R,G,B))を使って設定してください。Excel の標準パレットで使用できる正確な RGB 値は、カラーピッカーをご参照ください。 - このソリューションは、集合縦棒グラフと通常の縦棒グラフのどちらにも対応しており、単一系列・複数系列のデータいずれにもご利用いただけます。積み上げグラフをご利用の場合は、追加の調整が必要となる場合があります。
- マクロが効果を示さない場合は、コードを実行する前にグラフがアクティブに選択されていることを再度ご確認ください。
- 複数のグラフや動的データセットを一括で自動化するには、コードを変更してすべてのグラフをループ処理できます。
この VBA アプローチは、複雑なレポートを日常的に作成する場合や、既定のチャートオプションでは対応できない高度にカスタマイズ可能な着色ルールが必要な場合に最適です。ただし、マクロのセキュリティ設定によりコードの実行が制限される可能性があるため、プロンプトが表示されたらマクロを有効にしてください。
Excel 数式:ヘルパー列とデータ系列を使用した双色縦棒グラフの実現
もう一つの実用的な解決策として、色の割り当てを完全に手動で制御したい場合や、単なる正負の区別を超えて(たとえば値の大きさに応じて異なる色合いを使うなど)より詳細な可視化を行いたい場合には、Excel 数式を使って2 つのヘルパー列を作成する方法があります。1 つの列には正の値のみ、もう1 つの列には負の値のみを表示し、それぞれを個別のデータ系列としてプロットして、各系列に独自の色を設定します。この方法は、高度な条件付き書式のロジックを適用したい場合や、特定の棒グラフにのみデータラベルを表示したい場合にも有効です。
以下に、データの整理方法とチャートの設定手順をご紹介します。
元の値は列 B(B2~B11)にあると仮定します。
1。元のデータの隣に、「正」と「負」という2 つのヘルパー列を挿入します。
2。「正」のヘルパー列の最初のセル(例:C2)に、次の数式を入力してください。
=IF(B2>=0,B2,NA()) この数式は、B2 の値が0 以上の場合にはその値をそのまま使用し、負の場合はNA()を返します。これにより、Excel チャートは該当する値を無視して棒グラフを表示しません。
3。負の値を扱うヘルパー列の最初のセル(例:D2)に、次の数式を入力してください。
=IF(B2<0,B2,NA()) この数式は、負の値を表示し、非負の値を非表示にします。
4。両方のヘルパー列の数式を、データセット全体に適用されるまで下方向にドラッグしてください。
5Ctrl キーを押しながら、カテゴリラベルと両方の補助列を選択し、積み上げ縦棒グラフまたは縦棒グラフを挿入します。正の数(正の値に対してのみ棒が表示される)と負の数の2 つのデータ系列が表示され、それぞれ異なる色の棒で示されます。
ヒントと注意点:
NA()を使えば、不要な箇所に空白や高さゼロの棒が表示されるのを防ぎ、グラフの視覚的な明瞭性を保てます。- このアプローチは、追加条件にも簡単に適用できます。たとえば、ヘルパー列と条件付きロジックをさらに拡張すれば、独自のしきい値や値の範囲に基づいて棒グラフを自由に着色できます。
- グラフを自動的に更新したい場合は、グラフの範囲を拡張するか、データをExcel テーブルに変換してください。
- 「負の値の場合反転」オプションでは十分な柔軟性が得られない場合や、積み上げグラフや複雑なグラフを扱う際は、ぜひこの方法をご活用ください。
この構造により、グラフの更新や書式設定の調整が簡単に行え、各データ系列の書式を個別かつ詳細に制御できます。
関連記事:
Excel で積み上げ縦棒グラフに合計ラベルを追加するにはどうすればよいですか?
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得