こんにちは、NoCodeCampのツバサです。
今回は、GoogleスプレットシートとGoogleフォームでQRコードの在庫管理システムを作ったので、作り方の紹介です。
![](https://tsubasa.tech/wp-content/uploads/2021/10/Airtable-20210408のコピーのコピーのコピー-1024x555.png)
完成イメージとしては、各倉庫にApple,Banana,OrangeのQRコードがあり、QRコード読み取り、数量を入れると、現在の在庫状況が記録されるというものです。Googleアカウントがあれば基本無料で作成できるので、在庫管理をしているけど、システム導入できないな~って人は、チャレンジしてみてください。
完成イメージのスプレットシート
![](https://i.gyazo.com/8ee6583b7adedd1b516658ab99cdb3bc.png)
事前準備
Googleアカウントを作成し、GoogleFormを作成してください。
GoogleDriveからGoogleFormを作成していきます。
フォルダから、右クリックで以下のような画面がでるので、Googleフォームを選択してください。
Googleフォームの使い方が分からない方は、
【2021年完全版】Googleフォームの使い方を徹底解説|作り方から作成例まで詳しく紹介 あたりを参考にして下さい。
![](https://i.gyazo.com/8090feb36b790647c391cd529a57ad96.png)
Googleフォームで入力フォームを作る
Googleフォームで入力するフォームを作っていきます。
今回の必須なものは、商品名,入荷/出荷,数量をつくります。
商品名,入荷出荷は、ラジオボタンを使っていきます。
![](https://i.gyazo.com/85433f79bcbe04f94ca0b5f7cb2d20fe.png)
項目を作ったら、Googleスプレットシートを作成していきます。Googleフォーム側の操作は以上になります。
![](https://i.gyazo.com/f95406760eeaba151e9dfab6068c8681.png)
Googleスプレットシートで在庫管理票を作る
作成したGoogleスプレットシートを開けましょう。Googleフォームと同じ項目が作られていると思います。
ここには、Googleフォームで送信された内容が、追加されていきますので、ここに追加されたものを集計する表を作る必要があります。下の方にあるシートを追加する+ボタンを押して新しいシートを作って下さい。
![](https://i.gyazo.com/a93c919f166e284cf11cacea25071c29.png)
シート1では、以下のように1行目に項目を、A2~は、商品名を入れていきます。
在庫数は、入荷-出荷 の数が入るようにします。
![](https://i.gyazo.com/712940a3c67d88e8f154491b6c2656a4.png)
![](https://i.gyazo.com/26d5cf41a4dcf614de7dfa7d2c19bc40.png)
入荷数と出荷数のそれぞれの合計を計算する
ここから少し難しくなります。現在アンケートフォームを入力すると、商品名は順番に入るようになってます。
例えば、Appleが10個入荷されたらシート1に10個入荷という数字に反映させたいですよね。
![](https://i.gyazo.com/9578cd7e781d1339061263010dc0c21d.png)
ここでSumifs 関数を使って合計を求めます。
Sumifsとは、複数の条件を指定して数値を合計する関数になります。
![](https://i.gyazo.com/2cfde4ff7aaabfab7134a164db6ad6ef.png)
例えば、B2の列なら、以下のように記入します。
![](https://i.gyazo.com/25136c5189c57bd4429108cf0705231c.png)
=Sumifs('フォームの回答 1'!$D$2:$D$100,'フォームの回答 1'!$B$2:$B$100,A2,'フォームの回答 1'!$C$2:$C$100,$B$1)
条件1は 商品名 (Apple)
条件2 は、入荷 or 集荷 を複合条件として入力してます。
QRコードを読み込んだ時にURLを作成する
ここまでで、アンケートフォームに入力すれば、在庫数が把握できるようになりました。
ここからは、QRコードを実装していきます。まずは、QRコードをカメラで読んだときに、表示されるURLを作成していきます。
Gogleフォームの設定から、事前入力したURLを選択します。
![](https://i.gyazo.com/6c3ea3e811e325549e81790c8d18047c.png)
ここは、何でも良いのですが、それぞれ一番上にあるものを選びました。
![](https://i.gyazo.com/64313d30c8f1228df23a1257e723dad4.png)
リンクを取得したものをGoogleスプレットシートに張り付けます。
今回の場合は、
entry.1947896047
entry.910477174 というところで事前に入力をされたものが2つあることが分かります。
それぞれ、A2,B1に変更し、 あとは、コピぺで複製していきましょう。
![](https://i.gyazo.com/f40e8e639e4dd91453020798968740f2.png)
注意として、GoogleフォームURLをそのまま、張り付けると&がつくのですが、このままだとQRコードで反映されないので、%26 に変更をします。
これは、コンフィグにURL文字列を設定するとき、URLに使用不可とされる文字を含めるには、URLエンコードした文字に置き換える必要があるためです。 詳しくは、以下のYahoo知恵袋を参考にどうぞ。
IMAGE関数とGoogleのAPIを使ってスプレッドシートにQRコードを表示させたいのですが、HTMLの末尾にGoogle Analyticsで見るパラメーター(”&”が付いています)をつけた場合、QRコードは生成されても、このパラメーター がURLに反映いたしません。
![](https://i.gyazo.com/5a2837de760118c466c8b162f7559a95.png)
【TIPS】viewformのところを、formResponseに変更するとコードを読み込むだけで、自動でアンケートをフォームを登録することも可能です。
IMAGE関数でQRコードを作成
QRコードで表示するURLが作れましたので、最後にQRコードを表示します。
Googleスプレッドシートには、IMAGE()があるので、それを使います。
Google chart でパラメーターを確認できます。
今回は以下の入力をしていきます。
cht=qr ・・QR表示
chs=177×177 ・・QRのサイズ
chl=G2 ・・入荷URLの場所
コード例
=image("https://chart.apis.google.com/chart?cht=qr&chs=170x170&chl=G2")
![](https://i.gyazo.com/0e41bcd95d95e4ffffde6080a56561a2.png)
IMAGE関数の説明はこちらに詳細があります
以下のようにQR画像が表示されれば成功です。あとは、実際に読み取ってみてGoogleフォームが反映されているのを確認してみましょう。
![](https://i.gyazo.com/875d65f4c6ea3dda64c4267af095eb7d.png)
![](https://i.gyazo.com/37376c540743f11ea404207ca87935f1.png)
まとめ
今回、GoogleスプレットシートとGoogleフォームのみでQRコードで読み取る在庫管理システムを作りました。近日中に、動画もNoCodeTvでアップします。
今回は、NoCodeCampのmasssaさんの農産物の収穫・選果管理システム【コンセプト】 からインスピレーションをもらい参考にさせて頂きました。こちらはGlideで実装されたプロジェクトですが、GAS使わないでなんとかならないかな~と考えて、かなり構成は変わってしまいましたが、「こういう感じでの在庫管理もできる」かなと考えてみました。構築よりもブログ書く方が時間がかかってしまいましたが。。w
たまには、Googleスプレットシート系で実装するノーコードもいいですよね。それでも今日も良いノーコードライフを♪