月次レポートの集計とグラフをPythonに任せたら、提出日の午前中が空いた話

毎月5日前後になると、私の胃は決まって重くなりました。営業所から膨大なデータが送られてきます。それを一つの集計表にまとめる作業が待っているからです。それは単なる数値の移動ではありません。神経をすり減らすコピペの連続でした。誰に頼まれたわけでもありません。それでも提出日の朝は2時間早く出社していました。

静まり返ったオフィスで、私はモニターの光に照らされながら作業を始めます。数百行に及ぶ売上データをコピーします。そして別のシートに貼り付け、計算式を確認しました。少しでも操作を誤れば、最終的なグラフの数字が狂ってしまいます。そんなプレッシャーの中で作業を繰り返します。気づくと、窓の外が少しずつ明るくなってきました。

この記事では、手作業の地獄から抜け出した方法をお伝えします。私はプログラミング知識ゼロの事務職でした。そんな私がPythonでレポートを自動化した体験談です。毎月の集計作業に疲れ果てている方もいるでしょう。この記事が、そんな方の小さなきっかけになれば嬉しいです。

虚しい早朝集計

月初の集計日、私は始発に近い電車に揺られていました。まだ街が眠っているような時間帯です。しかし頭の中は、今日のタスクで占められていました。

オフィスに到着すると、自分のデスクの照明だけを点けました。そしてパソコンを起動します。冷え切ったキーボードを叩き始めました。今日中に終わらせなければならないという焦燥感に駆られます。

誰にも話しかけられないこの時間だけが、唯一の集中できる時間だったのです。しかし、その静寂は作業の苦痛を和らげてはくれません。エクセルを開くと、先月と同じような無機質な数字が並んでいます。

営業担当者ごとに分けられたシートを確認します。一つずつ数値を拾い上げていきました。目がかすみ、肩が重くなってくるのを感じます。

それでもマウスを握る手は止められません。この作業を終わらせない限り、私の本当の業務は始まらないのです。提出日の朝は毎回2時間から3時間、ひたすらコピペと修正に費やしていました。

薄暗いオフィスで、デスクの上のモニターだけが青白く光っている。日本語のメニューが

絶望的な虚無作業

作業を始めて一時間が経過した頃、ようやく半分が終わりました。指先は冷たくなり、クリックする感覚も鈍くなってきます。それでも、上司が来るまでには何とか形にしなければなりません。

私はコーヒーを一口飲み、再び画面に向き合いました。この虚しい時間が来月も続くのかと思うと、息が詰まります。そのときの暗澹たる気持ちは、今でもよく覚えています。

コピペマシン」と化した私の実態

ある日、私はあまりの疲労に耐えかねて作業工程をメモしました。自分が何にこれほどの時間を費やしているのか把握したかったのです。ペンを動かしてみると、驚くべき事実が見えてきました。

私の仕事のほとんどは、データの加工や分析ではありません。「AをコピーしてBに貼り付ける」作業ばかりです。この単純なコピペ作業に、全体の8割の時間を奪われていました。

特に時間がかかっていたのが、データの整形でした。ある拠点は全角で入力し、別の拠点は半角で入力しています。それらを一つずつ修正し、フォーマットに合わせなければなりません。この作業が、私の精神を大きく削っていました。

数値の不一致が見つかれば、さらに大変です。原因を特定するために過去のメールを遡らなければなりません。

集計ファイルの合計値が先月と一致しませんでした。原因を探すと、一つのセルにスペースが混入していました。その修正のためだけに、全シートを三往復します。結局、ランチの時間も削って原因究明に追われました。自分の不甲斐なさに情けない気持ちになったのです。

書きかけのメモ帳と、開いたままのエクセル。画面内のエクセルには「半角と全角の混在

コピペ作業漬け、失われる専門性と人間性

書き出したリストを眺めていると、落ち込みました。自分が人間ではなく、ただの「コピペマシン」のように思えてきます。せっかく大学で学んだことも、今の業務には全く活かされていません。

機械ができるはずの作業に、貴重な時間が吸い取られています。このままではいけないと、強く感じた瞬間でした。

ここで一度立ち止まって考えてみてください

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。現役エンジニアのサポートで、未経験から実践的なスキルを身につけられます。

プログラミングスクール Enjoy Tech!(エンジョイテック) →

エクセルマクロの限界、Pythonへの道

まずは手近なツールであるエクセルマクロに挑戦しました。マクロの記録機能を使って、操作を覚え込ませようとしたのです。最初は順調に動いているように見えましたが、すぐに壁にぶつかりました。

拠点の誰かが列を一行増やしただけで、マクロは止まってしまいます。黄色の背景で表示されるエラー画面を見るたびに、途方に暮れました。マクロのコードは、素人の私には呪文のように難解でした。

ネットで調べながら少しずつ修正を試みます。しかし直せば直すほど、別の場所が壊れてしまうのです。結局、マクロを修正するよりも手動の方が早い状況になりました。エクセルという箱の中で解決することの限界を味わったのです。

修正しようとするたびに別の場所が壊れ、デバッグに費やした時間はトータルで相当なものになりました。

エクセルのVBE画面に黄色いハイライトが表示されている。日本語で「実行時エラー」

結局、私が作ったマクロは実務で一度も完走しませんでした。同僚からは「難しいことしなくていいよ」と声をかけられます。その言葉が、当時の私には余計に悔しかったのです。

諦めるのは簡単でも、元のコピペ地獄に戻りたくありません。私はもっと柔軟で強力な自動化の手段を探し始めました。そこで出会ったのが、Pythonというプログラミング言語でした。

Pandasによる劇的効率化と未来

Pythonを学び始めて、最初に感動したライブラリがあります。「Pandas(パンダス)」というものです。エクセルの表データを扱う道具ですが、その力は想像を絶しました。

今まで三十分かけていたファイルの読み込みと結合を試しました。それが、たった一行のコードで完了したのです。初めてプログラムが動いたとき、私は自分の目を疑いました。

画面上のコンソールに、きれいに整列したデータが表示されます。あれほど苦労していた表記の揺れも、一括で置換できます。一つずつセルをクリックして修正していた時間は何だったのでしょうか。

コードを一度書けば、来月からはファイルを指定するだけで済みます。

独学で書いたコードが、初めてエラーなく走り抜けました。結合されたデータ表を見て、心臓が激しく波打つ感覚を覚えます。数時間かかっていた作業が、三秒で終わったからです。魔法を手に入れた感覚になり、その日は興奮で寝付けませんでした。

黒い背景のコードエディタにPandasの処理が書かれている。日本語のコメントが「

この技術を使えば、私はもう始発に乗らなくて済むかもしれません。そんな希望が、少しずつ現実味を帯びてきました。プログラムを書く時間は必要ですが、これは未来のための投資です。私は夢中になってコードを書き、集計の仕組みを構築していきました。

自動化で見違えるグラフ作成

集計が終わった後に待っているのが、グラフの作成です。エクセルのグラフは機能が豊富ですが、毎月の更新が手間になります。特に前月比の折れ線グラフを重ねる作業は、クリックミスが多くて苦手でした。

そこで、グラフ描画ライブラリを導入することにしました。「matplotlib(マットプロットリブ)」というものです。これを使えば、データの推移に合わせたグラフ作成を自動化できます。

棒グラフと折れ線グラフの複雑なレイアウトも、一度設定すれば固定されます。フォントサイズや色の指定も自由自在でした。来月のデータが入っても、スクリプトを実行するだけで出来上がります。

上司から急なグラフの色変更依頼が入りました。以前なら色を変えるのに三十分はかかっていました。しかし今回は、コードを一箇所書き換えるだけで済みます。わずか十秒で全グラフの修正が完了したのです。このとき、自動化の真の強さを思い知りました。

日本語の軸ラベル「売上高(百万円)」が含まれる、綺麗な青色の棒グラフと折れ線の複

グラフの範囲をドラッグして広げる操作はもう必要ありません。データが増えても減っても、適切に判断して描画してくれます。出来上がったグラフを見て、自分でも少し驚きました。同じデータなのに、見た目がずいぶん整って見えます。翌月も同じものが一瞬で出てくると思うと、正直うれしくなりました。

PythonでExcel自動化と広がる可能性

最後に、データを上司に提出するエクセル形式で保存します。ここで活躍したのが「openpyxl」というライブラリでした。処理した結果を、既存ファイルの指定セルに書き込むことができます。

ただの数値だけでなく、背景色や罫線の設定も自由に行えました。レポートの体裁を整える工程まで、全てPythonで行えたのです。実行すれば、読み込みから保存までがノンストップで駆け抜けます。

私はそれまでの苦労を思い出しながら、慎重にコードを組み上げました。エラーが出れば原因を調べ、解決策をコードに反映させます。自分専用の自動レポート作成マシンが、完成に近づいていきました。

この流れが完成したとき、私はある確信を持ちました。プログラミングで自分の仕事を変えられると気づいたのです。

それまでは、エクセルの機能を覚えることだけが効率化だと思っていました。しかしPythonを持ち込むことで、可能性が無限に広がります。最終確認を行い、保存されたファイルを開く瞬間の緊張感は忘れられません。

自動化スクリプト完成、感動の瞬間

ついに、全ての工程を自動化したスクリプトが完成しました。翌月の提出日、私はあえていつも通りの時間に家を出ます。デスクに座り、コーヒーを注いでから実行ボタンを押しました。

画面上で文字が高速に流れ、数秒後には静かに処理が終了しました。指定フォルダを開くと、完璧な月次レポートが置かれています。内容を確認しましたが、どこにも間違いはありません。

合計値もグラフの推移も、私が設計した通りに出来上がっていました。あまりの速さと正確さに、私はしばらく画面を見つめたまま動けません。

自動化が完了した直後、達成感に小さくガッツポーズをしました。同僚たちはまだパソコンを立ち上げている最中です。数時間かかる難所を、私は数分で攻略してしまいました。その静かな高揚感の中で飲んだコーヒーは格別でした。これまでの人生で一番美味しいと感じたのです。

私を苦しめてきた「コピペ地獄」は、もう存在しません。パソコンの中で、プログラムが代わりに忠実に働いてくれます。目に見えない優秀なアシスタントを手に入れたような気分でした。私はその日、初めて落ち着いた気持ちで業務を始められました。

自動化が導く本質業務と自己成長

自動化がもたらしたのは、単なる「時短」だけではありません。提出日の午前中が空いたことで、分析する時間を手に入れました。今までは数値を合わせるだけで精一杯でした。

しかし今は、グラフの凹凸に隠された意味を考える余裕があります。売上が下がっている理由などを、じっくりと観察しました。その結果、提出時の報告に自分の意見を添えられるようになります。

「数値はこの通りです」と言うだけの私ではありません。「この数字にはこういう背景があります」と説明できるのです。上司からは「最近のレポートは内容が深くなったな」と褒められました。コピペ作業から解放され、事務職本来の役割に辿り着いたのです。

空いた時間を使って、他の業務の自動化も考えるようになりました。心に余裕が生まれると、周りの困りごともよく見えるようになります。同僚の悩みを聞き、Pythonで解決できないか試行錯誤しました。

この日々はとても充実していました。自動化は、私の働く姿勢そのものをポジティブに変えてくれたのです。

守りから攻めへ:自信のプレゼン

余裕ができた時間で、詳細な分析資料を会議で提出しました。すると部長から「これは鋭い指摘だ」と驚かれます。以前は計算ミスを指摘されないかビクビクしていました。それが今では、自信を持ってプレゼンを行っています。守りの姿勢から攻めの姿勢に転じることができたのです。

自動化で消えた、月次レポートの不安

月次レポートの自動化を通じて、私は大切なことを学びました。作業時間は数時間から数分へと劇的に短縮されています。しかしそれ以上に、「毎月の不安が消えたこと」に価値がありました。

月初が近づくたびに感じていた胃の痛みも、もうありません。始発出勤の重圧から解放された喜びは、何物にも代えがたいものです。毎月の単純作業に疲れ果てているのなら、Pythonを触ってみてください。

最初は難しいと感じることも多かったです。それでも一行のコードが数時間の作業を飲み込んだとき、自分でも少し驚いてしまいました。つまずいた箇所もたくさんありましたが、動いたときの感覚は今でもよく覚えています。

自動化してから、提出日の朝がずいぶん変わりました。始発に乗らなくていいというだけで、気持ちが違います。コピペの時間が減ると、他のことを考える余裕が少し生まれた気がしています。

試してみたら意外となんとかなるものです。少なくとも私はそうでした。今も自信はないですが、コードは動いてくれています。

関連リンクとチェックリスト

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

PythonやExcel自動化スキルを持ったまま、ITエンジニアとして転職したい方には「EBAエデュケーション」が選択肢です。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。

ITエンジニア転職・EBAエデュケーション →

[アンケート] この記事は役に立ちましたか?


1問だけ回答する