第 05 章「事務処理を変える ── Officeから離れる現実的な道筋」の主張を裏付ける。
章のどの主張に対応するか
事務職の月次報告書作成: Word + Excel + PowerPoint で 3 時間 → Markdown + CSV + Marp で 30 分。6 分の 1。
(章本文「実例: 数字で見る」より)
実測 ── スクリプトのビルド時間は 約 8 秒(Markdown 生成 7 ms + HTML 6 秒
- PDF 2 秒)。来月以降、データ CSV を差し替えて
make allだけで完了する。
やること
- 入力:
data/sales.csv(売上 30 件)+data/expenses.csv(経費 13 件) - 生成:
build_report.pyが pandas で集計して、表とコメントを埋め込んだ Marp フォーマット の Markdown 報告書 (out/report.md) を作る - 配布: pandoc が同じ Markdown から:
- HTML 版(社内 Wiki / メール添付用)
- PDF 版(印刷 / 取引先送付用、A4 2 ページ)
- スライド:
report.mdに Marp フロントマターが付いているので、marp report.md -o slides.pdfで スライド版にもなる(別途 marp-cli)
make all 一発。
構成
example-1/
├── README.md
├── build_report.py ── CSV → Markdown 報告書(pandas + str.format)
├── Makefile ── 全工程
├── results.md
├── data/
│ ├── sales.csv ── 入力(売上)
│ └── expenses.csv ── 入力(経費)
└── out/
├── report.md ── 生成された Markdown 報告書(Marp 互換)
├── report.html ── HTML 配布版(TOC 付き)
└── report.pdf ── PDF 配布版(A4 2 ページ)
実行
pip install pandas weasyprint
sudo apt install pandoc fonts-noto-cjk
make clean && make all
なぜこれが「実例」になるのか
月次報告は事務職の月初定型業務。Word + Excel + PowerPoint だと:
- Excel で売上・経費を集計(30 分)
- 表と数字を Word にコピペ(20 分、書式調整で逆に時間が増える)
- グラフを Excel で作って Word に画像で貼る(20 分)
- 同じ内容を PowerPoint に書き直す(60 分)
- 数字が間違っていて 4 つのファイルを直す(30 分)
合計 3 時間。これが毎月 12 回。1 年で 36 時間。
Markdown + Python だと:
- CSV を差し替えて
make all - 完了
1 分かからない。スクリプトは初回だけ Claude に書いてもらえばいい。
表の書式を直したいときも、build_report.py の Markdown テンプレを 1 行
直せば 12 ヶ月分にも遡及する。
しかも同じソースが HTML / PDF / Marp スライド に展開される。「Word の 表を PowerPoint に貼り直す」という事務作業そのものが消える。
これが章で言う「事務処理は AI でもやれる簡単な仕事になる」の最小実演。
計測結果 — 第 05 章 example-1
実行環境: Linux 6.18 / pandas 3.0 / pandoc 3.1 / WeasyPrint 68.1
ビルド時間
| 工程 | コマンド | 実測 |
|---|---|---|
| CSV → Markdown 報告書 | python3 build_report.py |
7.1 ms |
| Markdown → HTML | pandoc report.md -o report.html |
6.1 s |
| Markdown → PDF | weasyprint(html) → report.pdf |
2.0 s |
| 合計(make all) | 約 8 秒 |
(初回 pandoc が遅いのは libtemplate の起動コスト。2 回目以降は数百 ms。)
章本文の「Office で 3 時間」と比べると 約 1,300 倍。
出力サイズ
| ファイル | サイズ |
|---|---|
data/sales.csv |
836 B |
data/expenses.csv |
350 B |
build_report.py |
約 3.7 KB |
out/report.md |
1,687 B(91 行) |
out/report.html |
7,500 B |
out/report.pdf |
約 49 KB(A4 2 ページ) |
入力 CSV(1.2 KB) → 配布物 PDF(49 KB)まで全部で 100 KB に満たない。 Excel の同等資料は典型的に数 MB。
生成された報告書(out/report.md)抜粋
---
marp: true
theme: default
paginate: true
---
# 2026 年 4 月度 月次報告
**期間: 2026-04** 会社: 株式会社 aiseed.dev
---
## 1. 概要
| 項目 | 金額 |
|------|------|
| 売上 | **579,800 円** |
| 経費 | 290,600 円 |
| 利益 | **289,200 円** |
| 利益率 | 49.9% |
---
## 2. 売上 — 地域別
| 地域 | 売上 |
|------|------|
| 東京 | 230,850 円 |
| 大阪 | 205,700 円 |
| 名古屋 | 143,250 円 |
```mermaid
pie title 地域別売上
"東京" : 230850
"大阪" : 205700
"名古屋" : 143250
...
GitHub・Notion・VS Code はこのままレンダリング。Marp なら `marp report.md`
でスライド PDF に。pandoc なら HTML / DOCX / PDF / EPUB ── 何にでも展開できる。
## 来月の運用
```bash
# 1. 新しい CSV を data/ に入れる
cp ~/Downloads/2026-05-sales.csv data/sales.csv
# 2. 走らせる
make all
# 3. PDF が out/ に出る。終わり。
3 時間が 30 秒になる(初回は 8 秒、Python 起動コミ)。
「組織との接点」での扱い
組織が Word / Excel / PowerPoint を要求してくるなら、出口だけ pandoc で 変換すればいい:
pandoc out/report.md -o report.docx # Word に
pandoc out/report.md -o report.pptx -t pptx # PowerPoint に(可能)
libreoffice --convert-to xlsx data/sales.csv # CSV → Excel
中身は Markdown / CSV のまま。入口と出口だけ変換層。
再現手順
pip install pandas weasyprint
sudo apt install pandoc fonts-noto-cjk
make clean && make all