今回はFormeシリーズを使ってExcelで在庫管理システムを作成します。この在庫管理システムは原則としてワークシート関数のみを使用して実装します。バーコードはISBNを利用したいと思います。Excelでは記録されたデータを集計し、書籍ごとに設定された安全在庫数を下回った場合、警告を表示するシステムを作成します。(マスターデータの元になる書籍データはすでにあるものとします。Android端末とPCはBluetoothファイル交換でファイルの共有をしています。(ここでは説明しません。)USBケーブルでの共有(外部メモリ)も可能です。マスターデータはすでに作成されているものとします。手順は多いように見えますが、実際の作業時間は多くありません。受信したforme.zipを解凍後にマクロを有効化したFormeCollector.xlsm上のシートに以下のような表を作成する。(表組みのルールはFormeTableDoc.pdfに記載されています。)次にFormeCollector.xlsmのシート上に作成した表をコピーする。6forme.zip内のformeQRcoder.htmlをクリックして、FormeQRCoderを起動。FormeQRCoderに表を貼り付け、QRコードを作成する。FormeでQRコードを読み込む。フォームの内容が問題ないことを確認し、フォームを作成する。マスターデータを登録後、マスターデータからFormeCollector.xlsmのデータベースシート設定の為のダミーデータを入力する。入力したダミーデータをCSVデータとしてPCへ送る。この時OK:FORMECOLLECTOR.XLSMになっている事を確認する。CSVデータベースシート追加をクリックし、defaltをクリックする。(ダミーデータの文字エンコードがShift_jisの場合)受信したダミーデータを選択する。(次からダミーデータがあったフォルダからデータを取り込みます。)次に取り込み済みのデータを保存するフォルダを選択します。追加されたCSVデータベースシートを見やすいようにボタン等のオブジェクトの移動やテーブルの色や幅を調整し、ヘッダー行に項目を入力していきます。テーブルの最後尾列であれば、列の追加ができます。次にCSVデータベースシート上のテーブルオブジェクトの名前を変更します。定義された名前をクリックします。編集をクリックします。名前をLOG_DATAに変更します。名前の変更をする事で参照がしやすくなります。次に新しくシートを作成後、名前を管理にします。テーブルオブジェクトを揷入し、以下の表のようにヘッダー行を入力します。出庫数(1ヶ月)出庫数(3ヶ月)警告数ISBNと書籍名はすでに元データがあり、そこから転記するものとします。警告数は任意の数値とします。残りの列には以下の数式を入力します。=SUMIFS(LOG_DATA[数量(マイナスは出庫)],LOG_DATA[ISBN],[@ISBN],LOG_DATA[数量(マイナスは出庫)],"<0",LOG_DATA[入出庫時間],">"&NOW()-90)全体の状況を判定するためにA1のセルに以下を入力します。=IF(COUNTIF(csv_table[在庫],"<=0")>0,"欠品があります",IF(COUNTIF(csv_table[警告],"=警告")>0,"補充が必要です","正常です"))条件付き書式を設定して完成です。ファイルの監視をクリックすればデータの取り込みが行われます。欠品-欠品あり今回はISBNがある書籍で在庫管理を作成してみましたが、バーコードフォントを利用する事で独自のバーコードで管理をすることができます。Excel側もワークシート関数と条件付き書式で最低限の在庫管理システムが作成できました。Formeを使えば、ハンディターミナルを利用した在庫管理システムを簡単に作成できます。