スプレッドシートの在庫管理、どこまでできますか?
在庫管理のために専用のシステムを入れるべきか、スプレッドシートのままでいいのか。結論から言うと、多くの小さな現場では、スプレッドシートのままで十分に回ります。ただし壊れ方が決まっていて、そこを避ける作り方があります。私は現場で自分の道具の在庫を管理する側にいて、実際に一度壊しました。ここでは、その壊れ方と避け方を順に書きます。
スプレッドシートの在庫管理は、どこまでできますか?
結論、数を数えて、足りなくなったら分かる、というところまでは十分にできます。
理由は、在庫管理の本体が「足し算と引き算」だからです。入ってきたら足す、使ったら引く、いまいくつか分かる。専用のシステムが持っている機能の多くは、その周りにある管理のためのもので、数を合わせる仕事そのものではありません。だから、数人で回している現場なら、表計算ソフトで足ります。
具体的には、スプレッドシートの在庫管理が壊れる場面は、経験上2つしかありません。ひとつは、2人以上が同時に同じ数字を触ったとき。もうひとつは、棚の現物と表の数が合わなくなったとき。この2つが起きない規模——数人で、1日に何度も出し入れしない現場——なら、長く使えます。逆にこの2つが起きはじめたら、道具を買い替える前に、まず表の作り方を疑ってください。ほとんどの場合、原因はそちらです。
テンプレートを探しているのですが、そのまま使えますか?
結論、使えるものと、最初から壊れているものがあります。見分け方はひとつだけです。
理由は、在庫管理の表に2つの型があるからです。ひとつは「残りの数」を同じセルに上書きしていく型。もうひとつは「出し入れ」を1行ずつ下に足していく型。この2つは見た目が似ていますが、性質がまったく違います。
具体的には、上書き型はこう壊れます。棚から3つ持ち出した人が、在庫の欄を12から9に書き換えます。ところが同じころ、別の人も2つ持ち出して12から10に書き換えていた。先に書いたほうの記録は、跡形もなく消えます。あとから見ても、誰がいつ何をしたのか分かりません。追記型なら、行が増えていくだけなので、必ず追いかけられます。テンプレートを開いたら、列の名前より先に「上書きか、追記か」を見てください。ここを間違えると、あとからの直しがとても重くなります。
在庫管理の表は、どう作ればいいですか?
結論、3枚に分けてください。1枚でやろうとすると、必ず壊れます。
理由は、記録と集計を同じ場所に置くと、人が計算結果の上に手で書き込んでしまうからです。1度それをやると、以降その表の数字は信用できなくなります。
具体的には、こう分けます。
1枚目:商品の一覧。品名、置き場所、注文する目安の数。ここに「いまいくつあるか」は書きません。
2枚目:出し入れの記録。日付、品名、増えたか減ったか、数、担当者。人が書き込むのは、ここだけです。
3枚目:集計。いまいくつあるかを表示します。ここには計算式しか置きません。人は絶対に数字を打ちません。
この形にすると、「いまの数」は必ず記録から計算された結果になります。合わないときは記録をさかのぼれば、必ず原因の行にたどりつきます。置き場所を1枚目に持たせておくと、在庫の管理がそのまま「どこにあるか」の共有になります。清掃の道具でこれをやった話は別に書きましたが、探す時間のほうが、実は数を数える時間より長かったです。
Googleフォームから入力するのは、有効ですか?
結論、とても有効です。複数人で回すなら、いちばん簡単で強い守り方です。
理由は、フォームからの入力が必ず新しい1行として下に足されるからです。既にある数字を書き換えることが、仕組みとして起こりません。上の章で書いた「上書き事故」が、構造として発生しなくなります。気をつけて運用するのではなく、気をつけなくても起きない形にする。これが効きます。
具体的には、おまけの利点も大きいです。フォームはスマホの画面に合った形で出るので、棚の前で立ったまま入力できます。表を直接開かせると、細い列を横にずらしながら小さなセルを狙うことになり、現場では必ず「あとでまとめて入力する」に戻ります。あとでまとめて、が始まった時点で在庫の数は合わなくなります。表を人に直接いじらせない。これだけで、多くの現場が持ち直します。
どの関数を使えばいいですか?
結論、SUMIF がひとつあれば足ります。
理由は、やりたいことが「品名ごとに、増減を全部足す」だけだからです。※SUMIFとは: 決めた条件に当てはまる行だけを選んで、その数字を足し算してくれる仕組みのこと。「この品名の行だけ、数を足して」と指示できます。
具体的には、集計の枚に置くのはこの形です。
=SUMIF(記録!B:B, A2, 記録!D:D)
「記録の枚のB列(品名)を見て、この行の品名(A2)と同じ行だけ、D列(数)を足す」という意味です。増えたときは正の数、減ったときは負の数で記録しておけば、この1つの式で現在数が出ます。条件を2つ以上にしたいとき(品名と置き場所の両方で絞るなど)は SUMIFS を使います。覚える関数はこの2つで、しばらく足ります。
最初から複雑な式を組まないでください。あとで読めなくなった式は、無いのと同じです。数ヶ月後の自分は、他人だと思っておくくらいでちょうどいいです。
QRコードやバーコードで、読み取れますか?
結論、読み取れます。ただし表そのものにカメラは無いので、読み取るための画面が別に要ります。
理由は、スプレッドシートが数字を置いておく場所であって、入力する道具ではないからです。カメラでコードを読んで品名の欄へ自動で入れる、という動きは、表の上に乗せる入力用の画面(アプリ)の仕事になります。表をそのまま入力画面にする方法は別の記事に書きました。
具体的には、効くかどうかは品目の数で決まります。品目が100を超えるような現場では、コードを読むほうが圧倒的に速く、打ち間違いも消えます。逆に品目が20や30なら、一覧から選ぶほうが速いことが多いです。コードを貼る手間と、剥がれたときに直す手間があるからです。市販のラベルでなくても、自分でシールを作って貼るだけで十分に動きます。ここは「新しいからやる」ではなく、品目の数で決めてください。
まとめ
スプレッドシートの在庫管理は、数人の現場なら十分に実用になります。長持ちさせる条件は4つだけです。①上書きせず、出し入れを1行ずつ足す ②商品の一覧・記録・集計の3枚に分ける ③人が書き込むのは記録の枚だけ、入力はフォームから ④現在数は SUMIF で計算させ、手で打たない。
そして月に1度だけ、棚の現物を数えて突き合わせてください。ずれていたときは、数字を書き直さないでください。「調整」として1行足すのが正しいやり方です。書き直すと、ずれた理由が永久に分からなくなります。ずれの理由が分かる表だけが、2年目も使われます。
私は専用の在庫システムを売っていません。だから「これは今のままで十分です」と言えます。実際、多くの現場で足りていないのはシステムではなく、上の4つのうちのどれか1つでした。
いま使っている在庫の表を1枚見せていただければ、どこが壊れる形になっているかを、いっしょに見るところから始められます。
ととのえる屋
相談する