毎晩30分、各店のExcelを開いて待つだけの仕事があった ── 数十店舗の現金集計を、深夜3時の自動実行に任せた話
この記事で得られるもの ・数十店舗の現金管理表を、人手ゼロで本部に集める手順 ・実装のときにAIへ渡した指示文1つ(全文) ・自動化したExcel集計が夜中に止まらないための3つの備え
ファイルを開いて、ただ待つ
店舗運営の側に長くいて、いまは複数の店舗をまとめて見る立場にいます。
各店は毎晩、その日の現金、売上、返金をExcelに入力します。本部はそれを1つの集約ファイルに集める。ここまでは普通の話です。
問題は集め方でした。集約ファイルはINDIRECTという関数で各店のファイルを参照していて、この関数は参照先のファイルを開いていないと値が取れません。だから本部の担当者は毎晩、各店のファイルを一つずつ開いて、開いたままにしておく。数字が埋まるのを、ただ待つ。毎晩30分から1時間、その時間がありました。
月末はもっと重い。返金(レジの取消しを含む)の突き合わせが待っています。どの店の、いつの、いくらの返金が本部の記録と合っているか。伝票番号と日付と金額を目で照合して、合わないものを探す。月初に3時間から5時間、この作業に吸われていました。

人がファイルを開くのを、やめた
INDIRECTを使うのをやめました。代わりに、Python(無料のプログラミング言語)で書いた小さなプログラムが、各店のファイルを直接読みに行く形にしました。openpyxlというPythonの無料の部品を使うと、Excelはファイルを閉じたまま読めます。人が一つずつ開く必要がなくなりました。
そのプログラムを、Windows標準のタスクスケジューラで毎晩深夜3時に動かします。朝になると、本部の集約ファイルには前日までの数字がすでに入っています。
返金の照合もプログラムに任せました。「伝票番号・店舗コード・営業日・金額」を組み合わせた一致キーを作り、人の目でやっていた突き合わせを自動で回す。合わないものだけがリストに残るので、本部はそこだけ確認すればよくなりました。
月末の手集計3〜5時間は、例外の確認を除いてほぼゼロに。毎晩の「開いて待つ」は、朝の確認5〜10分になりました。
手順は4つに分けられる
数十店舗の現金集計の自動化は、(1)各店が共有フォルダにExcelを保存する流れは今まで通り残す、(2)Python+openpyxlのプログラムが閉じたままのファイルを直接読む、(3)伝票番号・店舗コード・営業日・金額のキーで返金を自動照合する、(4)タスクスケジューラで毎晩決まった時刻に動かし、合わないものだけリストに残す、という手順で対応できる。すでにあるExcelとPCと共有フォルダの範囲で動くので、自分で作る場合の追加費用はほぼかかりません。
AIに渡した指示文はこれ
実装はAI(Claude)に相談しながら進めました。途中で実際に投げた指示文の一つです。
PythonのopenpyxlでExcelを読み書きしたい。複数人が同時にファイルを
開いていて書き込みに失敗することがあるので、「数秒待って数回まで
再試行し、それでもダメなら別名で保存して翌日やり直す」という
安全な書き込みの仕組みを作りたい。コード例と、初心者でも分かる
説明をください。
夜中に止まらないための3つの備え
手で入力された生の値だけを読む。計算済みのセルはプログラムから読むと欠けることがあるので、店名・差異・判定といった計算で出る列はプログラム側で作り直す
同時に開かれてロックされる前提で組む。「5秒待って3回まで試す」「それでもダメなら別名で逃がして翌日やり直す」の逃げ道を最初から入れておくと、夜中に止まらない
一度に全部やらない。まず本体の集計だけ。派生する計算は後回しにする
私も最初の月は、朝に結果を見て手で直す日が何度かありました。それでも「開いて待つ30分」が消えただけで、夜の終わり方が変わりました。
数字を集める時間が減ったぶん、数字を見て考える時間が少しずつ戻ってきています。
この記事の全体版は、店で実際に動いている自動化4つと検算の記録にまとめています。
『店長が「数字を集める係」をやめた日』(Brain)
先着5名限定980円
連載・店のAI、実例でぜんぶ見せる 第1話(全4話)
書き手:AkariLab LINE Bot を中心に、現場の「困った」から生まれた小さな道具を作っているブランド。 ブランド一覧は
https://akarilab.org/
note 記事のまとめは
https://akarilab.org/articles/
にあります。
