業務の隙間を埋める技術メモ。

「それ、作れるか?」より 「それ、作って大丈夫か?」を考えたい。 業務で“ちゃんと使える”かどうかを、 実際に手を動かして確かめたログを残しています。

Power Automate と Pythonで Excel いじりを比べてみた 〜結局どっちが勝つのか、実務で試した結果〜

 

結論(先に言う)

勝敗は用途で完全に分かれる。

  • 業務フローに組み込みたい・人が触る前提
     👉 Power Automateの勝ち

  • 処理量・柔軟性・ロジック重視
     👉 Pythonの圧勝

Excelをどう使いたいか」を間違えると、
どっちを選んでも地獄を見る。


今回やったこと(比較条件)

なるべくフェアにするため、以下を同じ内容でやってみました。

やったExcel操作

  • Excelファイルを読み込む

  • 特定列を条件でフィルタ

  • 行を加工(計算・文字列整形)

  • 別シート or 別ファイルに書き出し

いかにもよくある業務Excel


Power Automateでやってみた

良かったところ 👍

  • UIで完結

  • Excel Online連携が楽

  • 承認フロー・通知と即つながる

  • ITじゃない人にも説明できる

特に、

「このExcel、毎朝自動で加工してTeamsに投げたい」

みたいな要件にはドンピシャ。


つらかったところ 👀

  • 行数が増えると一気に重くなる

  • for each地獄

  • ちょっと複雑な条件で急に読めなくなる

  • デバッグがしんどい(何が起きてるか分かりにくい)

正直、

Excelを“プログラム的”に扱い始めた瞬間から苦行

になる。


Pythonでやってみた

良かったところ 🐍

  • 処理が速い

  • 条件分岐・例外処理が書き放題

  • pandasでExcelが「ただのデータ」になる

  • 1000行も10万行も体感差が少ない

特にこの感覚👇

「あ、ExcelじゃなくてCSVだな」

って思えた瞬間、世界が変わる。


つらかったところ 😇

  • 実行環境を用意する必要あり

  • 非エンジニアにはブラックボックス

  • 「誰がメンテするの?」問題

  • 業務フローとの接着は一工夫必要

強いけど、雑に投げると孤立する。


処理速度の体感差

かなり雑ですが、体感はこんな感じ。

行数 Power Automate Python
100行 普通 爆速
1,000行 やや重い 爆速
10,000行 つらい まだ余裕
50,000行 現実的でない 余裕

Excelコネクタは特に行単位処理が致命的


実務目線での結論整理

Power Automateが向いているケース

  • Excelは「業務の入り口・出口」

  • 承認・通知・スケジュールが主役

  • 処理量は少なめ

  • 属人化を避けたい

👉 業務フロー自動化ツールとして優秀


Pythonが向いているケース

  • Excelは「ただのデータ容器」

  • ロジックが複雑

  • 行数が多い

  • 将来仕様変更が来るのが確定

👉 処理エンジンとして圧倒的


実は一番強い構成

やってみて一番しっくりきたのはこれ👇

Power Automate × Python の分業

  • Power Automate
     → トリガー・承認・通知・ファイル受け渡し

  • Python
     → Excel加工・計算・集計

Excelを直接触らせないのがコツ。


まとめ

  • 「どっちが勝つ?」は間違った質問

  • Excelを業務に寄せるか、コードに寄せるか

  • Power Automateは業務フロー担当

  • Pythonは処理担当

  • 無理に一人で全部やらせない

Excel自動化で疲れている人ほど、
役割分担を考えたほうが楽でした。