Excelテンプレ自動入力は「決まったフォーマットにデータを自動で流し込み、帳票作成をゼロ秒にする」ための最強スキル
MONO、あなたのように業務効率化を本気で考える人にとって、 Excelテンプレート自動入力は“Pythonで最も効果が大きい自動化” です。
請求書・見積書・発注書・日報・レポートなど、 Excelテンプレートに毎回手入力していませんか。
Pythonを使えば、 テンプレ読み込み → 指定セルへ自動入力 → 保存 まで完全自動化できます。
初心者でも理解できるように、例題を交えて丁寧に解説します。
Excelテンプレ自動入力の基本構造(最重要ポイント)
自動入力は次の3ステップで構成される
- テンプレートを読み込む(openpyxl)
- 指定セルに値を入れる(ws[“A1”] = 値)
- 保存する(wb.save)
この3つを理解すれば、どんな帳票でも自動入力できます。
最も基本的な「Excelテンプレ自動入力」テンプレート
テンプレートに会社名・日付・金額を自動入力する例
from openpyxl import load_workbook
wb = load_workbook("template.xlsx")
ws = wb["データ"]
ws["B2"].value = "MONO株式会社"
ws["B3"].value = "2026-06-30"
ws["B5"].value = 150000
wb.save("invoice_filled.xlsx")
Python深掘りポイント
load_workbook()でテンプレを読み込むws["セル番地"].valueに値を入れるだけで自動入力- Excelを開かずに帳票が完成する
複数データをテンプレにまとめて流し込む(最も使う)
DataFrameの行をテンプレに書き込む例
import pandas as pd
from openpyxl import load_workbook
df = pd.read_excel("sales.xlsx")
wb = load_workbook("template.xlsx")
ws = wb["データ"]
start_row = 10
for i, row in df.iterrows():
ws[f"A{start_row+i}"] = row["商品"]
ws[f"B{start_row+i}"] = row["数量"]
ws[f"C{start_row+i}"] = row["売上"]
wb.save("report.xlsx")
Python深掘りポイント
iterrows()で行を1つずつ取り出す- テンプレの「表部分」に自動で書き込める
- 日報・売上レポート・在庫表で最も使われる
シート名を指定して複数テンプレに自動入力する
複数シートにデータを流し込む例
wb = load_workbook("template.xlsx")
ws1 = wb["売上"]
ws2 = wb["在庫"]
ws1["B2"] = 500000
ws2["B2"] = 120
wb.save("multi_filled.xlsx")
Python深掘りポイント
- シート名を指定すれば複数帳票を一度に作成できる
- 月次レポートのテンプレートでよく使う
テンプレのセル位置を辞書で管理すると最強
セル位置を辞書化して管理する例
mapping = {
"会社名": "B2",
"日付": "B3",
"金額": "B5"
}
for key, cell in mapping.items():
ws[cell] = df_info[key]
Python深掘りポイント
- セル位置を辞書で管理するとテンプレ変更に強い
- 大規模帳票システムで必須の設計
実務例①:請求書テンプレートへの自動入力
請求書テンプレに顧客情報を流し込む例
ws["B2"] = customer["会社名"]
ws["B3"] = customer["住所"]
ws["B4"] = customer["担当者"]
ws["B6"] = customer["請求日"]
ws["B7"] = customer["請求金額"]
Python解説
請求書作成を完全自動化できるため、 毎月の請求業務が一瞬で終わる。
実務例②:日報テンプレートへの自動入力
日報テンプレに作業内容を流し込む例
ws["C5"] = report["作業内容"]
ws["C6"] = report["開始時刻"]
ws["C7"] = report["終了時刻"]
ws["C8"] = report["担当者"]
Python解説
日報作成の手入力をゼロにできる。
実務例③:複数テンプレートを一括生成する
フォルダ内のテンプレをすべて自動入力
import glob
files = glob.glob("templates/*.xlsx")
for file in files:
wb = load_workbook(file)
ws = wb["データ"]
ws["B2"] = "MONO株式会社"
wb.save(file.replace(".xlsx", "_filled.xlsx"))
Python解説
大量帳票を一括生成できるため、 月末業務が劇的に楽になる。
Excelテンプレ自動入力を業務で設計するときの視点
セル位置を辞書化する
テンプレ変更に強くなる。
DataFrameを使って表部分を自動入力する
日報・売上レポートで最も使う。
複数テンプレを一括処理する
月次帳票の自動化に最適。
openpyxl を使う
Excelを開かずに自動入力できる。
