備品の貸出台帳をノーコードで作る:状態の変化から逆算する設計
AIを使いこなすClaudeで執筆し、GPTで自動校閲・修正しています。

結論から言うと、備品の貸出台帳は「備品表」と「貸出履歴表」の2枚に分け、備品が取りうる状態と、状態を変える操作を先に書き出してから列と画面を決めると、迷わず作れます。備品表には「いまの状態」、貸出履歴表には「いつ誰が借りて、いつ返したか」を持たせます。1枚の表に全部を詰め込むと、同じ備品を2回目に貸すときに前回の記録が消えてしまいます。 この記事では、状態遷移の図、2つの表の列例、状態ごとに必要な画面の判断表、AIに設計の下書きを頼む依頼文を順に示します。図や列は「説明用の例」で、特定のツール上で実際に動かして確認したものではありません。
この記事の目次
手順1:備品の状態と、状態を変える操作を書き出す
最初に決めるのは列ではなく状態です。少人数の備品管理なら、次の4状態で足りることが多いです。
- 在庫あり:棚にあり、貸し出せる
- 貸出中:誰かが持ち出している
- 要確認:返却時に破損や欠品が見つかり、点検待ち
- 廃棄:台帳には残すが、もう貸さない
次に、状態を変える操作を矢印にします。以下が説明用の状態遷移図です。
stateDiagram-v2
[*] --> 在庫あり: 備品を登録
在庫あり --> 貸出中: 貸出する
貸出中 --> 在庫あり: 返却する(問題なし)
貸出中 --> 要確認: 返却する(破損・欠品あり)
要確認 --> 在庫あり: 点検して復帰
要確認 --> 廃棄: 廃棄を決める
在庫あり --> 廃棄: 廃棄を決める
廃棄 --> [*]図表示に対応していない環境では、次の一覧をそのまま使ってください。
- (新規)、操作:備品を登録、次の状態:在庫あり
- 在庫あり、操作:貸出する、次の状態:貸出中
- 貸出中、操作:返却する(問題なし)、次の状態:在庫あり
- 貸出中、操作:返却する(破損・欠品あり)、次の状態:要確認
- 要確認、操作:点検して復帰、次の状態:在庫あり
- 要確認・在庫あり、操作:廃棄を決める、次の状態:廃棄
「期限超過」は状態として保存しません。返却予定日が今日より前で、まだ返却日が空の貸出を、画面上の絞り込みで見つけるものとして扱うほうが、手作業での更新漏れが起きません。
手順2:矢印の数だけ「画面の操作」が必要だと数える
矢印は、そのままボタンやフォームになります。ここで逆算すると、必要な画面が見えてきます。
- 貸出する、画面の形:入力フォーム、入力者が入れる項目:借りる人、返却予定日、表への書き込み:貸出履歴に1行追加、備品の状態を「貸出中」に
- 返却する、画面の形:行のボタンまたは小さなフォーム、入力者が入れる項目:返却時の状態(問題なし/要確認)、メモ、表への書き込み:該当の貸出履歴に返却日を入れ、備品の状態を更新
- 点検して復帰、画面の形:管理者だけのボタン、入力者が入れる項目:なし、表への書き込み:備品の状態を「在庫あり」に
- 廃棄を決める、画面の形:管理者だけのボタン、入力者が入れる項目:理由、表への書き込み:備品の状態を「廃棄」に
見落としやすい点が2つあります。
- 貸出フォームに出す備品は「在庫あり」だけにする。 貸出中の備品を選べると、二重貸しになります。
- 返却ボタンは「貸出中」の備品にだけ表示する。 在庫ありの備品に返却ボタンがあると、押し間違いで履歴が壊れます。
どちらも、状態の列を条件にして表示を切り替える設定で実現します。この条件を作るために、備品表に状態の列が必要になる、というのが逆算の考え方です。
手順3:備品表と貸出履歴表の列を決める
説明用の例として、列を次のように置きます。
備品表
- 備品ID、内容:重複しない番号(例:P-001)、入力の形:手入力または自動採番
- 備品名、内容:例:プロジェクター、入力の形:テキスト
- 置き場所、内容:例:倉庫A棚2、入力の形:テキスト
- 状態、内容:在庫あり/貸出中/要確認/廃棄、入力の形:選択式(上の4つのみ)
- 備考、内容:付属品など、入力の形:テキスト
貸出履歴表
- 貸出ID、内容:重複しない番号、入力の形:自動採番
- 備品ID、内容:どの備品か、入力の形:備品表を参照する列
- 借りた人、内容:名前、入力の形:テキストまたは選択式
- 貸出日、内容:貸した日、入力の形:日付(自動入力可)
- 返却予定日、内容:返す約束の日、入力の形:日付
- 返却日、内容:実際に返った日。空なら未返却、入力の形:日付
- 返却時の状態、内容:問題なし/要確認、入力の形:選択式
- メモ、内容:破損内容など、入力の形:テキスト
ポイントは、貸出履歴表に「貸出中」という状態列を持たせないことです。返却日が空なら貸出中、入っていれば返却済み、と読み取れます。状態を二重に持つと、片方だけ更新して食い違う事故が起きるためです。
備品表の「状態」は画面の絞り込みを楽にするために持たせます。これを持たせず、履歴から毎回計算する作り方もあります。
- 備品表に状態を保存する、向いている場面:備品が数十点まで、画面の条件を簡単にしたい、注意点:貸出・返却のたびに2表を更新する設定が必要
- 履歴から状態を計算する、向いている場面:食い違いを絶対に避けたい、設定に慣れている、注意点:計算式を理解して直す必要がある
初めてなら前者をおすすめします。
手順4:ノーコードツールの「参照」で2表をつなぐ
貸出履歴の「備品ID」列は、備品の名前を打ち直すのではなく、備品表の行を指す形にします。AppSheetでは、参照型(Ref)の列を使います。AppSheetの公式テンプレート解説では、予約表の列が人物表を指す参照型になっていて、選んだ人物の情報を別表から取り出せる例が示されています。貸出履歴から備品名や置き場所を表示したいときも、同じ考え方です。
Glideでは、表同士を結びつけるRelation(リレーション)を使います。Glideのヘルプ記事では、条件付きの関係を作る場合、条件を計算列で適用してからRelationを作る手順が説明されています。たとえば「この備品の、返却日が空の貸出だけ」を出したい場合も、この考え方を応用できます。
どちらのツールでも、備品IDの表記ゆれ(P-001とp001など)があると結びつきません。IDは手入力にせず、選択式か自動採番にしてください。無料枠や行数の上限、機能の提供範囲はプランや時期で変わるため、導入前に各社の最新の料金ページで確認してください。
手順5:AIに設計の下書きを頼み、人が確認する
状態遷移の整理はAIに下書きさせやすい作業です。次の依頼文は、そのまま貼って使えます。【 】の中を自分の状況に置き換えてください。
備品の貸出台帳をノーコードで作ります。次の条件で、状態の一覧、
状態遷移の表(今の状態・操作・次の状態)、備品表と貸出履歴表の列案、
必要な画面を出してください。
- 備品の数:約【50】点
- 使う人:【職員10人】、管理者は【2人】
- 貸出期間の目安:【最長1週間】
- 返却時に破損が見つかることがある
- 使うツール:【AppSheet / Glide / Googleスプレッドシート】
- 貸出履歴表には「貸出中」のような状態列を作らず、返却日の空欄で判断したい
最後に、二重貸しや返却の記録漏れが起きそうな場面を3つ挙げてください。渡してよい情報は、備品の種類と運用ルールまでです。実在の氏名、社員番号、備品の資産番号などは、ダミーに置き換えてください。AIの回答は、次の点を人が確認します。
- 状態遷移の表に、行き止まりの状態(そこから動けない状態)がないか
- 「貸出する」の入口が「在庫あり」だけになっているか
- 貸出履歴表に状態を二重に持たせる案が混ざっていないか
- 返却時に破損があった場合の流れが入っているか
手順6:公開前に、サンプル3件で一周させる
ツールで作ったら、本番データを入れる前に、ダミーの備品3件で次の順に操作します。
- 在庫ありの備品を1件貸し出す。備品の状態が「貸出中」になり、履歴に1行増える
- 同じ備品を、もう一度貸出フォームで選べないことを確かめる
- 返却(問題なし)で、状態が「在庫あり」に戻り、返却日が入る
- 別の備品を貸し出し、返却時に「要確認」を選ぶ。状態が「要確認」になる
- 返却予定日を過去の日付にした貸出が、期限超過の絞り込みに出てくる
ここで想定と違う動きがあれば、手順1の遷移表に戻って、矢印と書き込み先のどちらがずれているかを見ます。列を足すより先に、遷移表を直すほうが早く片付きます。借りた人の名前などの個人情報を入れる場合は、閲覧できる人を絞る設定も、公開前に確認してください。

