生産計画表のExcel更新、毎月2〜3時間かけていませんか。
コードが書けなくても、ChatGPTがあれば今日から自動化が可能です。
無料です。
私の業界は計画を確立するのが難しい業界のためかなり変動的です。そのため毎日、昨日と計画が変わっていないか基幹システムからCSV出力して差分を洗い出していました。
私は製造業の生産管理を7年担当し、Python独学でこの月次更新を自動化しました。20以上のラインを集計するのに毎日1時間半かかっていた作業が、Pythonで実行すると15分で終わるようになりました。エンジニアではありませんでしたが、ChatGPTがあればコードを一から書く必要はありませんでした。いまでは改良版としてWebアプリ開発し、共有化も実現できました。
この記事では、生産計画表のExcel更新をPythonで自動化する方法を書きます。
実際に使ったChatGPTへのプロンプト例と動くコードを一緒に紹介します。読み終えたとき、「これなら自分でもできそう」と思えるはずです。
この記事でできること・できないこと
読み始める前に、向いている人と向かない人を整理しておきます。
向いている人
- 毎月・毎週、生産計画表をExcelで手作業更新している
- 複数のラインや品番の数字を集めて転記する作業がある
- 計画vs実績の差異を手で計算している
- PythonやChatGPTを使い始めているか、使ってみたい
向かない人
- 生産計画の「最適化」をしたい
- 既製の生産管理システムを導入したい
- 完全に自動化してノータッチにしたい
生産計画表のどこをPythonで自動化できるか
生産計画の更新作業のうち、Pythonで楽になるのは次の3つです。
- 複数ファイルから数字を集める集計作業
- 計画変更時の転記・修正作業
- 計画と実績の差異を計算して色付け
それぞれ見ていきましょう。
①複数ファイルから数字を集める集計作業
各ライン・各部門が別々のExcelで計画数を入力しているケースです。それをひとつひとつ開いて転記するのが、一番時間がかかる作業ではないでしょうか。
Pythonのpandasを使えば、フォルダ内のExcelを自動で読み込んで一覧化できます。ファイルが10個でも100個でも処理時間はほとんど変わりません。私が使っていたときは、10ファイルの集計が3秒以内で完了していました。
②計画変更時の転記・修正作業
計画変更は突発的に発生します。「A品番の今週分を50個増やして」という指示が来るたびに、複数のシートを開いて修正して確認する。この作業もPythonで置き換えられます。
ChatGPTにこう渡すと、変更指示を受けてシートを自動更新するコードが出てきます。
「C:\生産計画フォルダにあるExcelの『週次計画』シートで、品番列が『A品番』かつ日付列が『2026-04-07』の行の計画数を50に変更するPythonコードを書いてください。ライブラリはopenpyxlを使ってください。」
列名と値を自分の環境に合わせて変えるだけで使えます。
③計画と実績の差異を計算して色付け
月末の差異分析です。計画数と実績数を並べて、乖離が大きいセルを赤くする作業を毎月手でやっていませんか。
openpyxlを使えば、差異の計算とセルの色付けをコードで一括処理できます。「差異が±10%を超えたら赤」という条件も、ChatGPTに仕様を渡すだけでコードに変換してもらえます。
ChatGPTを使った自動化の手順
必要なのはコードを書く力ではなく、「自分の業務を仕様として言語化する力」です。製造業の現場担当者が一番得意なのはまさにこれです。どのファイルの、どの列を、どう処理したいか。それが言葉にできれば、ChatGPTが動くコードに変換してくれます。
必要な環境
以下を準備しておくと動かせます。
- Python(Windows PCへのインストール方法はこちらの記事で解説しています)
- pandas(Excelの集計用)
- openpyxl(ExcelファイルのRead/Write用)
インストールはターミナルで以下を実行するだけです。
pip install pandas openpyxl
ChatGPTへの仕様の渡し方
ChatGPTに「コードを書いてください」と言うだけでは、使えるコードは出てきません。「自分の業務の仕様」を具体的に渡すのがコツです。
実際にこう渡すと動くコードが出てきます。
「C:\生産計画フォルダにある複数のExcelファイルを読み込んで、『品番』列と『計画数』列を集計し、品番ごとに合計した一覧をExcelとして出力するPythonコードを書いてください。ライブラリはpandasとopenpyxlを使ってください。」
ポイントは「フォルダパス」「列名」「出力形式」を具体的に書くことです。これだけ伝えると、ChatGPTは動くコードを1〜2分で出してくれます。
動くコードを受け取ってから試すまで
ChatGPTが出したコードをそのままコピーして、テキストエディタに貼り付け、.py拡張子で保存します。その後、ターミナルで実行するだけです。
最初は小さなテストファイルで動かして確認するのをおすすめします。本番ファイルで試す前に、5行だけのテストデータで動作を確認する。
この習慣だけで大きな失敗は防げます。
実際のコード例(最小版)
以下は「フォルダ内の複数Excelを読み込んで品番別に集計する」最小コードです。ChatGPTで出てくるコードとほぼ同じ形になります。
複数Excelから集計するコード
import pandas as pd
import glob
# フォルダ内のExcelファイルを全て取得する
files = glob.glob(r"C:\生産計画フォルダ\*.xlsx")
df_list = []
for f in files:
df = pd.read_excel(f)
df_list.append(df)
# 全ファイルのデータをひとつにまとめる
all_data = pd.concat(df_list, ignore_index=True)
# 品番ごとに集計
result = all_data.groupby("品番")["計画数"].sum().reset_index()
# Excelとして出力
result.to_excel("集計結果.xlsx", index=False)
print("完了しました")
変更が必要な部分は2か所です。フォルダのパスと、列名(「品番」「計画数」の部分を実際の列名に変える)。それだけで自分の業務に使えます。
差異計算・色付けのコード
①で出力した「集計結果.xlsx」を使って、計画と実績の差異を計算・色付けします。
import openpyxl
from openpyxl.styles import PatternFill
wb = openpyxl.load_workbook("集計結果.xlsx")
ws = wb.active
red_fill = PatternFill(start_color="FF9999", end_color="FF9999", fill_type="solid")
for row in ws.iter_rows(min_row=2): # 2行目以降(1行目はヘッダー)
keikaku = row[1].value # 計画数の列
jisseki = row[2].value # 実績数の列
# 計画数と実績数が両方ある場合のみ処理(0除算を防ぐ)
if keikaku and jisseki and keikaku != 0:
diff_rate = abs(keikaku - jisseki) / keikaku
if diff_rate > 0.1: # 10%以上の差異で赤くする
for cell in row:
cell.fill = red_fill
wb.save("差異分析.xlsx")
print("色付け完了")
「10%以上の差異」という条件は 0.1 の部分を変えれば調整できます。これも仕様としてChatGPTに渡せば、自分の業務に合わせたコードを出してもらえます。
よくあるつまずきポイント
試してみると、最初は以下の3つでつまずくことが多いです。
①ファイルが開けないエラー
Excelファイルを開いたままコードを実行すると「ファイルが使用中」というエラーが出ます。コードを実行する前に、対象のExcelを全部閉じておくのが一番早い解決方法です。
②列名が合わない
コード内の列名(「品番」「計画数」など)が、実際のExcelの列名と一字一句一致していないとエラーになります。スペースや全角・半角の違いが原因のことが多いです。実際のExcelを開いてヘッダーをコピーして使うのが確実です。
③フォルダパスのエラー
Windows環境では、パスの区切り文字を r"C:\フォルダ名" の形(先頭にrをつける)で書くとエラーが出にくくなります。
次のステップ
生産計画の集計が自動化できたら、周辺業務も同じ考え方で置き換えられます。
在庫管理と日報集計が特に相性がよく、生産計画→在庫管理→日報集計の順で自動化を進めると、月末の集計業務がまとめて楽になります。
- 在庫管理をPythonで自動化する方法(欠品ゼロを実現した実装例と発注アラートの実装)
- 製造日報をPythonで自動集計する方法(日報データの集計を10分以内に終わらせるコード)
- 製造業でPythonを使って自動化する方法・5場面まとめ(全体像を把握したい方向け)
まとめ
生産計画のExcel自動化でできることを3つ紹介しました。
- 複数ファイルから数字を集める集計作業
- 計画変更時の転記・修正作業
- 計画と実績の差異計算・色付け
コードを書く必要はありません。ChatGPTに「自分の業務の仕様」を具体的に渡せば、動くコードが出てきます。製造業の現場担当者が一番得意なのは「業務を言葉で説明すること」なので、その力がそのまま使えます。
月次更新に毎回2〜3時間かかっているなら、まず①の集計コードだけ動かしてみてください。ファイルが自動でひとつにまとまる瞬間を一度見ると、「次はここも」という感覚が自然と生まれます。
実務で使いやすい形にしたテンプレートコード(複数ライン対応・エラー処理込み)は、別でまとめる予定です。
製造業のExcel自動化全般については、製造業のExcel自動化の方法と注意点でまとめています。生産計画以外の帳票・日報・在庫管理の自動化事例も含めて確認できます。