結論(先に言う)
勝敗は用途で完全に分かれる。
-
業務フローに組み込みたい・人が触る前提
👉 Power Automateの勝ち -
処理量・柔軟性・ロジック重視
👉 Pythonの圧勝
「Excelをどう使いたいか」を間違えると、
どっちを選んでも地獄を見る。
今回やったこと(比較条件)
なるべくフェアにするため、以下を同じ内容でやってみました。
やったExcel操作
-
Excelファイルを読み込む
-
特定列を条件でフィルタ
-
行を加工(計算・文字列整形)
-
別シート or 別ファイルに書き出し
いかにもよくある業務Excel。
Power Automateでやってみた
良かったところ 👍
-
UIで完結
-
Excel Online連携が楽
-
承認フロー・通知と即つながる
-
ITじゃない人にも説明できる
特に、
「このExcel、毎朝自動で加工してTeamsに投げたい」
みたいな要件にはドンピシャ。
つらかったところ 👀
-
行数が増えると一気に重くなる
-
for each地獄
-
ちょっと複雑な条件で急に読めなくなる
-
デバッグがしんどい(何が起きてるか分かりにくい)
正直、
Excelを“プログラム的”に扱い始めた瞬間から苦行
になる。
Pythonでやってみた
良かったところ 🐍
-
処理が速い
-
条件分岐・例外処理が書き放題
-
pandasでExcelが「ただのデータ」になる
-
1000行も10万行も体感差が少ない
特にこの感覚👇
って思えた瞬間、世界が変わる。
つらかったところ 😇
-
実行環境を用意する必要あり
-
非エンジニアにはブラックボックス
-
「誰がメンテするの?」問題
-
業務フローとの接着は一工夫必要
強いけど、雑に投げると孤立する。
処理速度の体感差
かなり雑ですが、体感はこんな感じ。
| 行数 | Power Automate | Python |
|---|---|---|
| 100行 | 普通 | 爆速 |
| 1,000行 | やや重い | 爆速 |
| 10,000行 | つらい | まだ余裕 |
| 50,000行 | 現実的でない | 余裕 |
※ Excelコネクタは特に行単位処理が致命的
実務目線での結論整理
Power Automateが向いているケース
-
Excelは「業務の入り口・出口」
-
承認・通知・スケジュールが主役
-
処理量は少なめ
-
属人化を避けたい
👉 業務フロー自動化ツールとして優秀
Pythonが向いているケース
-
Excelは「ただのデータ容器」
-
ロジックが複雑
-
行数が多い
-
将来仕様変更が来るのが確定
👉 処理エンジンとして圧倒的
実は一番強い構成
やってみて一番しっくりきたのはこれ👇
Power Automate × Python の分業
Excelを直接触らせないのがコツ。
まとめ
Excel自動化で疲れている人ほど、
役割分担を考えたほうが楽でした。