毎月末になると、総務担当者のデスクには決まって同じ仕事が積み上がっていました。クラウド勤怠システムからCSVをダウンロードし。Excelに貼り付けて部署別に集計する。シンプルに見えて、ミスが許されない作業です。その繰り返しが、月に2日分の工数を静かに食い続けていました。私はPythonによる自動化を取り入れることで。その消耗を断ち切ることができました。
月末の勤怠集計、手作業と重圧
月末月初は、総務・労務担当にとって重圧のかかる時期です。クラウド勤怠システムから全社員の打刻CSVをダウンロードしますが。そのままでは使えない生データです。それを月次集計用のExcelファイルに貼り付け、部署ごとにシートを分け。残業時間や深夜業を計算していく……。終わりの見えない手作業のコピペが続いていました。
まず、月末になるたびに、私は決まって憂鬱な気分になっていました。勤怠CSVのダウンロードから始まり、部署別Excelへの転記、残業集計、確認。修正。ミスが許されないプレッシャーの中で。単純なコピペ作業をひたすら繰り返す日々でした。繁忙期には、他の業務への支障が出ることも少なくありませんでした。
ルーチンワークの限界とPythonとの遭遇

単純作業のように見えて。1行ズレるだけで給与計算が狂ってしまうのがこの業務の怖いところです。たった1つのセルのズレが、従業員の方からの不信感に直結してしまいます。そのようなプレッシャーの中、私は毎月同じ手順をなぞっていました。
月次で処理する対象は全社員50名分、部署別のExcelファイルが5枚ありました。手作業に費やしていた時間を正直に計測してみると、月に約1時間でした。たかが1時間と思われるかもしれませんが、月末という最もタイトな時期に。ミスが許されない作業として集中的に発生することが大きな問題だったのです。
次に、ルーチンワークに削られる時間と気力。本来やるべき人事制度の設計や、労務トラブルの対応が後回しになっていました。思考停止の作業から脱却し、根本的な解決策を探した結果。Pythonにたどり着きました。
Pythonで定型Excel業務を自動化

プログラミングと聞くと、非エンジニアの方には縁遠い世界に思えるかもしれません。しかし実際には、Pythonの得意分野は「データの読み込み・加工・出力」です。これは総務が毎月行っているExcel仕事そのものです。今回の勤怠集計なら、大きく以下の3つのステップに分解できます。
- CSVの読み込み
- 必要なデータの抽出・集計
- Excelへの書き出し
自動化、驚きの3秒
人間が手で行っていたファイル操作やコピペを、数行のコードに置き換えてみました。画面に張り付いてショートカットキーを延々と叩く必要はもうありません。スクリプトを実行して、結果が出るのを待つだけになりました。
一方で、スクリプトの実行ボタンを押して、3秒後にすべてが終わったときには。思わず画面を二度見してしまいました。1時間かけていた作業が文字通り「一瞬」で終わったのです。ターミナルに「完了しました」の表示が出た瞬間。驚きのあまりしばらく椅子に座ったまま動けませんでした。この3秒のためにあれだけ苦労して実装したのかと思うと、なんだか笑えてきました。
自動化の全体像さえ掴めれば、コードを書く心理的ハードルは一気に下がります。

PythonはExcel作業の翻訳
プログラミングと聞くと。多くの会社員の方は得体の知れない呪文のように感じるのではないでしょうか。複雑な記号が並び、専門用語が飛び交う世界。しかし、総務・経理・人事の仕事でPythonを使う場合。その本質は「Excelでの手作業をPythonの言葉に置き換える」という。極めて単純な「翻訳」作業に他なりません。人間がマウスを動かし、キーボードを叩いて行っていた操作を。コンピューターが理解できる命令文に変換するだけです。
そのため、たとえば、毎月行っていた「勤怠CSVを開き、必要な列だけをコピーして。月次集計用Excelの特定シートに貼り付ける」という作業を想像してみてください。この一連の動作を分解し、一つずつPythonでどう書くかを考えるのです。Excelでは「ファイルを開く」「シートを選択する」「範囲を指定してコピーする」「別のシートに貼り付ける」という手順を踏みますが。Pythonではそれぞれの動作に対応する関数やメソッドを呼び出します。頭の中のExcel操作を。そのままPythonの命令文に「翻訳」していく感覚です。
PythonでExcel作業を簡潔に
データの加工においても、思考の起点はやはりExcelにあります。部署ごとの残業時間を集計したい場合、Excelではピボットテーブルを使うか。SUMIFS関数を駆使して行うでしょう。Pythonでは。Pandasというライブラリが提供する「データフレーム」という概念が。Excelシートの役割を果たしてくれます。このデータフレームに対して、「部署」列でグループ化し。「残業時間」列の合計を計算する、といった指示を出すのです。
Excel複雑処理をPythonで解決
Excelで「VLOOKUP関数を使って。社員マスタから氏名に対応する部署名を取得する」といった複雑な処理も。Pythonではデータフレーム同士を結合する簡単なコードで実現できます。これは、Excelの画面とにらめっこしながら。VLOOKUPの引数を何度も確認するあの時間からの解放を意味します。関数が複雑になればなるほど、Pythonの簡潔な記述が際立つのです。手作業でセルをドラッグして関数をコピーしたり。参照がズレていないか怯えたりする手間は一切発生しません。思考の軸は「このExcel操作。Pythonでどう書ける?」という一点に絞られます。

しかし、Pythonがこれほどまでにデータ処理に優れ。特にExcelのような表計算ソフトの作業を自動化できる背景には。Pandasという強力なライブラリの存在があります。PandasはPythonの拡張機能のようなもので、データの読み込み、加工。集計。分析といった一連の処理を効率的に行うために設計されました。Excelの機能の多くを。プログラミングコードとしてPython上で実現するツール群と捉えて差し支えありません。
Pandas:高速処理とExcel感覚
なぜPandasがデータ処理を得意とするのでしょうか。まず、その基礎が高速に動作するC言語で実装されている点が挙げられます。これにより、大量のデータを扱う際でも。Excelで処理するよりも圧倒的なスピードで計算を終えることができます。次に、データフレームという直感的で強力なデータ構造を提供していることです。データフレームは、まさしくExcelのシートのように。行と列を持つ二次元の表としてデータを保持します。そのため。非エンジニアの方でもExcelシートを扱う感覚でPythonコードを記述できるのです。
具体的に見てみましょう。CSVファイルを読み込むのはpd.read_csv()。Excelファイルに書き出すのはdf.to_excel()といった具合です。これらの関数にファイルのパスを指定するだけで、数万。数十万行のデータも一瞬で処理できます。Excelではファイルサイズが大きくなると動作が重くなり。フリーズすることも珍しくありませんが。Pandasはそうしたストレスとは無縁です。
💡 ここで一度立ち止まって考えてみてください
PythonやExcel自動化スキルを身につけ、ITエンジニアとして転職したい方には「EBAエデュケーション」という選択肢があります。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。
Pandasによる柔軟なデータ加工
さらに、データ加工の柔軟性も高いです。例えば、勤怠データから「氏名」「出勤時刻」「退勤時刻」だけが必要な場合。データフレームから該当する列を選択するコードを一行書くだけで完了します。特定の部署、例えば「総務部」のデータだけを抽出したい時も。条件を指定するコードを記述すれば良いのです。これはExcelでフィルターをかける操作とまったく同じ感覚です。
部署ごとの残業時間を集計する作業も、Pandasを使えば非常に効率的です。Excelのピボットテーブルを使う場合、手動でフィールドをドラッグ&ドロップし。集計方法を選択する必要があります。しかし。Pandasではdf.groupby('部署')['残業時間'].sum()のように。グループ化する列と集計したい列、そして集計方法を一行で指定できます。一度コードを書いてしまえば、来月以降はCSVファイルの中身が変わっても。この一行を実行するだけで最新の集計結果が手に入ります。
思考を写し取る定型業務のレシピ
これらの操作は、それぞれが独立した命令文でありながら、連結して記述できます。つまり、CSVを読み込み、不要な列を削除し、条件で絞り込み、計算して。部署別に集計し、Excelに書き出すといった一連の作業を。まるで料理のレシピのように上から順に記述できるのです。Pythonのコードは、人間が行っていた一連の思考と操作の流れを。そのまま書き起こしたようなものになります。一度この仕組みを理解すれば、他の定型業務への応用も容易に想像できるはずです。手書きのレシピを一度作成すれば、何度でも同じ料理を正確に作れるのと同じことです。
ゼロからのPython、環境構築の試練
さらに、「プログラミングのプの字も知らなかった」状態から。まず何から手をつければいいのか皆目見当がつきませんでした。インターネットで「プログラミング 初心者」と検索することから始めました。その中で。Pythonが「読みやすい」「事務職の自動化に強い」という情報を目にし。直感的にこれだ!と感じたのです。まずは無料の学習サイトで、変数や条件分岐といった基礎の基礎から学び始めました。「Hello World」と画面に表示させるだけのコードでも。私にとっては大きな一歩でした。
しかし、すぐに壁にぶつかりました。プログラミング環境の構築です。「pip install」や「仮想環境」といった専門用語が全く理解できず。エラーメッセージはまるで呪文のように見えました。何時間もかけてインストールしたはずのライブラリが「見つかりません」と言われるたびに。心が折れそうになりました。書籍やオンライン講座も試しましたが。どれもエンジニア向けに書かれているように感じられ。文系出身の私には難解な表現ばかりでした。
プログラミングの壁、独学で掴んだ達成感
特に苦労したのは、「オブジェクト指向」という概念です。「クラスって何?」「インスタンスって何?」と。頭の中は常に疑問符でいっぱいでした。Excelの世界しか知らなかった私にとって。データ型や変数のスコープといった概念は、まるで別の宇宙の話のようでした。「こんな難しいことを、本当に自分にできるようになるのだろうか」と。何度も諦めかけました。それでも、毎月末の憂鬱な作業をどうにかしたいという強い思いが。私を突き動かしました。
小さな成功が紡いだ、Pythonによる業務改革と喜び
まず、小さな成功体験、例えばCSVファイルを読み込むコードが動いた時や。数字を足し算するプログラムが正しく計算できた時の喜びが。次の一歩を踏み出す原動力になりました。周りにプログラミングができる同僚もいないため。エラーが出た時は一人で何時間もインターネットの海をさまよい。解決策を探す日々でした。その中で、エラーメッセージを読み解く力や。自分で調べて解決する力が少しずつ身についていったように思います。「わからない」を「わかった!」に変える瞬間の達成感は。それまで感じたことのないものでした。
勤怠自動化がもたらした時間と心のゆとり
勤怠集計の自動化スクリプトが完成し、初めて実行ボタンを押した時のことは。今でも鮮明に覚えています。「Processing…」の表示が出て。たった3秒で「完了しました」の文字が表示された瞬間。私は思わず「えっ?」と声を出してしまいました。毎月1時間かけていた作業が、文字通り一瞬で終わったのです。信じられない気持ちで、自動生成されたExcelファイルを開いてみました。部署ごとにシートが分かれ、残業時間も深夜業も正確に集計されています。手作業では必ずどこかで見落としやミスがあったのに。Pythonは完璧に仕事をこなしてくれました。
この感動は、プログラミング学習で経験したどんな小さな成功よりも大きなものでした。それまで月末に感じていた、あの重苦しいプレッシャーから一気に解放されたのです。浮いた1時間という時間は、たったそれだけかもしれませんが。月末の最も忙しい時期に。私が本来やるべき業務に集中できる貴重な時間へと変わりました。人事制度の改善案を考えたり。従業員からの相談にじっくり向き合ったりする余裕が生まれました。以前は「また月末が来る…」と憂鬱な気持ちでいっぱいでしたが、今では「さあ。Pythonに任せよう」と、むしろ楽しみな気持ちすら芽生えています。
Pythonが広げる事務職の可能性
次に、この変化は、私自身の仕事への向き合い方。そして心の状態にまで良い影響を与えてくれました。同僚や上司からも「あの作業。もう終わったの?」「どうやってるの?」と驚きの声が上がり。私がPythonで自動化していることを話すと、皆の目が輝きました。特に。同じように定型業務に追われている総務や経理の担当者からは「うちの部署のあの作業も自動化できないかな?」と相談されることも増えました。自分が学んだスキルが、こんなにも人の役に立ち。職場の生産性向上に貢献できることに。大きな喜びを感じています。
プログラミングは、事務職の私のキャリアに新たな可能性を広げてくれました。「事務職だから」と諦めていたITスキルも。一歩ずつ学べば身につくのだと実感しました。今後は、この勤怠集計の自動化を皮切りに、他の部署の定型業務や。毎月作成している報告書などもPythonで自動化できないか。アイデアを膨らませています。例えば、請求書のデータ入力や、経費精算のチェック作業なども。Pythonの力で効率化できるかもしれません。
プログラミングが拓く、想像以上の未来
プログラミングは魔法ではありませんが、正しいロジックを組み立てれば。人間が行う単純作業から私たちを解放してくれる強力なツールです。文系出身の私でもできたのだから、きっと誰にでも挑戦できるはずです。この経験を通して。私は「できない」と決めつけずに「どうすればできるか」を考える習慣が身につきました。プログラミングスキルは、単なる技術ではなく。問題解決能力を育むための強力な武器になると確信しています。これからも、事務職として、そして一人の学習者として。Pythonの可能性を追求し続けていきたいと思っています。私と同じように、日々のルーチンワークに消耗している方がいたら。ぜひ一歩踏み出してみてほしいと心から願っています。きっと、想像以上の未来が待っています。
関連リンクとチェックリスト
著者はこうして解決の糸口を見つけた
著者も同じ境遇から始まりました。独学でここまで自動化した道のりを参考にしてみてください。
学習サービスとアンケート
このスキルを活かしてさらに前へ進むなら
Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

