こんにちは!
普段はネットスーパーの生鮮仕入れ現場で働くtanytomoです。
今回は「Power Automate」に挑戦し、ExcelVBAで作った“在庫アラートリスト”をTeamsチャネルに自動通知するRPAプロトタイプを作ってみました。
なぜPower Automateを選んで自動通知させようとしたのか?
普段ExcelVBAを使って、いろいろな集計をしています。
Excelを使った集計はそこそこ得意ですが、やはり職場には苦手な人もたくさん。
自分だけでデータを持っておくのではなく、自動通知させればもっと働きやすくなるのでは…と思っていました。
「手元で終わらせず“自動で現場全員にアラート通知できたら、絶対助かるはず”」と信じて、どう実現しようかと考えていたところWindowsのパソコンを使用するのでPower Automateが一番環境に合ってそう!ってことでチャレンジしました!
現場で感じていた課題
- 毎朝、Excelで抽出・集計された単品実績から在庫の消化状況を手動で計算していた
- できる人とできない人の差が激しい
- 気付けなかった人の商品はチャンスロスを起こしたり、廃棄になっていた
- “現場で一番大事なはずの情報”が埋もれてしまう
- 毎日同じような集計しているんだから、誰かがまとめて集計して投稿や通知してくれたら助かるのに…
ExcelVBA構成・動き
1.前処理
↓ ・商品名が空白の行を削除
↓ ・列見出しを統一(MD名、部門、商品名…)
↓ ・販売・仕入・廃棄などの計算式を最新データで再セット
2.メイン処理
↓ ・各商品について「販売数・仕入数・現時点在庫・保管日数」などを抽出
↓ ・独自ロジックでアラート(リスク)を判定
↓ ・条件に合わない(商品名空白、保管日数20日以上、見込み週空白など)は除外
3.アラートリスト出力
↓ ・必要項目だけ新規シート(アラートリスト)へ転記
↓ ・書式や列幅を自動で整形
4.上位3品抽出(後処理 or 別マクロ)
↓ ・部門×判定ごとに、販売数・仕入数順などで上位3品をN列以降にまとめて転記
5.投稿用ファイル出力
投稿用の数値だけの軽量化されたファイルを切り出し
SharePoint上に保存
Power Automate構成・動き
SharePointに投稿されたことをトリガーに、
投稿先フォルダをハイパーリンクにしてメール送信
宛先を所定Teamsチャネルに設定
Xにアップした動画はこちら
制作過程の苦労と工夫(むちゃくちゃ苦戦!)
VBA地獄…
列名が日によって違う/商品名が空白/JANが指数関数になるなど、
「一筋縄ではいかないExcel」の落とし穴に何度も泣かされました。
判定基準も「抽出商品が多すぎる!」「ロングライフ品ばかり拾う!」「見込み週が空白ばかり!」と何度も修正。
最終的に「最低保管日数が20日未満、かつ見込み週が空白でないもの」のみ抽出することで実用レベルに!
Power Automateは“詰まってからが本番”
Teamsのリンク投稿やファイル添付に想定外のトラブル。
メッセージのフォーマットや認証、通知形式(リンク化、HTML不可など)で苦戦。
本当は実現したかったこと**
・Teamsへ投稿するとき直接ファイルのリンクをメッセージ本文へセット
・そのファイルのテーブルを取得
・CopilotもしくはDifyへ投げて、テーブルの情報を分析させる
・一番廃棄がでそうな商品はなにか。担当者ガクブルアラート!
・一番品切れ起こしそうな商品はなにか。追加できたらアタックチャンス!
叶わなかったので…最後は「ハイパーリンク貼付で妥協→Outlook通知も並行で」など、現実的な着地点に。
実際に使ってもらった仲間のフィードバック
水産MDのSさん(40代・Excel&Teams初心者)
「正直、週に1回しか自分で計算していなかったけど、自動化されてからは見逃しがなくなった。
ただ、投稿にファイルが付いていないので、一発で中身が見られるようにする工夫がほしい。」
上司のHさん(40代・現場管理)
「これでやっと日々、余った商品・足りない商品が何かということが把握できるようになったわね(笑)
少しはサプライチェーンっぽくなってきたじゃない。これをMDたちに軌道修正させることでより利益取れるわね!」
何が得られた?
- 知らず知らず滞留・廃棄になっていたリスク品が定量的かつ即座に抽出できるようになった。
- Excel集計が得意な人に集中させることで、みんなの貴重な時間を確保!
- 影響度が高いリスク別部門別上位3品に絞って対応するだけでも良い影響が出てくる!
- 実際の数値+ロジックで感覚ではないデータを根拠とした把握になる
- デジタルが苦手そうな生鮮からこの仕組みを作っていくきっかけづくり!