V 0.2 初期設定マニュアル
このマニュアルでは、Googleスプレッドシート上で使える STOCKmini ロット管理 V0.2 の初期設定方法を説明します。
STOCKmini ロット管理 V0.2 は、商品番号・ロット番号・棚番・使用期限を使って、入庫・出庫・在庫数を管理できる簡易在庫管理ツールです。
1. 事前に用意するもの
初期設定に必要なものは、次の2つです。
1. Googleアカウント
2. STOCKmini ロット管理 V0.2 のGASコード
Googleスプレッドシートを使うため、Googleアカウントが必要です。
2. 新しいスプレッドシートを作成する
まず、Googleドライブを開きます。
Googleドライブで、左上の 「新規」 をクリックします。
次に、
Google スプレッドシート
↓
空白のスプレッドシート
を選択します。
新しいスプレッドシートが開きます。
3. スプレッドシートの名前を変更する
画面左上にある 「無題のスプレッドシート」 をクリックして、名前を変更します。
例:
STOCKmini ロット管理 V0.2
名前は自由ですが、あとで見つけやすい名前にしておくと便利です。
4. Apps Scriptを開く
スプレッドシート上部のメニューから、次の順番で開きます。
拡張機能
↓
Apps Script
Apps Scriptの画面が開きます。
5. もともと入っているコードを削除する
Apps Scriptを開くと、最初から次のようなコードが入っている場合があります。
function myFunction() {}
このコードは使いません。
画面内のコードをすべて選択して削除してください。
操作例:
Ctrl + A ですべて選択
↓
Deleteキーで削除
6. STOCKminiのGASコードを貼り付ける
配布された STOCKmini ロット管理 V0.2 のGASコード全文 を、Apps Scriptのコード欄に貼り付けます。
貼り付けたら、画面上部の保存アイコンをクリックします。
または、キーボードで次の操作をします。
Ctrl + S
7. 初期セットアップ関数を選ぶ
Apps Script画面の上部に、実行する関数を選ぶ場所があります。
そこから、次の関数を選びます。
setupStockMiniLotV02Headers
この関数は、STOCKminiに必要なシートや見出しを自動で作成するための初期設定用関数です。
8. 初期セットアップを実行する
関数に setupStockMiniLotV02Headers を選んだ状態で、「実行」 ボタンをクリックします。
初回実行時は、Googleの確認画面が表示されます。
9. Googleの権限確認を許可する
初めて実行すると、次のような確認画面が表示されます。
承認が必要です
この場合は、画面の案内に沿って進めます。
一般的な流れは次の通りです。
権限を確認
↓
使用するGoogleアカウントを選択
↓
詳細
↓
「安全ではないページに移動」をクリック
↓
許可
※表示される文言は、Googleの画面仕様により少し変わる場合があります。
これは、自分のスプレッドシートをGASで編集するための許可です。
10. スプレッドシートに戻る
許可が終わったら、スプレッドシートの画面に戻ります。
初期セットアップが成功すると、以下の4つのシートが自動で作成されます。
操作パネル
商品マスター
ロット在庫
操作履歴
11. 初期セットアップ完了を確認する
スプレッドシートの 「操作パネル」 シートを開きます。
B13付近に、次のようなメッセージが表示されていれば成功です。
STOCKmini ロット管理 V0.2 初期セットアップ完了
また、操作パネルの上部に次のタイトルが表示されます。
STOCKmini ロット管理 V0.2
12. メニューが表示されない場合
初期設定後、スプレッドシート上部に 「STOCKmini」 というメニューが表示されます。
表示されない場合は、ブラウザを更新してください。
F5キー
または、ブラウザの再読み込みボタンを押します。
再読み込み後、上部メニューに次のようなメニューが表示されます。
STOCKmini
13. STOCKminiメニューの内容
STOCKminiメニューには、次の操作があります。
商品検索
入庫予定
出庫予定
在庫更新を確定
初期セットアップ
通常の入庫・出庫では、主に以下を使います。
入庫予定
出庫予定
在庫更新を確定
14. サンプル商品で動作確認する
初期設定後は、商品マスターにサンプル商品が登録されています。
まずはサンプル商品で動作確認できます。
サンプル商品
P001:テスト商品A(ロット・期限あり)
P002:テスト商品B(ロットあり・期限なし)
P003:テスト商品C(期限あり)
P004:テスト商品D(通常在庫)
最初は P001 を使ってテストするのがおすすめです。
15. 入庫テストをする
操作パネルに以下を入力します。
商品番号:P001
ロット番号:LOT001
棚番:A-01
入庫数量:10
使用期限:2026/12/31
実際に入力するセルは以下です。
B3:P001
B8:LOT001
B9:A-01
B10:10
B11:2026/12/31
入力したら、上部メニューから次の順番で操作します。
STOCKmini
↓
入庫予定
その後、もう一度メニューから、
STOCKmini
↓
在庫更新を確定
を選択します。
操作パネルに、
在庫更新しました
と表示されれば、入庫完了です。
16. 入庫結果を確認する
入庫が完了したら、「ロット在庫」 シートを開きます。
以下のような内容が追加されていれば成功です。
商品番号:P001
商品名:テスト商品A(ロット・期限あり)
ロット番号:LOT001
棚番:A-01
使用期限:2026/12/31
累計入庫数:10
現在庫数:10
17. 出庫テストをする
次に、出庫を試します。
操作パネルに以下を入力します。
商品番号:P001
ロット番号:LOT001
棚番:A-01
出庫数量:3
実際に入力するセルは以下です。
B3:P001
B8:LOT001
B9:A-01
B12:3
出庫時は、使用期限を入力しません。
入力したら、上部メニューから次の順番で操作します。
STOCKmini
↓
出庫予定
その後、
STOCKmini
↓
在庫更新を確定
を選択します。
操作パネルに、
在庫更新しました
と表示されれば、出庫完了です。
18. 出庫結果を確認する
「ロット在庫」 シートを開きます。
現在庫数が次のようになっていれば成功です。
現在庫数:7
最初に10個入庫して、3個出庫したため、残りは7個です。
19. 操作履歴を確認する
「操作履歴」 シートを開きます。
入庫と出庫の履歴が記録されています。
確認できる項目は以下です。
日時
商品番号
商品名
ロット番号
棚番
使用期限
区分
数量
更新後在庫
ロット番号と使用期限が記録されていれば、正常に動作しています。
20. 実際の商品を登録する
動作確認ができたら、「商品マスター」 シートに実際の商品を登録します。
商品マスターには、次の項目を入力します。
商品番号
商品名
ロット管理
期限管理
更新日
備考
例:
商品番号:ITEM001
商品名:サンプル商品
ロット管理:YES
期限管理:YES
備考:テスト用商品
ロット管理 と 期限管理 は、プルダウンから選択できます。
YES
NO
21. ロット管理・期限管理の考え方
ロット管理 YES
ロット番号を入力して在庫を管理します。
例:
LOT001
LOT202604
A-001
食品・化粧品・部品・製造ロットなど、ロット単位で管理したい商品に使います。
ロット管理 NO
ロット番号を使わない商品です。
この場合、操作パネルのロット番号欄は入力しません。
期限管理 YES
入庫時に使用期限を入力します。
例:
2026/12/31
食品・消耗品・期限のある部材などに使います。
期限管理 NO
使用期限を管理しない商品です。
この場合、使用期限欄は入力しません。
22. 注意事項
初期セットアップは最初に1回だけ実行してください
setupStockMiniLotV02Headers は、最初の設定用です。
運用を開始したあとにもう一度実行すると、シート内容が初期化される可能性があります。
初期セットアップは最初に1回だけ
と覚えてください。
出庫時は使用期限を入力しません
使用期限は、入庫時に登録します。
出庫時は、商品番号・ロット番号・棚番をもとに、登録済みの使用期限を自動で参照します。
商品番号を入れたら商品情報が表示されます
操作パネルの B3 に商品番号を入力すると、商品名・ロット管理・期限管理が自動で表示されます。
表示されない場合は、以下を確認してください。
商品マスターに商品番号が登録されているか
商品番号に余分なスペースが入っていないか
23. よくあるエラーと対処法
商品番号未入力
商品番号が入力されていません。
操作パネルの B3 に商品番号を入力してください。
商品なし
商品マスターに商品番号が登録されていません。
商品マスターに商品を登録してください。
商品未検索
商品番号を入力したあと、商品情報が表示されていない状態です。
操作パネルの B3 に商品番号を入力し直すか、メニューの 商品検索 を実行してください。
ロット番号がありません
ロット管理が YES の商品ですが、ロット番号が入力されていません。
操作パネルの B8 にロット番号を入力してください。
棚番がありません
棚番が入力されていません。
操作パネルの B9 に棚番を入力してください。
使用期限がありません
期限管理が YES の商品を入庫しようとしていますが、使用期限が入力されていません。
操作パネルの B11 に使用期限を入力してください。
在庫不足
出庫しようとしている数量が、現在庫数より多い状態です。
ロット在庫シートで現在庫数を確認してください。
対象在庫なし
指定した商品番号・ロット番号・棚番の在庫が見つかりません。
以下を確認してください。
商品番号が正しいか
ロット番号が正しいか
棚番が正しいか
先に入庫されているか
24. 初期設定はこれで完了です
以上で、STOCKmini ロット管理 V0.2 の初期設定は完了です。
まずはサンプル商品で入庫・出庫を試し、問題なく動作することを確認してください。
その後、商品マスターに実際の商品を登録して運用を開始します。
現在のV0.2のUIと挙動
1. 商品検索は「B3入力」で自動実行
操作パネルの B3 に商品番号を入力すると、onEdit(e) が動きます。
if (cell === "B3") {
searchByProduct();
return;
}
つまり、商品検索ボタンを押さなくても、
B3に商品番号を入力
↓
商品マスターを検索
↓
B4 商品名
B5 ロット管理
B6 期限管理
を自動表示
という動きです。
ここはボタン不要です。
2. 入庫・出庫・確定は「上部メニュー」から実行
今回のGASには onOpen() が入っています。
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("STOCKmini")
.addItem("商品検索", "searchByProduct")
.addItem("入庫予定", "nyukoRegister")
.addItem("出庫予定", "shukkoRegister")
.addItem("在庫更新を確定", "confirmStock")
.addSeparator()
.addItem("初期セットアップ", "setupStockMiniLotV02Headers")
.addToUi();
}
これにより、スプレッドシートを開くと、上部メニューに STOCKmini が出ます。
STOCKmini
├ 商品検索
├ 入庫予定
├ 出庫予定
├ 在庫更新を確定
└ 初期セットアップ
現在のV0.2では、画像ボタンではなく、このメニューを押して操作します。
入庫の流れ
現在のUIではこうです。
1. 操作パネル B3 に商品番号を入力
2. B4〜B6 に商品情報が自動表示される
3. B8 ロット番号を入力
4. B9 棚番を入力
5. B10 入庫数量を入力
6. B11 使用期限を入力
7. 上部メニュー STOCKmini → 入庫予定
8. 上部メニュー STOCKmini → 在庫更新を確定
このとき、内部ではこう動きます。
入庫予定
↓
nyukoRegister()
↓
入力チェック
↓
B14 に IN をセット
↓
在庫更新を確定
↓
confirmStock()
↓
ロット在庫・操作履歴を更新
出庫の流れ
出庫はこうです。
1. 操作パネル B3 に商品番号を入力
2. B4〜B6 に商品情報が自動表示される
3. B8 ロット番号を入力
4. B9 棚番を入力
5. B12 出庫数量を入力
6. 使用期限 B11 は空欄のまま
7. 上部メニュー STOCKmini → 出庫予定
8. 上部メニュー STOCKmini → 在庫更新を確定
内部処理はこうです。
出庫予定
↓
shukkoRegister()
↓
入力チェック
↓
B14 に OUT をセット
↓
在庫更新を確定
↓
confirmStock()
↓
ロット在庫・操作履歴を更新
さらに詳しく!
商品マスター側の設定
商品マスターはこの列です。
A列:商品番号
B列:商品名
C列:ロット管理
D列:期限管理
E列:更新日
F列:備考
このうち、重要なのは、
C列:ロット管理 YES / NO
D列:期限管理 YES / NO
です。
ロット番号の入力ルール
ロット管理 YES の場合
操作パネルの B8:ロット番号 が必須です。
ロット管理 YES
↓
B8 ロット番号 必須
未入力だと、
ロット番号がありません
になります。
ロット管理 NO の場合
ロット番号は入力しません。
ロット管理 NO
↓
B8 ロット番号は空欄
もし入力すると、
ロット管理NOの商品にロット番号入力
になります。
内部的には DEFAULT というロット番号で管理されます。
使用期限の入力ルール
期限管理 YES の場合
入庫時だけ B11:使用期限 が必須です。
期限管理 YES
かつ
入庫
↓
B11 使用期限 必須
未入力だと、
使用期限がありません
になります。
期限管理 NO の場合
使用期限は入力しません。
期限管理 NO
↓
B11 使用期限は空欄
もし入力すると、
期限管理NOの商品に使用期限入力
になります。
出庫時の使用期限
ここはV0.2で変更した部分です。
出庫時は、期限管理YESの商品でも使用期限は入力しません。
出庫時
↓
B11 使用期限は空欄
出庫時の使用期限は、ロット在庫シートに登録済みの使用期限をGASが自動で参照し、操作履歴に記録します。
つまり入庫手順は商品によって変わります
P001:ロット管理YES・期限管理YES
B3:商品番号
B8:ロット番号
B9:棚番
B10:入庫数量
B11:使用期限
P002:ロット管理YES・期限管理NO
B3:商品番号
B8:ロット番号
B9:棚番
B10:入庫数量
B11:空欄
P003:ロット管理NO・期限管理YES
B3:商品番号
B8:空欄
B9:棚番
B10:入庫数量
B11:使用期限
P004:ロット管理NO・期限管理NO
B3:商品番号
B8:空欄
B9:棚番
B10:入庫数量
B11:空欄
出庫手順も商品によって変わります
ロット管理YESの商品
B3:商品番号
B8:ロット番号
B9:棚番
B12:出庫数量
B11:空欄
ロット管理NOの商品
B3:商品番号
B8:空欄
B9:棚番
B12:出庫数量
B11:空欄
GAS上でも元通り入っています
該当するチェックは validateCommon(actionType) に入っています。
if (lotFlag === "YES" && lotNoInput === "") {
return "ロット番号がありません";
}
if (lotFlag === "NO" && lotNoInput !== "") {
return "ロット管理NOの商品にロット番号入力";
}
使用期限もこのように入っています。
if (actionType === "IN" && expireFlag === "YES" && !hasExpire) {
return "使用期限がありません";
}
if (expireFlag === "NO" && hasExpire) {
return "期限管理NOの商品に使用期限入力";
}
なので、仕様は元通りです。
違いは1点だけです。
旧仕様:
入庫時も出庫時も、期限管理YESなら使用期限必須
V0.2:
入庫時だけ、期限管理YESなら使用期限必須
出庫時は使用期限入力不要





コメント