Excel で複数のワークシートにまたがるグラフを作成するには、どうすればよいですか?
実際の業務では、月次または年次のレポート、部署別の統計情報、比較用の概要など、関連するデータがExcel ワークブック内の複数のワークシートに分けて保存されていることがよくあります。こうした複数のシートからデータを要約・可視化するグラフを作成すれば、特に各ワークシートのデータ構造が一貫している場合、重要なインサイトを一目で把握できます。
たとえば、以下のスクリーンショットのように、4 つの異なるワークシートに同じ形式の表がそれぞれあるとします。このようなケースでは、各ワークシートから系列をまとめてトレンドや比較ビューを作成したり、各シートから重要なデータポイントを抽出して素早く比較できるグラフが必要になるでしょう。本記事では、それぞれのアプローチがどのような場面で最適かを解説しながら、実践的な複数の解決策を、詳細なステップ・バイ・ステップ手順、補足ヒント、トラブルシューティングガイドとともにご紹介します。
- 複数のワークシートから多数のデータ系列を抽出してチャートを作成する
- 複数のワークシートから多数のデータポイントを抽出してチャートを作成する
- 複数のワークシートからデータを統合し、チャートを生成する VBA コード

複数のワークシートから多数のデータ系列を抽出してチャートを作成する
4 つの別々のタブにそれぞれ月別の地域別売上が記録されているなど、同じ構造のデータを持つ複数のワークシート間で系列を比較したい場合は、複数のデータ系列を統合した縦棒グラフを作成することで、効果的な視覚的比較が実現できます。
この方法では手動での選択が必要ですが、手順は簡単で、複雑な数式やマクロは一切不要です。ワークシートのレイアウトが同一で、ソースシートから直接チャートを作成したい場合に最適です。
チャートを設定する手順は以下の通りです。
1。「挿入」をクリックします。挿入 > 縦棒グラフの挿入(または)縦棒)> 集合縦棒。これにより、ワークシートに空白のチャートが表示されます。
2。新しく挿入した空白のチャートを右クリックし、コンテキストメニューからデータの選択を選択します。
3。「データの選択元」ダイアログボックスで、「追加」ボタンをクリックして、新しいデータ系列の追加を開始します。追加。
4。「系列の編集」ダイアログボックスで、シリーズ名を入力し、対象のワークシートに移動して必要なデータ範囲を選択することで、シリーズの値を指定します。参照が不正確な場合、チャートに誤ったデータや「#REF!」などのエラーが表示される可能性があるため、参照内容を再度しっかりと確認してください。「OK」をクリックして確定します。OK。

ヒント:シリーズの値ボックスで別のワークシートのデータを参照するには、まず目的のシートに切り替え、その後、必要な範囲を選択してください。Excel は自動的にその参照にワークシート名を含めます。
5。チャートに含めたい各ワークシートについて、手順3 と4 を繰り返してください。すべての系列を追加すると、ダイアログ内の系列名の範囲の下に一覧表示されます。
注:各シートでは、常に同じセル範囲の構造を選択してください。構造が一致しない場合、チャートが誤解を招いたり、配置に問題が生じたりするおそれがあります。
6。「データの選択元」ウィンドウで編集をクリックしてチャートを微調整します。水平軸ラベルを設定するには、「軸ラベルの範囲」ダイアログでデータと正しく対応するラベルを選択し、「OK」をクリックして完了します。OK。
7。「データの選択元」ダイアログでOKをクリックして閉じます。これで、チャートに複数のワークシートからのデータ系列が統合されました。
8。(オプション)視認性をさらに高めるには、チャートを選択後、「デザイン」>「グラフ要素の追加」>「凡例」の順に進み、デザイン>グラフ要素の追加>凡例からオプション(例:凡例 > 下部)を選んで、各系列を識別できる凡例を表示します。
この方法は静的なデータセットに最適です。ただし、ワークシートのレイアウトが異なっていたり、データ範囲がシートごとに異なる場合は、あらかじめこれらの違いを解消しておく必要があります。データが頻繁に更新される場合や、自動での統合が必要な場合は、以下に示す他のソリューションをご検討いただき、さらに効率を高めてください。
結果として得られるクラスター化された縦棒グラフは、4 つの異なるワークシートから抽出したデータ系列を視覚的に比較するものです。
複数のワークシートから多数のデータポイントを抽出してチャートを作成する
複数のワークシートから個別のデータポイント(系列全体ではなく)を選び出してチャートを作成したい場合は、まず対象のセルをサマリーシートに集約し、その後まとめてチャート化します。この方法は、複数の部門シートから「合計」値などの単一指標を比較したい場合に特に役立ちます。
Kutools for Excel のワークシート参照を自動的に増やす機能を使えば、複数のシートから特定の値をサマリーシートに効率よく一元集計でき、特にソースの値が時間とともに変化する動的データに最適です。
データポイントを集めてチャートを作成する手順は次のとおりです。
1。タブバーシートで、「新規」ボタンをクリックするか、新規をクリックして
、または
をクリックして統合用の新しいワークシートを作成します。
2。この新しいワークシートで、他のシートからデータを抽出したいセルを選択します。次に、「Kutools」>「その他」(「数式」グループ内)>「ワークシート参照を自動的に増やす」をクリックします。Kutools>その他(数式グループ内)>ワークシート参照を自動的に増やす。
3。「ワークシート参照を埋める」ダイアログボックスで、以下の操作を行ってください。
- 次に、塗りつぶし順序ドロップダウンから列ごとに塗りつぶしてから行ごとに塗りつぶすを選択します。これにより、返される値が縦方向のリストで整理されます。
- 参照したいセルを含むワークシートにチェックを入れ、関連するソースタブのみが選択されていることをご確認ください。
- 範囲を埋めるをクリックして値を取得し、完了したら閉じるをクリックします。

ヒント:異なる種類のデータを収集する必要がある場合は、この手順を何度でも繰り返してください。サマリーシートでは、必要に応じてそれぞれを別の列または行に配置できます。
これらの手順を実行すると、各ワークシートから選択したデータが新しいシートに整然と整理されて表示されます。
4。統合されたデータポイントをハイライトし、通常どおりチャートを作成します。「挿入」>「縦棒グラフの挿入」(または「縦棒」)>「集合縦棒」。挿入>縦棒グラフの挿入(または)縦棒)>集合縦棒。
これで、各データポイントが異なるワークシートから抽出されたクラスター化された縦棒グラフが作成されました。
ヒント:
- この方法は、チャートを動的に更新する際に最適です。直接参照または数式を使用していれば、ソースデータが変更されたときにリンクが自動的に更新されるからです。
- #REF!エラーが発生した場合は、参照元のワークシート名を確認してください。シート名の変更や削除によって、参照が壊れることがあります。
デモ:Excel で複数のワークシートにまたがるチャートを作成する
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
複数のワークシートからデータを統合し、チャートを生成する VBA コード
多数のワークシートを扱う場合や定期的な更新が必要な場面など、より自動化・スケーラブルなソリューションをお探しのユーザーにとって、VBA マクロは複数のシートから効率的にデータを収集し、即座にチャートを生成するのに最適です。VBA を使えばデータ統合プロセスを自由にカスタマイズできるため、上級ユーザーや頻繁にレポートを更新する方にもぴったりです。
メリット:自動化が可能で、カスタム要件にも柔軟に対応でき、多数のワークシートを効率よく処理できます。
潜在的なデメリット:マクロの実行許可が必要で、一部のユーザーは VBA の構文やトラブルシューティングに不慣れな場合があります。
以下の例を使用して、すべてのワークシートから特定のセル(例:B2)を新しいサマリーシートに統合し、その統合データからクラスター化された縦棒グラフを作成できます。
1。「開発者ツール」をクリックします。開発者ツール > Visual Basic をクリックして、Microsoft Visual Basic for Applications ウィンドウを開きます。「挿入」> 「標準モジュール」をクリックし、以下のコードをモジュールに貼り付けます。挿入 > 標準モジュール。
Sub CombineDataAndChart()
Dim ws As Worksheet
Dim summarySheet As Worksheet
Dim lastRow As Long
Dim destRow As Long
Dim wsCount As Integer
Dim i As Integer
Dim rng As Range
On Error Resume Next
' Create summary sheet or clear previous one
Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name = "SummaryChartData" Then
ws.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
Set summarySheet = Worksheets.Add
summarySheet.Name = "SummaryChartData"
destRow = 1
' Set header
summarySheet.Cells(destRow, 1).Value = "Sheet"
summarySheet.Cells(destRow, 2).Value = "Value"
destRow = destRow + 1
' Collect data from all sheets (change range as needed)
For Each ws In Worksheets
If ws.Name <> "SummaryChartData" Then
summarySheet.Cells(destRow, 1).Value = ws.Name
summarySheet.Cells(destRow, 2).Value = ws.Range("B2").Value ' Modify "B2" as needed
destRow = destRow + 1
End If
Next
' Create chart
Dim chartObj As ChartObject
Set chartObj = summarySheet.ChartObjects.Add(Left:=250, Width:=350, Top:=20, Height:=250)
chartObj.Chart.ChartType = xlColumnClustered
chartObj.Chart.SetSourceData Source:=summarySheet.Range("A1:B" & destRow - 1)
chartObj.Chart.HasTitle = True
chartObj.Chart.ChartTitle.Text = "Combined Data from All Sheets"
xTitleId = "KutoolsforExcel"
End Sub 2。VBA エディターの
「実行」ボタンをクリックすると、マクロが自動的に集計シート(「SummaryChartData」)を作成し、その他のすべてのワークシートからデータ(この例ではセル B2 の値)を収集して、収集したデータに基づきグラフを生成します。
注:
- 各ワークシートから異なるセルを抽出したい場合は、
ws.Range("B2")の参照を目的のセルに合わせて調整してください。 - さらに多くの列や柔軟な範囲を含めるには、コードのロジックを拡張するか、列インデックスをループ処理できます。
- ワークシート名の競合が発生した場合、マクロは必要に応じてサマリーシートを自動的に上書きまたは再作成します。
- マクロを実行する前に、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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得

