Excelで売上やアクセス数などを管理していると、データを追加するたびにグラフの範囲を変更する作業が必要になり、手間に感じることがあります。
関数とテーブル機能を組み合わせれば、元データの入力や追加に合わせて集計値とグラフを自動更新できます。
本記事では、1行目に見出しがある表を例に、関数で集計した結果をグラフに反映させる実践的な方法を説明します。
自動更新グラフを作るポイント
・元データをExcelテーブルに変換する
・SUMIFS関数やCOUNTIFS関数で集計表を作る
・集計表を元にグラフを挿入する
・追加データをテーブルの最終行へ入力する
手入力でグラフの数値を直すのではなく、データ入力から集計、可視化までをつなげる設計が重要です。
エクセルの関数でグラフを自動更新する基本手順
| 日付 | 商品 | 売上金額 |
|---|---|---|
| 2026/9/1 | 商品A | 12000 |
| 2026/9/2 | 商品B | 8500 |
| 2026/9/3 | 商品A | 15000 |
それではまず、データを追加してもグラフが追従する基本の作り方について解説していきます。
元データをExcelテーブルへ変換する操作
自動更新の土台になるのは、通常のセル範囲ではなくExcelテーブルです。
表内の任意のセルを選択し、挿入タブのテーブルをクリックするか、CtrlキーとTキーを同時に押します。
表示されたダイアログで範囲を確認し、先頭行をテーブルの見出しとして使用するにチェックが入っていることを確認しましょう。

OKを選択すると、1行目の見出しにフィルターボタンが付き、表がテーブルとして管理されます。
テーブルでは最終行のすぐ下へデータを入力したときに対象範囲が自動拡張されるため、グラフ更新の漏れを減らせます。
集計用の見出しと数式を準備する操作
元データとは別の場所、または別シートに集計表を作成します。
たとえばE1セルに商品、F1セルに売上合計と入力し、E2セル以降へ商品A、商品Bなどの分類名を並べます。
F2セルには、商品Aの売上を合計するSUMIFS関数を入力します。
=SUMIFS(売上テーブル[売上金額],売上テーブル[商品],E2)
この式では、売上テーブルの売上金額列を合計範囲にし、商品列がE2セルと一致する行だけを条件にしています。
テーブル名と列見出しを使う構造化参照にすると、行番号を意識せずに数式を管理できます。

F2セル右下のフィルハンドルを下へドラッグすれば、E列の商品名に対応した集計式をコピーできます。
集計表からグラフを挿入する操作
商品名と売上合計を含む集計表を選択し、挿入タブから縦棒グラフなどの種類を選びます。
項目数の比較には集合縦棒グラフ、推移の確認には折れ線グラフが向いています。
グラフを作成した後は、タイトルを売上金額の集計など内容が分かる名称へ変更します。
元の売上テーブルに新しい明細を入力するとSUMIFS関数が再計算され、グラフは集計結果の変化を自動的に描き直します。
【操作のポイント】グラフは元データ表ではなく、目的別に整理した集計表を選択して作成すると、見やすさと保守性を両立できます。
SUMIFS関数による条件別集計グラフ
| 商品 | 売上合計 | グラフ表示 |
|---|---|---|
| 商品A | 27000 | ■■■■■■■■ |
| 商品B | 8500 | ■■■ |
続いては、SUMIFS関数を使って複数条件のデータを集計し、グラフへ反映する方法を確認していきます。
SUMIFS関数の構文と参照先
SUMIFS関数は、条件に合う数値だけを合計する関数です。
=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2)
合計範囲には売上金額や数量など、計算したい数値の列を指定します。
条件範囲と条件はセットで指定し、商品名、担当者、年月などの絞り込み条件を追加できます。
条件範囲と合計範囲は同じ行数でそろえることが、正しい集計結果を得る基本です。
テーブル形式にしておけば、新しいレコードが増えても参照範囲が広がるため、数式を書き換える必要がありません。

月別売上を集計する数式

日付別の明細データから月別売上を出す場合は、開始日以上かつ翌月の開始日未満という2条件を設定すると安定します。
たとえばE2セルに2026/9/1を入力し、F2セルに次の数式を入力します。
=SUMIFS(売上テーブル[売上金額],売上テーブル[日付],”>=”&E2,売上テーブル[日付],”<“&EDATE(E2,1))
EDATE関数は指定した日付から指定月数後の日付を返す関数です。
この式なら9月なら9月1日から10月1日の直前までを集計でき、月の日数が異なっても式を修正せず使えます。
表示形式をyyyy年m月に設定すると、集計表とグラフの横軸も読みやすくなります。
グラフのデータ範囲を確認する操作
作成済みのグラフをクリックすると、グラフデザインタブが表示されます。
データの選択を開くと、横軸ラベルが月の列、系列の値が売上合計の列を参照しているか確認できます。
集計表がテーブルでない場合は、データの追加後にグラフの範囲が足りなくなることがあります。
グラフが更新されないときは、最初に数式の計算結果、その次にグラフの参照範囲を確認しましょう。
【操作のポイント】月末日を直接条件にすると月ごとの日数でミスが起きやすいため、翌月1日未満の条件を使うと安全です。
テーブルと数式を使った自動更新の設定
| 入力内容 | テーブルの動き | グラフの動き |
|---|---|---|
| 最終行の下に明細を追加 | 行を自動拡張 | 集計値を反映 |
| 金額を修正 | 値を更新 | 棒や線を再描画 |
続いては、入力データの増減をグラフへ確実に連動させるテーブルと数式の設定を確認していきます。
テーブル名を分かりやすく変更する操作
テーブル内をクリックし、テーブルデザインタブを開くと、左上にテーブル名の入力欄があります。
初期状態ではTable1のような名前ですが、売上テーブルや案件一覧など用途に合う名前に変更します。
名前には空白を使えないため、必要なら売上_2026のようにアンダースコアで区切ります。
明確なテーブル名を付けると、数式中の参照先が理解しやすくなり、他の人がファイルを引き継ぐときにも計算の意味を追いやすくなります。
オートフィルで数式を展開する操作
集計表の最初の数式を入力したら、セル右下の小さな四角をダブルクリックするか、必要な行まで下へドラッグします。
相対参照のE2はE3、E4へ変化するため、各行の分類に合わせた集計が行われます。
テーブル内に計算列を作る場合は、1行目の数式を入力するだけで列全体に式がコピーされることがあります。
コピー後のセルを一つ選び、参照セルが意図どおり変わっているかを数式バーで確認してください。
商品別の売上を計算する基本式
=SUMIFS(売上テーブル[売上金額],売上テーブル[商品],E2)
計算方法を自動にする確認
数式や元データを修正してもグラフが変わらない場合、ブックの計算方法が手動になっている可能性があります。
数式タブから計算方法の設定を開き、自動が選ばれているか確認します。
手動計算ではF9キーによる再計算まで集計値が更新されないため、日常的な入力作業では自動計算が便利です。
ただし非常に大きなデータを扱うブックでは、計算負荷とのバランスも検討しましょう。
【操作のポイント】テーブル名、列見出し、集計表の項目名を途中で不用意に変えると数式やグラフの意味が分かりにくくなるため、運用開始前に命名ルールを決めます。
COUNTIFS関数による件数グラフ
| 担当者 | 案件件数 | 状態 |
|---|---|---|
| 田中 | 8 | 完了 |
| 佐藤 | 5 | 対応中 |
続いては、金額ではなく登録件数や処理件数をグラフ化するCOUNTIFS関数について確認していきます。
COUNTIFS関数の基本構造
COUNTIFS関数は、複数の条件を満たすセルの件数を数える関数です。
=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)
たとえば案件テーブルに担当者列と状態列があるなら、担当者が田中で状態が完了の件数を集計できます。
数値の合計ではなく、作業量、顧客数、問い合わせ数などのボリュームを可視化したい場面で役立ちます。
条件範囲には、日付、文字列、数値のいずれも指定できます。
担当者別の完了件数を出す数式
E列に担当者名、F列に完了件数という見出しを用意し、E2に田中と入力したケースを考えます。
F2セルには次の式を入力します。
=COUNTIFS(案件テーブル[担当者],E2,案件テーブル[状態],”完了”)
担当者列がE2の値と一致し、さらに状態列が完了である行だけが数えられます。
状態名は元データと完全に一致させる必要があるため、入力規則のリストを使って表記ゆれを防ぐ方法も有効です。
この集計表から横棒グラフを作れば、誰の完了件数が多いかをひと目で把握できます。
円グラフと棒グラフの使い分け
構成比を見せたいときは円グラフ、担当者や月ごとの大小を比較したいときは棒グラフが適しています。
項目が多い場合に円グラフを使うとラベルが重なりやすく、違いを読み取りにくくなるかもしれません。
時系列の変化は折れ線、項目比較は棒、内訳の割合は円という基本を意識すると、伝わるグラフになります。
【操作のポイント】件数を集計する列に空白や重複があっても、COUNTIFS関数は条件を満たす行単位で数えるため、集計対象の定義を先に決めておきましょう。
動的配列関数による集計表の自動拡張
| 商品名一覧 | 売上合計 |
|---|---|
| 商品A | 27000 |
| 商品B | 8500 |
| 商品C | 入力後に追加 |
続いては、Microsoft 365などで利用できる動的配列関数を使い、項目一覧そのものを自動で増やす方法を確認していきます。
UNIQUE関数による分類一覧
商品名の種類が増減する表では、集計表に商品名を手入力すると新商品を追加し忘れることがあります。
この場合はUNIQUE関数で重複のない商品名一覧を作成できます。
=SORT(UNIQUE(売上テーブル[商品]))
UNIQUE関数は同じ商品名を一つにまとめ、SORT関数は結果を並べ替えます。
結果は数式を入れたセルから下方向へ自動展開され、これをスピルと呼びます。
新しい商品名が元データへ追加されると、一覧も自動的に増えるため、分類漏れの予防につながります。
スピル範囲を参照する集計式
UNIQUE関数の結果がE2セルから展開される場合、E2の後ろにシャープ記号を付けたE2#でスピル範囲全体を参照できます。
商品ごとの合計を一括計算する方法として、SUMIFS関数の条件にE2#を指定する考え方があります。
=SUMIFS(売上テーブル[売上金額],売上テーブル[商品],E2#)
対応するExcel環境では、商品一覧と同じ行数の結果がF2セルから自動的に表示されます。
利用中のExcelバージョンによって動的配列関数が使えない場合は、通常の集計表とフィルハンドルで対応できます。
グラフ更新時の空白セル対策
スピル範囲の下に別の値や文字があると、展開できずにスピルエラーが表示されます。
集計表の周囲には余白を確保し、数式が増える可能性がある範囲を空けておきましょう。
また、グラフに不要な空白項目が表示されるときは、グラフのデータ選択画面で参照先を確認します。
データ入力の表、計算用の集計表、見せるためのグラフを分けると、更新時のトラブルを見つけやすくなります。
【操作のポイント】動的配列関数は便利ですが、共有先のExcelバージョンによって利用可否が変わるため、共同利用するブックでは事前確認が必要です。
グラフの見やすさを高める設定
| 確認項目 | 設定例 | 期待できる効果 |
|---|---|---|
| グラフタイトル | 2026年9月 商品別売上 | 内容を即座に理解 |
| データラベル | 値を外側に表示 | 正確な数値を確認 |
続いては、更新されるグラフを報告資料や日常業務で読みやすく使うための設定を確認していきます。
グラフタイトルと軸ラベル
グラフタイトルには、何を、いつの時点で、どの単位で示しているかを含めます。
単に売上と書くよりも、2026年9月の商品別売上金額のように書くと誤解を防げます。
縦軸に金額や件数の単位を付けると、閲覧者が数値の意味を判断しやすくなります。
タイトルはグラフを読む前の案内板であり、更新が自動でも省略しないほうがよい要素です。
データラベルと凡例の整理
棒グラフの上に数値を表示したい場合は、グラフ要素からデータラベルを追加します。
系列が一つだけなら凡例はなくても内容が伝わるため、削除すると表示領域を広く使えます。
複数系列を比較する場合は、色だけに頼らず系列名も分かりやすく整えましょう。
小数点以下の桁数や桁区切りも、軸の書式設定で調整できます。
ピボットグラフとの使い分け
分析する切り口を頻繁に変えたい場合は、ピボットテーブルとピボットグラフも選択肢になります。
一方で、定型の集計結果を毎回同じ形で表示したい場合は、SUMIFS関数と通常グラフの組み合わせが分かりやすいでしょう。
関数グラフは決まった帳票向け、ピボットグラフは探索的な集計向けという違いを意識すると選びやすくなります。
【操作のポイント】装飾を増やしすぎるより、目的に必要な数値、凡例、軸、タイトルを整えるほうが、更新後も読みやすいグラフになります。
まとめ エクセルの関数でグラフを作成しデータを自動更新する方法
エクセルの関数でグラフを自動更新するには、まず元データをExcelテーブルへ変換することが基本です。
テーブルを参照するSUMIFS関数やCOUNTIFS関数で集計表を作り、その集計表を元にグラフを挿入すれば、入力内容の変更をグラフへ反映できます。
元データを直接グラフ化するのではなく、目的に合った集計表を間に置くことで、売上、件数、月別推移など多様な分析に対応できます。
商品や担当者などの分類が増える運用では、UNIQUE関数やSORT関数を使うと一覧の更新も自動化しやすくなります。
グラフが更新されないと感じたときは、元データがテーブルに含まれているか、数式の結果が変化しているか、計算方法が自動かを順番に確認しましょう。
日々の入力作業を正しく集計とグラフへつなげ、数字の変化をすぐに判断できるExcelファイルへ育てていきましょう。