毎月末になると、総務担当者のデスクには決まって同じ仕事が積み上がっていました。クラウド勤怠システムから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秒
人間が手で行っていたファイル操作やコピペを、数行のコードに置き換えてみました。画面に張り付いてショートカットキーを叩く必要はもうありません。コントロールキーとCキー、Vキーを延々と繰り返す日々は終わりました。スクリプトを実行して、処理の結果が出るのを待つだけになったのです。
一方で、スクリプトの実行ボタンを押した後の光景は衝撃的でした。ボタンを押してから3秒後には、すべての作業が終わっていたのです。思わず画面を二度見してしまいました。それまで1時間かけていた作業が、文字通り「一瞬」で完了しました。ターミナルに「完了しました」の表示が出た瞬間、私は驚きました。あまりの速さに、しばらく椅子に座ったまま動けなくなってしまったほどです。この3秒のためにあれだけ苦労して実装したのかと思うと、なんだか笑えてきました。
自動化の全体像さえ掴むことができれば、ハードルは下がります。コードを書くことへの心理的な抵抗感は、一気に解消されていくはずです。

PythonはExcel作業の翻訳
プログラミングという言葉に、抵抗を感じる方は多いかもしれません。多くの会社員の方は、得体の知れない呪文のように感じるのではないでしょうか。複雑な記号が並び、専門用語が飛び交う世界というイメージです。しかし、事務職の現場でPythonを活用する場合、その本質はとてもシンプルです。「Excelでの手作業をPythonの言葉に置き換える」という翻訳作業にすぎません。人間は普段、マウスを動かし、キーボードを叩いて操作を行っています。その操作をコンピューターが理解できる命令文に変換するだけなのです。
そのため、たとえば毎月の定型業務を具体的に想像してみてください。まず「勤怠CSVを開く」という動作があります。次に「必要な列だけをコピー」します。最後に「月次集計用Excelの特定シートに貼り付ける」という流れです。この一連の動作を細かく分解していきます。そして、一つずつPythonでどう書くかを考えていくのです。Excelでは、ファイルを開き、次にシートを選択するという手順を踏みます。
一連の動作をコードへ落とし込む
さらに範囲を指定してコピーし、別のシートに貼り付けを行います。Pythonでは、それぞれの動作に対応する関数やメソッドを呼び出します。頭の中にあるExcel操作を、そのままPythonの命令文へ「翻訳」していく感覚なのです。この感覚を一度掴んでしまえば、プログラミングへの心理的なハードルは一気に低くなります。特別な才能は必要ありません。普段の業務フローを言語化するだけで、立派なプログラムの設計図が出来上がります。
PythonでExcel作業を簡潔に
データの加工を行う際にも、思考の起点はやはりExcelにあります。例えば、部署ごとの残業時間を集計したい場合を考えてみましょう。Excelであれば、ピボットテーブルを使うのが一般的です。あるいは、SUMIFS関数を駆使して集計を行うこともあるでしょう。Pythonの世界でも、似たような仕組みが用意されています。具体的には、Pandasというライブラリの機能を使用します。
Pandasが提供する「データフレーム」という概念が重要です。これが、実質的にExcelシートと同じ役割を果たしてくれます。このデータフレームに対して、具体的な指示を出していくことになります。「部署」の列でグループ化を行い、「残業時間」の列の合計を計算させます。このような指示を、コードを通じて伝えていくのです。マウスでの複雑な操作を、一行の簡潔な指示にまとめることができます。
Excel複雑処理をPythonで解決
Excelでの複雑な処理も、Pythonならスマートに解決できます。例えば「VLOOKUP関数を使って社員マスタから部署名を取得する」といった作業です。このような処理も、Pythonではデータフレーム同士を結合するコードで実現できます。非常に短い記述で、目的のデータを正確に手に入れることが可能です。これは、Excelの画面とにらめっこする時間からの解放を意味します。
VLOOKUPの引数が正しいかどうかを、何度も確認する必要はありません。関数が複雑になればなるほど、Pythonの簡潔な記述が大きな武器になります。手作業でセルをドラッグして関数をコピーする手間は、もう発生しません。参照がズレていないかと怯える必要も、一切なくなるのです。思考の軸は「このExcel操作を、Pythonでどう書けるか」という一点に絞られます。これにより、作業中の迷いやストレスが劇的に軽減されます。

Pythonがこれほどまでにデータ処理に優れているのには理由があります。特にExcelのような表計算ソフトの作業を自動化できるのは、Pandasのおかげです。Pandasは、Pythonの拡張機能のような存在だと考えてください。データの読み込みや加工、集計、分析といった処理を効率化するために設計されました。Excelの機能の多くを、プログラミングコードとして実現するツール群と言えます。
Pandas:高速処理とExcel感覚
なぜPandasはこれほどまでにデータ処理が得意なのでしょうか。まず、その基礎部分が非常に高速に動作する言語で実装されています。そのため、大量のデータを扱う際でもストレスがありません。Excelで処理するよりも、圧倒的なスピードで計算を終えることができます。次に、データフレームという直感的な構造を提供している点も魅力です。データフレームは、まさしくExcelのシートのような形式でデータを保持します。
行と列を持つ二次元の表としてデータを扱えるのです。そのため、非エンジニアの方でもスムーズに馴染むことができます。Excelシートを操作するような感覚で、Pythonのコードを記述できるからです。具体的に処理の流れを見ていくことにしましょう。CSVファイルを読み込む場合は、専用の関数を使用します。Excelファイルに書き出す際も、同様に専用の関数を呼び出すだけです。ファイルパスを指定するだけで、数万行のデータも一瞬で処理が終わります。
Excelでは、ファイルサイズが大きくなると動作が重くなります。最悪の場合、画面がフリーズしてしまうことも珍しくありません。しかし、Pandasを使えばそのようなストレスとは無縁の環境が手に入ります。大量の生データを前にしても、涼しい顔で処理を進めることができるようになります。
💡 ここで一度立ち止まって考えてみてください
PythonやExcel自動化スキルを身につけ、ITエンジニアとして転職したい方には「EBAエデュケーション」という選択肢があります。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。
Pandasによる柔軟なデータ加工
さらに、データ加工における柔軟性の高さも驚くべきものがあります。例えば、勤怠データから特定の列だけを抽出したい場合を想定します。「氏名」や「出勤時刻」だけが必要な時、コードを一行書くだけで完了します。また、特定の部署のデータだけを抜き出す作業も非常に簡単です。条件を指定するコードを記述すれば、フィルター操作と同じことが実現できます。これは、Excelでフィルター機能を操作するのとまったく同じ感覚です。
Pandasでの効率的な集計作業
部署ごとの残業時間を集計する作業も、Pandasなら効率的に進められます。Excelのピボットテーブルを使う場合は、手動での操作が欠かせません。フィールドをドラッグしたり、集計方法をマウスで選択したりする必要があります。しかし、Pandasであればこれらも一行のコードで記述可能です。グループ化する列と集計したい項目を指定するだけで、計算が完了します。一度コードを書いてしまえば、来月以降もそのコードを再利用できます。CSVファイルの中身が新しくなっても、実行するだけで最新の集計結果が得られるのです。
思考を写し取る定型業務のレシピ
これらの操作は、それぞれが独立した命令文として機能します。しかし、それらを連結して記述することも可能なのです。CSVを読み込み、不要な列を削除し、条件で絞り込む。そして計算を行い、部署別に集計してExcelに書き出す。このような一連の流れを、まるで料理のレシピのように記述できます。上から順番に手順を書き起こしていくようなイメージです。プログラムは、まさに実務の手順書そのものと言えます。
Pythonのコードは、人間が行っていた思考と操作の流れそのものです。これまでの手順をそのまま書き写したような内容になります。一度この仕組みを理解してしまえば、他の業務への応用も容易です。手書きのレシピを一度作成すれば、何度でも同じ味を再現できます。それと同じように、Pythonも一度プログラムを組めば正確に作業を繰り返してくれます。これにより、属人化していた業務を仕組み化することも可能になるのです。
ゼロからのPython、環境構築の試練
最初は「プログラミングのプの字も知らない」という、完全な初心者でした。何から手をつければいいのか、当時は全く見当がつかない状態だったのです。まずはインターネットで「プログラミング 初心者」と検索しました。その中で、Pythonが事務職の自動化に強いという情報を知りました。「読みやすい」という評判もあり、直感的にこれだ!と感じたのです。まずは無料の学習サイトを活用して、基礎から学び始めました。
「Hello World」と画面に表示させるだけの練習も行いました。たったこれだけのコードでも、私にとっては大きな一歩のように感じられました。しかし、その後すぐに大きな壁にぶつかることになります。それは、プログラミングを実行するための環境構築という作業でした。「pip install」などの専門用語が、当時の私には全く理解できませんでした。エラーメッセージが出るたびに、それは呪文のように見えたものです。
何時間もかけてインストールしたライブラリが、うまく動かないこともありました。「見つかりません」という表示が出るたびに、心が折れそうになったのを覚えています。書籍やオンライン講座も色々と試してみました。しかし、どれもエンジニア向けの内容が多く、難しく感じてしまいました。文系出身の私にとっては、難解な表現ばかりが並んでいるように見えたのです。それでも諦めずに、少しずつ前に進みました。
プログラミングの壁、独学で掴んだ達成感
特に苦労したのは、「オブジェクト指向」などの抽象的な概念です。「クラス」や「インスタンス」と言われても、頭の中は疑問符でいっぱいでした。Excelの世界しか知らなかった私にとって、これらは未知の概念です。データ型や変数のスコープの話は、まるで別の宇宙の話のようでした。「自分にこんな難しいことができるのだろうか」と、何度も諦めかけました。それでも、毎月末のあの憂鬱な作業をなくしたいという思いがありました。その強い気持ちが、私を突き動かす原動力となったのです。
小さな成功が紡いです。Pythonによる業務改革と喜び
学習を続ける中で、小さな成功体験を積み重ねていきました。例えば、CSVファイルを読み込むコードが初めて動いた時のことです。あるいは、数字を足し算するだけのプログラムが正しく動いた時です。そのような小さな喜びが、次の一歩を踏み出す力になりました。周りにプログラミングができる同僚はいなかったため、常に一人での戦いでした。エラーが出た時は、インターネットで解決策を必死に探す日々が続きました。
しかし、その試行錯誤の中で、エラーを読み解く力が養われました。自分で調べて解決するという姿勢が、少しずつ身についていったのです。「わからない」という状態を「わかった!」に変える瞬間は最高でした。それまでの仕事では味わったことのない、格別な達成感があったのです。この経験が、その後の大きな自動化の成功へとつながっていきました。一歩ずつの前進が、確かな力に変わっていくのを実感できました。
勤怠自動化がもたらした時間と心のゆとり
勤怠集計の自動化スクリプトがついに完成した時のことです。初めて本番のデータで実行ボタンを押した瞬間は、今でも忘れません。画面に「Processing…」という文字が表示されました。そして、たった3秒で「完了しました」という文字が出たのです。私は思わず「えっ?」と声を出して驚いてしまいました。毎月1時間もかけていたあの作業が、文字通り一瞬で終わったからです。
本来の業務に充てる時間の創出
信じられない気持ちのまま、生成されたExcelファイルを開きました。すると、部署ごとにシートが正確に分かれて作成されていました。残業時間や深夜業の数字も、一寸の狂いもなく集計されています。手作業では必ずどこかで見落としやミスが発生して、修正に追われていました。しかし、Pythonは完璧に、そして正確に仕事をこなしてくれたのです。機械だからこそ実現できる正確性に、深い感動を覚えました。
この時の感動は、これまでの人生で経験したことがないほど大きなものでした。月末に感じていたあの重苦しいプレッシャーから、一気に解放されたのです。浮いた時間は1時間かもしれませんが、その価値は非常に大きいと感じています。最も忙しい時期に、本来やるべき業務に集中できるようになったからです。人事制度の改善案を考えたり、従業員の方とじっくり向き合ったりできます。以前は月末が来るのが憂鬱でしたが、今では「Pythonに任せれば大丈夫」と安心しています。
Pythonが広げる事務職の可能性
この変化は、私の仕事への向き合い方にも良い影響を与えました。何よりも、自分自身の心の状態が非常に穏やかになったと感じています。同僚や上司からも、驚きと称賛の声をもらうことが増えました。私がPythonで自動化を実現したことを伝えると、皆とても興味を持ってくれます。特に、同じ定型業務に追われている仲間からは、相談を受けることも多くなりました。「あの作業も自動化できるかな?」と頼られるのは、とても嬉しいことです。
自分のスキルが人の役に立ち、職場の生産性に貢献できるのは幸せなことです。プログラミングは、事務職としての私のキャリアに光を当ててくれました。「自分には無理だ」と諦めていたITスキルも、学べば身につくのだと確信しました。今後は、この成功を他の業務にも広げていきたいと考えています。毎月作成している各種の報告書なども、自動化の候補に挙げています。請求書のデータ入力や経費精算のチェックなど、可能性は無限に広がっています。
プログラミングが拓く、想像以上の未来
プログラミングは決して魔法のようなものではありません。しかし、正しいロジックを組めば、私たちを単純作業から救ってくれます。文系出身の私にできたのですから、挑戦する価値は十分にあるはずです。この経験を通して、私は「どうすれば解決できるか」を考える癖がつきました。それは単なる技術の習得以上に、価値のある財産だと思っています。問題解決能力を育むための強力な武器になると、自信を持って言えます。
これからも、一人の学習者としてPythonの可能性を追い求めていきたいです。事務職という枠を超えて、より良い働き方を追求していこうと思います。私と同じように、日々のルーチンワークで疲れ果てている方がいたら伝えたいです。ぜひ、勇気を持って一歩を踏み出してみてください。その先には、今のあなたには想像もできないような、素晴らしい未来が待っています。小さな勇気が、あなたのキャリアを大きく変えるきっかけになります。
関連リンクとチェックリスト
無料プレゼント
Excel業務を自動化する前に確認するチェックリスト(PDF)
自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。
無料でチェックリストを受け取る¥980 ミニキット
コピペで動かせる3スクリプト+自動化チェックリスト
最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。
ミニキットを見る(¥980)著者はこうして解決の糸口を見つけた
著者も同じ境遇から始まりました。独学でここまで自動化した道のりを参考にしてみてください。
学習サービスとアンケート
VBA・Pythonをもっと本格的に学ぶなら
VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

