Python×Excelで100個のファイルを1分で合体させる話。非エンジニアが職場で『魔法使い』に見られた瞬間

月末の悪夢、100ファイル経費精算

月末の金曜日のことです。時刻は午後3時を回っていました。私のPCのデスクトップを確認します。そこには無数のファイルがありました。各部署から送られてきたものです。「経費精算_〇〇部.xlsx」という名前です。画面はファイルで完全に埋め尽くされました。その数はざっと100個にのぼります。今日中にこれらを統合しなければなりません。1つのマスターファイルにまとめます。全社データをシステムに流し込みます。マウスを握る右手が汗ばんでいます。画面を見つめ続ける目が痛みます。奥の方が鈍く痛み始めました。

共有フォルダにアクセスしました。100個のファイルをダウンロードします。一つずつ自分のローカルに保存しました。次にZIPファイルを解凍します。ファイルをフォルダに並べました。その時のことです。エクスプローラーの画面を見ました。スクロールバーが極小サイズです。ミリ単位の小ささになっていました。それを見た瞬間に声が出ました。「うわっ」と思わず叫んでいました。上司は軽く言い残しました。「サクッとまとめといて」とのことです。そのまま会議に向かってしまいました。取り残された私の胃は重くなりました。まるで鉛を飲んだかのようです。

試算をしてみることにしました。1ファイルを開いてコピペします。この作業を30秒と仮定しました。100ファイル分の時間を計算します。単純な所要時間を考えてみました。結果は50分ということになります。

単純作業の試算と現実の落とし穴

単純な計算をしてみます。まず1つのファイルを開きます。必要なデータ範囲を選択します。それをコピーしてマスターに貼ります。最後にファイルを閉じます。どれだけ急いでも30秒は必要です。100ファイルなら最低50分かかります。しかしこれは理想的な状況の話です。手戻りやトラブルがないことが前提です。実際にはそんな奇跡は起きません。机上の空論にすぎないのです。実際には複数のExcelを開きます。するとPCのメモリが悲鳴を上げます。動作が極端に重くなってくるのです。冷却ファンが大きな音を立て始めます。マウスポインタが砂時計になります。数分間フリーズすることも珍しくありません。

そして何より大切なことがあります。人間の集中力は続きません。せいぜい最初の20ファイルで尽きます。完全に集中力が切れてしまうものです。

コピペが招く悲劇と絶望

コピペ作業を無言で続けることがあります。それは地道な努力に見えるかもしれません。誠実な仕事だと思えるかもしれません。しかし本質は少し異なると感じます。手動での単純作業は危険です。その連続はリスクを伴います。致命的なミスを待つ時間と同じです。ただ待っているだけの危険な時間帯です。

また、人間は機械ではありません。必ずどこかで間違いが起こります。100回の作業を無傷で終えるのは無理です。最初から不可能に近い挑戦です。マウスの操作が1ミリずれることもあります。すると行の選択を間違えてしまいます。それ以降のデータはすべてずれます。空白行が混じることもあります。すると集計結果が根底から狂うのです。VLOOKUP関数の結果も変わります。SUM関数の合計も合わなくなります。

過去に手作業で行った際の話です。ある部署のファイルがありました。そこに不要なヘッダー行がありました。気づかずに貼り付けを続けました。一番下にどんどん重ねていきました。その結果、金額が合いませんでした。数百万単位でズレが発生したのです。深夜2時まで原因を探し続けました。セルを目視で一つずつ確認しました。誰もいないオフィスは静かでした。ディスプレイの眩しさに目を細めました。あの時の絶望感は忘れられません。

退屈な単純作業の終わり

精神的な苦痛も無視できません。自分はPCの代わりではないか。そんな強烈な虚無感に襲われます。これが会社員の心を削っていきます。コピーして、シートを切り替えます。末尾を探して、貼り付けます。この反復運動は脳の仕事ではありません。本来やるべきことではないはずです。ミスを恐れて操作し続ける。そんな日々を過ごすべきではありません。答えは明確に「ノー」です。

PandasでExcel自動結合

そんな地獄から救ってくれたものがあります。それがPythonという言語でした。プログラミングを行うための道具です。特にデータ分析用ライブラリが重要です。「Pandas(パンダス)」の存在が大きいです。非エンジニアには難しく聞こえます。プログラムを書く行為は特別に見えます。黒い画面に暗号を打つ印象です。ですが仕組みはシンプルです。とても論理的なものなのです。

Pandasには便利な機能があります。Excelのデータを読み込む機能です。「データフレーム」という箱に入れます。メモリ上で処理を行います。Excelソフト自体を立ち上げません。裏側でデータを直接吸い上げます。そのため画面の描画が発生しません。人間が手で開くより高速です。何百倍も速く処理が済みます。100個のファイルがあれば箱を並べます。ここで「glob(グロブ)」を使います。これも優秀な働きをしてくれます。

データの自動収集と結合

globはファイルを検索する仕組みです。フォルダの中から条件に合うものを探します。芋づる式に見つけ出してくれるのです。例えば「*.xlsx」と指定します。するとフォルダの奥まで探してくれます。すべてのパスをリストアップします。一瞬でリストが完成します。人間が目で追う必要はありません。クリックして探す手間もなくなります。

次に100個の箱をどうするか考えます。「pd.concat(コンキャット)」を使います。これは結合専用の命令です。複数のデータを縦に連結します。とても強力なコマンドです。レゴブロックを積み上げる感覚です。下から上へ綺麗に重なっていきます。100個の表が正確に並びます。一切のズレが発生しません。コピペ漏れなどのミスも起きません。ヒューマンエラーの隙がないのです。機械は指示通りに動きます。ただ正確に連結を行ってくれます。

VBA・Pythonをもっと本格的に学ぶなら

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →

泥臭いパスとExcel、初歩の壁を越えデータ結合

理屈は理解できるかもしれません。しかし自分で書くとなると別です。いざ始めると手が止まります。非エンジニアは壁にぶつかります。それは複雑な計算ではありません。もっと些細な部分にあります。とても泥臭い部分が壁になります。

例えばファイルの場所の指定です。パスの書き方が問題になります。Windows環境でのことです。パスをコピーすると記号が入ります。「\(バックスラッシュ)」という記号です。しかしPythonでは意味が異なります。エスケープ文字として扱われます。その結果エラーが発生します。これを「/(スラッシュ)」に変えます。あるいは文字列の前に「r」をつけます。このルールを知る必要があります。知らないと数時間を無駄にします。

エラーとの格闘、泥臭い調整、完璧なExcel結合

私自身も苦労した経験があります。「FileNotFoundError」が出ました。真っ赤な文字が画面を埋めます。原因はバックスラッシュでした。フォルダからコピーしただけです。それなのにエラーが出るのです。泣きそうな気持ちになりました。ネットで解決策を検索しました。「r”C:\Users…”」と書く方法です。それを見つけた瞬間のことです。あまりの単純さに驚きました。全身の力が抜ける思いでした。

泥臭い調整、Excelデータ結合の完璧な成果

拡張子にも落とし穴がありました。古い形式の「.xls」があります。新しい形式の「.xlsx」もあります。これらが混在している場合です。読み込み処理が止まってしまいます。現場のファイルは不規則です。データがA1から始まらないこともあります。上部にタイトルが書いてあります。作成日や印の枠もあります。これらは不要な情報です。Pandasで読み込む際に工夫します。「skiprows=3」などと指定します。不要な行を読み飛ばす処理です。こういった調整を繰り返しました。完成したコードは10行ほどでした。

実行ボタンを押してみました。画面が一瞬だけ動きました。処理完了のマークがつきました。出力先のフォルダを確認します。「結合完了.xlsx」がありました。新しいファイルができています。恐る恐る中身を見ました。末尾の行まで確認します。結果は完璧なものでした。100個のファイルがまとまっています。数万行のデータが正確です。1分の狂いもありません。オフィスの音を遠くに感じました。心の中はとても静かでした。

Pythonで業務自動化、信頼獲得

提出先へデータを持っていきました。経理担当の先輩のところです。「もう終わったの?」と聞かれました。時計を見て驚いています。いつもは夕方までかかります。夜までマウスを動かしています。それなのに数分で終わりました。驚くのも無理はありません。当然の反応だと思います。

方法を聞かれました。Pythonで自動化したと伝えました。周囲の反応が変わりました。見る目が明らかに違います。これまでは事務員でした。手作業を頑張る人という印象です。それが一瞬で変わりました。魔法使いのように見られたのです。業務を効率化できる存在になりました。その瞬間の喜びは格別でした。

同僚からも声をかけられました。「私のもお願い」と言われました。毎月の勤怠データの集計です。USBメモリを持ってきました。コードを少し書き換えます。ファイルパスとシート名を変えました。実行するとすぐに終わります。3時間の作業が10秒になりました。彼女は「嘘でしょ」と呟きました。その後は異常なほど感謝されました。なんだか少し照れくさかったです。ミス修正の時間も減りました。平均120分がゼロになりました。

Pythonで得る信頼、キャリアの盾

職場でPythonを使い始めました。すると立場が変わりました。ポジショニングが根本から変化します。作業が早くなるだけではありません。「間違えない仕組み」を持つ人になります。周囲からの信頼が跳ね上がります。ミスの疑いもなくなります。紙と画面を比べる必要もありません。何度も見直す時間は不要です。精神的な余裕が生まれました。それは代えがたい価値があります。自分の身を守る盾になります。

Pythonで業務効率化、時間と誇りの回復

単純作業に消耗していませんか。終わりの見えない仕事です。画面と睨めっこする日々です。コピペを繰り返しています。その日々に疑問があるはずです。あなたの能力が低いわけではありません。時間がかかるのは理由があります。適した道具を使っていないだけです。木を切る場面を想像してください。チェーンソーがあるはずです。それなのに素手で挑んでいます。今の状況はそれと同じです。

プログラムは難しくありません。一部の人だけの特権ではありません。Pythonは私たちのためのものです。現場の雑務を消す道具です。最強の武器と言えます。数行のコードを書くだけです。数時間の苦役が消え去ります。最初は悩むこともあるでしょう。環境構築やエラーが起きます。パスの指定でつまずきます。シート名で怒られるかもしれません。思い通りに動かないこともあります。それでも一度作れば大丈夫です。仕組みは働き続けてくれます。文句も言わずに動きます。ミスも一切しません。優秀な部下と同じ存在です。

Pythonで取り戻す時間と誇り

意味のない手作業はやめましょう。夜遅くまで残る必要はありません。Pythonという武器を持ちましょう。本来の仕事に時間を使います。人間がやるべき「考える仕事」です。それは単なる効率化ではありません。会社員としての時間を取り戻せます。自分への誇りも回復できます。それが確実な第一歩になります。

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

無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

関連書籍

Python業務自動化関連書籍を、手元で見返せる形にしておきたい場合

Pythonやデータ処理の自動化は、作りながら同じ基礎を何度も確認する場面が多いです。手元で見返せる本があると、調べ直しの時間を減らしやすいです。

Python業務自動化関連書籍をAmazonで探す

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

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

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

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

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

30秒で答えられます。改善の参考にします。

1問だけ回答する