Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel円グラフ生成

Python Python
スポンサーリンク

Excel円グラフ生成は「割合・構成比を一瞬で理解できる資料を自動で作る」ための最強スキル

円グラフは “全体に対する割合” を見せるのに最適 です。
実務でも次のような場面で非常に多く使われます。

  • 売上構成比(商品別・店舗別)
  • アクセス割合(デバイス別・地域別)
  • コスト構成比
  • アンケート結果の割合

Python(openpyxl)を使えば、Excelに円グラフを自動生成できます。
初心者でも理解しやすいように、基本から実務テンプレまで丁寧に解説します。


円グラフ作成の基本構造(最重要ポイント)

円グラフは必ず3ステップで作る

  1. Reference:グラフに使うセル範囲を指定
  2. PieChart:円グラフ本体を作成
  3. add_data / set_categories:データとラベルを設定し、シートに配置

この3つを理解すれば、どんな円グラフでも作れます。


基本:円グラフを作る最小コード

データ → 円グラフを作成するシンプルな例

from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference

wb = Workbook()
ws = wb.active

# データ作成
data = [
    ["項目", "割合"],
    ["A", 40],
    ["B", 25],
    ["C", 20],
    ["D", 15],
]
for row in data:
    ws.append(row)

# ラベル(A2〜A5)
labels = Reference(ws, min_col=1, min_row=2, max_row=5)

# 値(B2〜B5)
values = Reference(ws, min_col=2, min_row=2, max_row=5)

# グラフ作成
chart = PieChart()
chart.title = "サンプル円グラフ"

# データ追加
chart.add_data(values, titles_from_data=False)
chart.set_categories(labels)

# シートに配置
ws.add_chart(chart, "D2")

wb.save("pie_chart.xlsx")
Python

深掘りポイント

  • 円グラフは set_categories(labels) が必須
  • add_data(values) だけではラベルが表示されない
  • 割合を見せる資料で最も使われる

パーセント表示の円グラフ(見やすさUP)

円グラフに割合(%)を表示する

chart.dataLabels = True
Python

深掘りポイント

  • dataLabels=True で円グラフに数値が表示される
  • 割合を見せる資料ではほぼ必須

3D円グラフ(見た目を強調したい場合)

3D円グラフを作る

from openpyxl.chart import PieChart3D

chart = PieChart3D()
chart.title = "3D円グラフ"
chart.add_data(values, titles_from_data=False)
chart.set_categories(labels)
ws.add_chart(chart, "D15")
Python

深掘りポイント

  • 3Dは見た目が華やか
  • プレゼン資料でよく使われる

実務テンプレ①:商品別売上構成比の円グラフ

A列:商品名、B列:売上 の円グラフを作る

from openpyxl import load_workbook
from openpyxl.chart import PieChart, Reference

wb = load_workbook("sales.xlsx")
ws = wb["売上"]

labels = Reference(ws, min_col=1, min_row=2, max_row=20)
values = Reference(ws, min_col=2, min_row=2, max_row=20)

chart = PieChart()
chart.title = "商品別売上構成比"

chart.add_data(values, titles_from_data=False)
chart.set_categories(labels)
chart.dataLabels = True

ws.add_chart(chart, "D2")

wb.save("sales_pie_report.xlsx")
Python

ポイント

  • 売上構成比は実務で最も多い円グラフ
  • dataLabels=True で割合が表示されて見やすい

実務テンプレ②:アンケート結果の割合を円グラフ化

A列:回答項目、B列:人数

chart = PieChart()
chart.title = "アンケート結果"

values = Reference(ws, min_col=2, min_row=2, max_row=10)
labels = Reference(ws, min_col=1, min_row=2, max_row=10)

chart.add_data(values)
chart.set_categories(labels)
chart.dataLabels = True

ws.add_chart(chart, "F2")
Python

ポイント

  • アンケート集計で非常に使われる
  • 円グラフは「割合」を見せるのに最適

実務テンプレ③:グラフ専用シートに円グラフを出力

chart_sheet = wb.create_chartsheet()
chart_sheet.add_chart(chart)

wb.save("pie_chart_only.xlsx")
Python

ポイント

  • グラフだけを大きく表示したいときに便利
  • プレゼン資料向け

Excel円グラフ生成を業務で設計するときの視点

  • Reference → Chart → add_data の3ステップが最重要
  • 円グラフは「割合・構成比」を見せるのに最適
  • ラベル(項目名)を set_categories で必ず設定
  • dataLabels=True で見やすさが大幅UP
  • 3D円グラフはプレゼン資料向け
  • データ更新だけでグラフが自動反映される

タイトルとURLをコピーしました