Excelで複数のワークシートにわたってチャートを作成するにはどうすればよいですか?
多くの実用的なシナリオでは、月次や年次レポート、部門別の統計、または個別のタブで管理されている比較サマリーなど、Excelワークブック内の複数のワークシートにデータが分散していることがあります。これらの複数のシートからデータを要約したり視覚化する便利なチャートを作成することで、特にワークシート間でデータ構造が一貫している場合、重要な洞察を一目で得ることができます。
例えば、次のスクリーンショットに示すように、異なる4つのワークシートに同じ形式の4つのテーブルがあるとします。各ワークシートからのシリーズ(トレンドや比較ビューの場合)をコンパイルしてチャートを生成する必要があるかもしれませんし、各シートから主要なデータポイントを選択して(クイックスナップショットの比較のために)生成する必要があるかもしれません。この記事では、いくつかの実用的なソリューションを説明し、各アプローチが最も適している場所について、詳細なステップバイステップの指示、補足のヒント、トラブルシューティングのガイダンスを提供します。
- 複数のワークシートから多くのデータシリーズを抽出してチャートを作成する
- 複数のワークシートから多くのデータポイントを抽出してチャートを作成する
- 複数のワークシートからデータを結合しチャートを生成するためのVBAコード
複数のワークシートから多くのデータシリーズを抽出してチャートを作成する
例えば、別々のタブにある4か月間の地域ごとの売上といった同じ構造のデータを持つ複数のワークシート間で系列を比較したい場合、複数のデータシリーズを持つ集約された縦棒チャートを作成することで効果的なビジュアル比較ができます。
この方法は手動での選択が必要ですが、簡単で複雑な数式やマクロを使用する必要はありません。ワークシートのレイアウトが同一で、元のシートから直接チャートを作成する必要がある場合に最適です。
以下の手順に従ってチャートを設定してください:
1. クリックしてください 挿入 > 縦棒チャートの挿入 (または 縦棒) > 積み上げ縦棒)。これにより、ワークシートに空白のチャートが開きます。
2. 新しく挿入した空白のチャートを右クリックし、コンテキストメニューから データの選択 を選択します。
3. 「データソースの選択」ダイアログボックスで、「 追加 」ボタンをクリックして新しいデータシリーズの追加を開始します。
4. 「系列の編集」ダイアログボックスで、系列名を入力し、関連するワークシートに移動して必要なデータ範囲を指定して系列値を設定します。参照が正確であることを再確認してください。参照エラーがあると、チャートに誤ったデータが表示されるか、#REFのようなエラーが発生することがあります。完了したら「OK」をクリックして確認します。
ヒント: 別のワークシートから系列値ボックス内でデータを参照するには、対象のシートに切り替えて目的の範囲を選択します。Excelは自動的にワークシート名を参照に含めます。
5. チャートに含めたいワークシートごとに手順3と4を繰り返します。すべての系列を追加すると、それらがダイアログの 凡例項目(系列) にリストアップされます。
注意: 各シートで常に同じセル範囲構造を選択することを確認してください。不一致があると、チャートが誤解を招いたり、配置に問題が発生する可能性があります。
6. チャートを微調整するには、「データソースの選択」ウィンドウの「横軸(カテゴリ軸)ラベル」の下にある「編集」をクリックします。「軸ラベル」ダイアログで、データに正しく一致するラベルを選択します。完了したら「OK」をクリックします。
7. 「OK」をクリックして「データソースの選択」ダイアログを閉じます。これでチャートは複数のワークシートからのデータシリーズを組み合わせています。
8. (任意)視覚的な明瞭さを向上させるために、チャートを選択し、「デザイン」→「チャート要素の追加」→「凡例」に進んで(たとえば「 デザイン > チャート要素の追加 > 凡例」)、各系列を識別する凡例を表示するオプション(例: 凡例 → 下部)を選びます。
このアプローチは静的データセットに理想的です。ただし、ワークシートのレイアウトが異なる場合、またはシート間でデータ範囲が異なる場合は、これらの違いに対処する必要があります。データが頻繁に更新される場合や自動統合が必要な場合は、以下の他のソリューションを検討してより効率的に処理してください。
以下は、4つの異なるワークシートから取得したデータシリーズを視覚的に比較するクラスター縦棒チャートの結果です:
複数のワークシートから多くのデータポイントを抽出してチャートを作成する
複数のワークシートから個々のデータポイントを選んでチャートを作成したい場合(全体の系列ではなく)、まずターゲットとなるセルをサマリーシートに収集し、その後まとめてチャート化することができます。これは、「合計」値などの単一の指標を複数の部門シートから比較したい場合によく見られます。
Kutools for Excelの「ワークシート参照を自動的に増やす」機能は、複数のシートから特定の値を効率的に抽出して1つのサマリーシートにまとめることができ、特にソース値が時間とともに変化する可能性のある動的データに役立ちます。
以下は、データポイントを集めてチャートを作成する方法です:
1. シートタブバーで「 新規 」ボタンをクリックするか または
統合用の新しいワークシートを作成します。
2. この新しいワークシートで、他のシートからデータを抽出したいセルを選択します。次に「 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の設定でマクロの実行が許可されていることを確認してください。
エラーが発生した場合は、ワークシート名、指定されたセル参照を再確認し、保護または非表示のワークシートがないか確認してください。
関連記事:
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
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、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得