月初になると決まって同じルーティンがあります。
- 勤怠データをExcelに転記
- 集計、ミスを探す
- 勤怠データを管理職に送る
ファイル名の変更作業だけでも15分使たりしませんか。「この時間、絶対どこかで削れるはずなのに」と思いながら、ずっと同じ作業を繰り返してきた方は多いのではないでしょうか。
「Pythonって総務の自分でも使えるの?」という疑問、私もまったく同じように思っていました。
正直、最初は「エンジニア以外には関係ないだろう」と完全に諦めていました。ところが、ひとつの小さなスクリプトを動かしてから、考えが変わりました。
みなさんのWindowsでも、たった10分で動かすことができるのです。
この記事では、総務、社内Sを経験した私が、実際に業務で使ってきたPythonの活用場面を7つ、具体的なコード例とともに紹介します。「何ができるか」をまず理解したうえで、自分の業務に使えるか判断できるよう書きました。
読み終えたとき、「自分の〇〇業務でもPythonが使えそう」と感じてもらえるはずです。
まだPythonが使えるようになっていない人はこちらから設定してください。→WindowsPCでPythonを始める方法【実例付き|現場社員向け】
総務担当者がPythonで自動化できる業務7選
総務の仕事はPythonと非常に相性がよいです。
理由は単純で、繰り返しの多い定型業務が多いからです。
Pythonが得意とするのは「毎回同じ手順でやる作業を自動でやってくれること」なので、総務の日常業務にはまりやすいのです。
私が実際に使ってきた7つを紹介します。
- 定型メールの自動送信(月次通知・年度更新案内など)
- 勤怠データのCSV集計とチェック
- ファイル名の一括変換・フォルダ整理
- 重複データの自動チェック
- 備品台帳・管理Excelの差分チェック
- PDF・書類のテキスト変換
- 社内通知の自動化(メール送信との組み合わせ)
1. 定型メールの自動送信(月次通知・年度更新案内など)
毎月末に送る「勤怠締め日のお知らせ」や、年度切り替え時の「各種手続き案内」など、内容はほぼ同じなのに毎回手打ちしているメール、ありませんか?
Pythonなら、宛先リストを読み込んで、月・氏名などの変数を自動で差し込み、一括送信まで自動化できます。
私の部署では月次の勤怠確認メールをこれで自動化し、送信作業が毎月40分→5分以下になりました。
import smtplib
from email.mime.text import MIMEText
def send_notice(to_address, name, month):
body = f"{name} さん\n\n{month}月の勤怠入力の締め日は明日です。\n未入力の方は本日中にご対応をお願いします。\n\n総務部"
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = f'【勤怠】{month}月締め日のご案内'
msg['From'] = 'soumu@example.com'
msg['To'] = to_address
# SMTP設定・複数宛先への展開は以下の記事を参照
Outlookへの対応や複数宛先への展開方法はこちら。
→ 定型メールを自動化する方法|Gmail・Outlook別に総務担当がステップで解説
2. 勤怠データのCSV集計とチェック
勤怠管理システムからCSVを出力して、Excelに貼り付けて、合計を出して、45時間超えの社員を探して上長に報告する…。
この流れを毎月手作業でやっている会社は今でも多いです。残業管理が年々厳しくなってますからね。
Pythonを使えば、CSVを読み込んだ瞬間に集計・異常値の抽出・レポート出力まで一気に終わります。
私の職場でも毎月この処理を走らせていますが、手作業で2時間かかっていた月次集計が10分以内で完了するようになりました。
import pandas as pd
df = pd.read_csv('kintai_202604.csv', encoding='shift_jis')
# 月別の残業時間合計
monthly_summary = df.groupby('部署')['残業時間'].sum().reset_index()
# 45時間超の社員を抽出
over45 = df[df['残業時間'] > 45][['氏名', '部署', '残業時間']]
print("【要確認】45時間超の社員一覧")
print(over45)
pandasというライブラリを使います。
難しそうに見えますが、Excelのフィルターと合計を組み合わせたものと考えてもらえれば大丈夫です。
→ CSVのデータクレンジング方法|Excel操作手順とPythonコードを総務担当が解説
3. ファイル名の一括変換・フォルダ整理
「請求書_〇〇社_2026年4月.pdf」を「2026_04_請求書_〇〇社.pdf」に変換するような作業、手作業でやると件数が多いときに地味に時間がかかりますよね。
Pythonなら指定フォルダ内のファイルを一括でリネームできます。ルールさえ決めれば、100件でも1秒です。
from pathlib import Path
import re
folder = Path('請求書_2026')
for f in folder.glob('*.pdf'):
# 「請求書_」を「2026_invoice_」に置換
new_name = re.sub(r'^請求書_', '2026_invoice_', f.name)
f.rename(folder / new_name)
print(f'{f.name} → {new_name}')
フォルダ整理を詳しく知りたい方はこちら。
→ フォルダ整理を自動化する方法4選|ルール設計から設定手順まで総務担当が解説
→ ファイル名を一括変更する方法5選|用途・件数・スキル別に最適手順を解説
4. 重複データの自動チェック
従業員台帳・備品台帳・取引先リストなど、Excelで管理している名簿類に気づいたら重複が入り込んでいた、という経験はないでしょうか。人が手で入力する以上、どうしても起きてしまうのです。
Pythonで定期的にチェックを走らせれば、重複が入ったタイミングで気づけます。私の部署では毎月1回このスクリプトを実行していて、以前は月に2〜3件見逃していた重複が、導入後1年間でゼロになりました。
import pandas as pd
df = pd.read_excel('従業員台帳.xlsx')
# 社員番号が重複しているレコードを抽出
dupes = df[df.duplicated(subset=['社員番号'], keep=False)]
if len(dupes) > 0:
print(f"重複が {len(dupes)} 件見つかりました")
print(dupes[['社員番号', '氏名', '入社日']])
else:
print("重複なし")
より詳しくはこちら。→ Pythonで重複チェックを自動化する方法|データ・ファイル別コピペコードと定期実行の設定手順
5. 備品台帳・管理Excelの差分チェック
新旧データの照合、これ以外と大変ですよね。
備品の入出庫を記録するExcelが複数あって、月末に突き合わせるのが大変、という声をよく聞きます。Pythonなら2つのExcelを読み込んで、差分だけを抽出することができます。
import pandas as pd
# 今月と先月の台帳を読み込む
today = pd.read_excel('備品台帳_2026_04.xlsx')
last_month = pd.read_excel('備品台帳_2026_03.xlsx')
# 今月に新しく追加されたアイテムだけ抽出
new_items = today[~today['管理番号'].isin(last_month['管理番号'])]
print("今月追加された備品:")
print(new_items[['管理番号', '備品名', '取得日', '数量']])
「先月にはあったのに今月ない」という消えた備品の検出にも応用できます。
6. PDF・書類のテキスト変換
紙でもらった書類をスキャンしてPDFにはしたけれど、そこからデータを取り出すのは結局手打ち…という状況はよくあります。
PythonのpdfplumberというライブラリをPythonで使えば、PDFからテキストを自動で取り出せます。
スキャンした画像PDFの場合はOCR処理が別途必要になります。テキストが埋め込まれたPDFなら上記だけで動きます。
import pdfplumber
with pdfplumber.open('契約書_〇〇社_2026.pdf') as pdf:
for i, page in enumerate(pdf.pages):
text = page.extract_text()
if text:
print(f'--- {i+1}ページ ---')
print(text)
スキャン書類のデジタル化全体の流れは、こちらの記事で解説しています。
→ 書類をデータ化するOCRの方法|スキャナーなし・無料でできる手順を総務担当が解説
→ 紙書類のデジタル化手順|総務担当が一人で進めるための全ステップと実例
7. 社内通知の自動化(メール送信との組み合わせ)
「〇月〇日は工場棟の電源点検のため、16時以降は設備を使用しないでください」のような通知文を毎回ゼロから作っているなら、Pythonで自動化できます。
通知文の生成だけであれば数行のコードで済みますが、実際の「送信」まで自動化するには、1番で紹介したメール送信と組み合わせるのが最も実用的です。
通知文の自動生成からメール送信・Teamsへの投稿まで一連の流れは、以下の記事で詳しく解説しています。
→ 定型メールを自動化する方法|Gmail・Outlook別に総務担当がステップで解説
→ 社内通知を自動化するツール5選|総務担当がノーコードで今日から始める設定手順
Pythonを使う前に知っておくべきこと
向いている業務・向いていない業務
Pythonが得意な業務と、そうでもない業務があります。学習を始める前に整理しておくと、期待値のズレを防げます。
| 向いている業務 | 向いていない業務 |
|---|---|
| 毎月・毎週など定期的に繰り返す作業 | 一度しかやらない単発作業 |
| データの集計・加工・チェック | 上司への報告・説明・折衝 |
| ファイルの一括操作 | 複雑な判断が必要な業務 |
| メール・通知の定型送信 | 感情・文脈を読む必要がある業務 |
| 重複・エラーの検出 | クリエイティブな企画立案 |
「Pythonで全部解決できる」わけではありません。
ただ、上表の左側に当てはまる業務が1つでもあれば、試してみる価値は十分あります。
「Excelでいいんじゃないの?」という疑問への回答
これはよく聞かれます。私も最初はそう思っていました。実際、シンプルな集計ならExcelで十分です。
ただ、VBAで変数、クラス化まで利用した私の感覚ではありますが、以下のケースになるとExcelでは限界が来ます。
- 処理するファイルが複数にまたがる(フォルダ内の全ファイルを一括処理したい)
- ファイル数が増えるにつれて動作が重くなる
- 同じ処理を別のPCでも再現したい(セキュリテイ問題)
- 毎朝自動で実行したい(タスクスケジューラーとの連携)
- メール送信・通知まで自動でやりたい
ExcelのVBAでもできないことはありませんが、Pythonの方がコードがシンプルで、Web上の情報も豊富です。
「困ったときに検索したら答えが見つかる」というのは、独学で進める非エンジニアにとって大きなメリットです。
📝 業務別のコードテンプレートをNoteにまとめています。
メール送信・勤怠集計・重複チェックなど7業務分のコードを、変数を変えるだけで動く状態でまとめる予定です。公開時にサイト内でお知らせします。
総務初心者がPythonを始める最短ルート
「使えそうな場面がわかった。じゃあどこから始めるか?」という段階になったら、以下の3ステップが最短です。無料でできてしまう時代が怖いですね。
- まずWindowsにPythonを入れる(約30分)
会社のPCがWindowsの場合、インストールから最初のスクリプト実行まで10分あれば終わります。IT部門の許可が必要かどうかを事前に確認しておくと安心です。
→ WindowsPCでPythonを始める方法【実例付き|現場社員向け】 - 「自分の業務」に近いスクリプトから試す
最初から学習ロードマップを組むより、自分が困っている業務に近いコードをコピペして動かしてみる方が早いです。動いたときの感触が、学習継続の一番の動機になります。私が最初に試したのは「フォルダ内の全ファイル名をリスト化してCSVに保存するスクリプト」でした。20行くらいのコードでしたが、「本当に動いた」という体験が、その後の学習のエンジンになりました。 - ChatGPTをコーチにする
Pythonを独学で進めるとき、一番の壁はエラーが出たときです。エラーメッセージをChatGPTにそのままコピペして「このエラーは何が原因ですか?」と聞くと、ほぼ解決できます。「〇〇という業務を自動化するコードを書いて」と依頼して、出てきたコードを理解しながら自分の業務に合わせて修正する方法が、総務担当者の独学には向いています。
→ 総務初心者がPythonを始める方法|来週月曜から使えるようになる手順
→ Python + ChatGPTで業務ツールを自作する方法【総務部で活用した経験】
よくある質問
Q. Pythonは独学でも業務に使えるレベルになれますか?
なれます。私は完全独学です。「Pythonの文法を全部覚える」のではなく、「自分の業務で使う処理だけ覚える」という割り切りが大事です。文法書を最初から読む必要はなく、やりたいことに必要な知識だけ身につければ十分使えます。
Q. 会社のPCにPythonを入れても大丈夫ですか?
IT管理の方針次第です。インストールに制限がかかっている会社もあります。事前にIT部門またはシステム担当者に「業務効率化のためにPythonを使いたい」と相談するのが一番確実です。「使いたい理由」と「どんな業務に使うか」を一言添えると通りやすいです。
Q. どのくらいの時間で業務に使えるようになりますか?
業務によります。ファイル名の一括変換や重複チェックなら、1〜2週間でコードを動かせるようになる人が多いです。メール自動送信や複数ファイルの集計は1〜2ヶ月かかることもありますが、ChatGPTを活用すれば体感として半分以下の時間で習得できることが多いです。
「完璧に理解してから使う」より「動かしながら覚える」方が、総務の仕事をしながら習得するには現実的です。
まとめ
総務の仕事とPythonは、かなり相性がいい組み合わせです。
今回紹介した7つの活用場面をもう一度まとめます。
- 定型メールの自動送信(月次通知・年度更新案内)
- 勤怠データのCSV集計とチェック
- ファイル名の一括変換・フォルダ整理
- 重複データの自動チェック
- 備品台帳・管理Excelの差分チェック
- PDF・書類のテキスト変換
- 社内通知の自動化
全部を一気にやる必要はありません。自分の業務の中で「毎月これが面倒だな」と思っているものを1つだけ選んで、まずそこから試してみてください。
「Pythonをやるかどうか」を悩む時間より、「一番面倒な作業を1つ選ぶ」ことの方が先です。決まったら、あとは動かしながら覚えるだけです。
▼ WindowsPCへの環境構築手順
→ WindowsPCでPythonを始める方法【実例付き|現場社員向け】
▼ まずPythonを始めたい方はこちら
→ 総務初心者がPythonを始める方法|来週月曜から使えるようになる手順
▼ ChatGPTを使って業務ツールを自作したい方はこちら
→ Python + ChatGPTで業務ツールを自作する方法【総務部で活用した経験】
▼ 総務DX全体の進め方はこちら
→ 総務DX、何から始める?今日できる最初の一手と失敗しない進め方