Excel でセルの色に基づいてグラフを自動的に着色する方法は?
Excel で縦棒グラフなどの標準チャートを作成すると、系列やデータポイントにはExcel の既定色が自動的に割り当てられ、その色が元のデータ範囲のセルの塗りつぶし色と一致しないことがあります。しかし、ダッシュボードやレポート、データの視覚化など多くのシナリオでは、チャートの棒をソースセルに適用された色と完全に一致させたい場合があります。これにより、視覚的な一貫性を保ち、データを一目で分かりやすくしたり、色を意味のある手がかりとして活用してカテゴリグループを強調したりできます。たとえば、下図のようにサマリーテーブルで設定したカラーコーディングをチャートの各列に反映させたいこともあるでしょう。ところがExcel には、セルの塗りつぶし色(特に手動で設定されたもの)をチャート要素に自動的にマッピングする直接的な機能が備わっていません。そのため、セルの色が手動で適用されているか、数式や条件付き書式ルールに基づいているかによって、いくつかの異なる対応方法が必要になります。以下では、さまざまなシナリオでこの色の連携を効果的に実現するための実用的な解決策を複数ご紹介します。

VBA コードを使用して、1 つまたは複数のデータ系列を持つチャートをセルの色に基づいて着色する
便利な機能を使用して、1 つまたは複数のデータ系列を持つチャートをセルの色に基づいて着色する
VBA コードを使用して、1 つまたは複数のデータ系列を持つチャートをセルの色に基づいて着色する
1 つのデータ系列を持つチャートをセルの色に基づいて着色する
チャートの棒に該当セルの塗りつぶし色を継承させたい場合、その色が条件付き書式や数式ではなく手動で設定されているのであれば、VBA を使ってチャートの棒の色を元のセルの色と同期できます。この手法は、視覚的な整合性が明確さやレポート基準上特に重要となる単一系列チャートに最適です。
1。まず、データを選択して縦棒グラフを作成します。これを行うには、関連セルを選択し、挿入>縦棒グラフまたは縦棒グラフの挿入をクリックしてください。すると、下図のような既定のチャートが表示されます。

2。ALT + F11キーを押して、Microsoft Visual Basic for Applications (VBA)エディターを開きます。
3。挿入 > 標準モジュールを VBA ウィンドウでクリックし、以下のコードをモジュールウィンドウにコピー&ペーストしてください。このスクリプトにより、各チャートの棒グラフが対応するセルの塗りつぶし色に自動的に更新されます。
VBA コード:1 つのデータ系列を持つチャートの棒をセルの色に基づいて着色する:
Sub ColorChartColumnsbyCellColor()
'Updateby Extendoffice
Dim xChart As Chart
Dim I As Long, xRows As Long
Dim xRg As Range, xCell As Range
On Error Resume Next
Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
If xChart Is Nothing Then Exit Sub
With xChart.SeriesCollection(1)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
xRows = xRg.Rows.Count
Set xRg = xRg(1)
For I = 1 To xRows
.Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)
Next
End With
End Sub
4。コードを入力したら、F5キーを押してマクロを実行しましょう。すると、チャートの棒がソースセルの塗りつぶし色を即座に反映し、下図のように視覚的に対応するようになります!

この方法は、セルの塗りつぶし色を手動で設定し、頻繁に手動調整が必要なチャートに最適です。ただし、セルの色を変更した場合は、リンクが動的でないため VBA コードを再度実行する必要がある点にご注意ください。また、コードを保持するには、ブックをマクロ有効ファイル(。xlsm)として保存することをお忘れなく。
複数のデータ系列を持つチャートをセルの色に基づいて着色する
チャートに複数のデータ系列(例:時間の経過に伴う複数の製品や異なるカテゴリなど)が含まれている場合も、同様の VBA アプローチで、各棒グラフのセグメントやデータポイントをそのソースセルの塗りつぶし色にマッピングできます。これにより、レポートの視覚的な整合性が保たれ、閲覧者がワークシートとチャート間でデータを簡単に照合できるようになります。
1。下図のようにデータを設定し、複数系列の縦棒グラフを作成します。

2。ALT + F11キーを押して、VBA エディターを開きます。
3。VBA ウィンドウで、挿入 > 標準モジュールをクリックして、以下のコードを貼り付けてください。
VBA コード:複数のデータ系列を持つチャートの棒をセルの色に基づいて着色する:
Sub CellColorsToChart()
'Updateby Extendoffice
Dim xChart As Chart
Dim I As Long, J As Long
Dim xRowsOrCols As Long, xSCount As Long
Dim xRg As Range, xCell As Range
On Error Resume Next
Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
If xChart Is Nothing Then Exit Sub
xSCount = xChart.SeriesCollection.Count
For I = 1 To xSCount
J = 1
With xChart.SeriesCollection(I)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
If xSCount > 4 Then
xRowsOrCols = xRg.Columns.Count
Else
xRowsOrCols = xRg.Rows.Count
End If
For Each xCell In xRg
.Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
.Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
J = J + 1
Next
End With
Next
End Sub
4。F5キーを押してこのコードを実行すると、チャートの系列がデータ範囲内のセルの塗りつぶし色を反映するように更新され、下図のように表示されます。

- コード内では、チャートはデフォルトでChart1として参照されています。必要に応じて、実際のチャート名に合わせて調整してください。
- この方法は、縦棒グラフや横棒グラフはもちろん、折れ線グラフにも対応しています。
- 問題(更新されない、エラーが発生するなど)が発生した場合は、チャートのデータ系列とセルの色範囲が1 対1 で対応しているかご確認ください。
この手法は、手動で着色されたデータに対して完全な制御と柔軟性を提供しますが、条件付き書式や数式によって自動生成された色には対応していません。そうした状況では、以下に示す数式ベースおよび条件付き書式を活用したソリューションをご参照ください。より動的な選択肢をご提供します。
便利な機能を使用して、1 つまたは複数のデータ系列を持つチャートをセルの色に基づいて着色する
VBA を使えばチャートの色をセルの塗りつぶし色と同期できますが、コードを手動で実行する必要があり、マクロや VBA によるセキュリティプロンプトに不安を感じるユーザーもいるかもしれません。よりスムーズでインタラクティブな方法をお探しであれば、セルの色に基づいてチャートの色を変更します機能がKutools for Excelに搭載されており、効率的なソリューションを提供します。このツールは、チャートにデータ系列が1 つでも複数でも、セルの塗りつぶし色を対応するチャート要素に自動的に適用します。さらに、セルの色を後から更新しても、簡単な再適用操作ですぐにマッピングが反映されます。
Kutools for Excelをインストール後、以下の手順に従ってください。
1。着色したいチャートを挿入し、選択します。Kutools>チャート>グラフツール>セルの色に基づいてチャートの色を変更しますへ移動してください(下図参照)。

2。プロンプトが表示されたら、ダイアログボックスで単にOKをクリックします。

3。チャートはセルの色に即座に合わせて更新され、以下の例のように表示されます。
1 つのデータ系列を持つチャートをセルの色に基づいて着色する
複数のデータ系列を持つチャートをセルの色に基づいて着色する
この機能は、チャートの色を自動的に統一したい方、そしてデータ更新に関わらず再利用可能なソリューションをお探しの方に最適です。手動での書式設定やマクロ実行と比べて大幅な時間短縮を実現し、複数のメンバーがデータやチャートのプレゼンテーションを共同で編集する環境で特に威力を発揮します。
今すぐKutools for Excel をダウンロードして、無料トライアルをお試しください!
関連するチャート記事をさらに見る:
- Excel で別の縦棒グラフ上に縦棒グラフを作成する
- 2 つのデータ系列で集合縦棒グラフまたは通常の縦棒グラフを作成すると、各系列の棒が並んで表示されます。ただし、より明確に2 つのデータ系列を比較したい場合には、棒を重ね合わせた(オーバーレイ)縦棒グラフが有効です。本記事では、Excel で重複した縦棒グラフを作成する方法をご紹介します。
- Excel で1 つのグラフの書式を他のグラフにコピーする
- ワークシート内に複数の異なる種類のグラフがあり、そのうち1 つを希望通りに書式設定した後、その書式を他のグラフにも適用したいことはよくあります。もちろん、手動で1 つずつ書式を設定することもできますが、非常に時間がかかります。Excel で1 つのグラフの書式を他のグラフにすばやく簡単にコピーする方法はあるでしょうか?
- グラフ内の最大値および最小値のデータポイントを強調表示する
- 下図のように、縦棒グラフで最高値または最小値のデータポイントを異なる色で強調表示したい場合、どのようにすれば最高値と最小値を特定し、グラフ内の該当データポイントを素早く強調表示できますか?
- Excel でステップチャートを作成する
- ステップチャートは、不規則な間隔で発生する変化を可視化するための折れ線グラフの拡張版です。しかし、Excel にはこれを直接作成する機能が備わっていません。本記事では、Excel ワークシートでステップチャートを段階的に作成する方法を詳しく解説します。
- Excel で進捗バーチャートを作成する
- 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得