「社内のノートPCやプロジェクター、誰がいつ持ち出したか分からなくなりがち…」と悩んでいませんか?
Googleのノーコードツール「AppSheet(アップシート)」を使えば、備品に貼ったQRコードをスマホで読み取るだけで、「貸出中」「返却済」を記録できる便利なアプリが数分で作成できます。
ただし、これを無料のGoogleアカウント(@gmail.com)で作成して社内で使い回すと、誰が借りたかの記録が曖昧になったり、情報が漏洩したりするリスクがあります。
この記事では、QRコードを読み取れる備品貸出アプリの具体的な作り方と、ビジネスで安全に運用するためのGoogle Workspace(有料版)の必須知識を分かりやすく解説します。
1. 無料のAppSheetで備品管理をする3つのリスク
AppSheetは無料でもアプリの開発が可能ですが、実際の業務(複数人での貸出管理)に投入すると以下の壁にぶつかります。
- ① 「誰が借りたか」の自動記録が難しい(なりすましリスク)
- 無料の個人アカウント間でアプリを共有すると、AppSheetの強力な機能である「ログインしているユーザーのメールアドレスを自動記録する機能(
USEREMAIL())」が正しく機能しなかったり、誰でも他人の名前で貸出処理ができてしまったりします。
- 無料の個人アカウント間でアプリを共有すると、AppSheetの強力な機能である「ログインしているユーザーのメールアドレスを自動記録する機能(
- ② 退職者が発生するとアプリと備品データが消滅する
- 無料アカウントで作成したアプリは「個人」の持ち物です。作成した担当者が退職してアカウントを削除すると、現場の備品管理システムが元データ(スプレッドシート)ごとすべて消滅してしまいます。
- ③ アプリに「プロトタイプ(試作品)」の警告が出続ける
- 無料のまま他のスタッフに共有すると、動作に制限がかかったり警告表示が出たりして、現場の混乱を招きます。
これらのリスクを完全に排除し、安全な公式アプリとして現場へ導入するには「Google Workspace」環境が欠かせません。
2. Workspaceの「自動ユーザー記録」で備品の紛失を防ぐ!
社内でAppSheetを本格稼働させる場合、通常は有料ライセンスが必要ですが、「Google Workspace(Business Starter等)」を契約していれば、有料版のAppSheetが追加費用なしで最初から利用できます!
Workspace環境(@社名.com)でアプリを運用すれば、「アプリを操作した社員のメールアドレス(誰が借りたか)」をシステムが確実に自動記録してくれます。
さらに、元となるスプレッドシートを「共有ドライブ」に保存することで、アプリは個人の持ち物から「会社の資産」になり、担当者が変わっても安全に引き継げます。
3. 【実践】QRコード読み取り付き「備品貸出アプリ」の作り方
ここからは、実際に手元の環境でアプリを作成する手順を解説します。まずは無料でテストアプリを作ってみましょう!
ステップ1:スプレッドシートでデータベースを作成
まずはアプリの元となるデータを準備します。
Googleスプレッドシートを開き、1行目(見出し)に以下の項目を作成し、テストデータを入力します。
- A列:備品ID(※QRコードにする英数字)
- B列:備品名(例:プロジェクターA)
- C列:ステータス(例:貸出可能 / 貸出中)
- D列:最終利用者(※ここに自動でメールアドレスが入ります)
- E列:更新日時

有料版であれば、この表も自動で作成することができます。詳しくはこちら
【無料版 vs 有料版】スプレッドシートのGemini活用術!関数作成からデータ分析まで自動化する必須設定
ステップ2:AppSheetを起動してアプリを生成
スプレッドシートのメニューから**「拡張機能」>「AppSheet」>「アプリを作成」**をクリックします。数秒で一覧画面を持つアプリのベースが完成します。
ステップ3:QRコード(バーコード)読み取りを有効化する
スマホのカメラでQRコードをスキャンできるように設定します。
- AppSheet画面左側のメニューから**「Data」>「Columns」**を開きます。
- 「備品ID」の行を探し、編集(鉛筆アイコン)をクリックします。
- Other Propertiesの**「Searchable」と「Scannable」**の項目にチェックを入れて保存(Save)します。

💡 ワンポイント:QRコードとバーコードの違いは?
AppSheetでは、**「Scannable」にチェックを入れるだけで、カメラが自動的にバーコードもQRコードも両方認識してくれます。**特別な設定変更は不要です!
ステップ4:入力時に自分のアドレスを自動記録させる
貸出処理をした際、「誰が借りたか」を自動で記録する設定を行います。
- 同じく「Columns」の設定画面で、「最終利用者」の行の編集(鉛筆アイコン)を開きます。
- Auto Computeを開いて**「App formula」**という入力欄に
USEREMAIL()と入力して保存します。

これで、QRコードを読み取ってステータスを更新した際、操作している人のメールアドレスが自動的に記録されるようになります。
QRコードの読み取り方は2パターンある!
QRコードを使った備品貸出アプリの運用には、用途に合わせて2つのアプローチがあります。自社の使い方に合った方法を選びましょう!
パターンA:「AppSheetアプリ」を開いてからスキャンする(基本)
前項で解説した作り方がこちらです。
- QRコード作成アプリで「備品ID」のテキストのみのQRコードを作成し、備品に張り付ける
- スマホでAppSheetのアプリを開く
- アプリ内の上にある検索バーのScanボタンを押す
- 備品に貼られたQRコード(中身は「ITEM-001」などの単なる文字)を読み取る
- 該当する備品のデータが表示され、ステータスを変更する
メリット: QRコードの中身がシンプルな文字だけで済むため、既存のバーコードシールなどもそのまま流用できます。
パターンB:「スマホの標準カメラ」から直接アプリに飛ぶ(超便利!)
「わざわざアプリを開くのが面倒…」という場合は、こちらの方法がおすすめです!
- iPhoneなどの「標準カメラ」を起動してQRコードを読み取る
- 画面に「AppSheetを開く」という通知が出るのでタップする
- 直接その備品の「ステータス編集画面」がパッと開く!
パターンBの作り方(ディープリンク)
この魔法のような動きを実現するには、QRコードの中身を単なる文字ではなく、**「その備品の編集画面に直接飛ぶURL(ディープリンク)」**にする必要があります。
- パソコンのブラウザで右上のボタンからAppSheetのアプリを開きます。

- 該当する備品(例:プロジェクターA)の「編集画面(ステータスを変更する画面)」を開きます。

- その状態のまま、ブラウザの上部にある**「URL(https://www.appsheet.com/… で始まる長い文字列)」**をすべてコピーします。
- 無料のQRコード作成サイト(「QRのススメ」など)を開き、コピーしたURLを貼り付けてQRコード画像を作成します。
- これを印刷して備品に貼り付ければ完成です!
この方法なら、初めてアプリを使うスタッフでも「とりあえず標準カメラで読み取ればOK」となるため、社内への定着率が劇的にアップします。
【応用編】GAS連携!「備品名」の文字に写真URLを自動で埋め込む
「プロジェクターAって、どの型番のやつだっけ…?」
備品の名前だけだと、現場のスタッフが機材を取り違えてしまうミスが起こりがちです。
そこで、AppSheetで**「新しい備品を登録する時にスマホで写真を撮り、スプレッドシートの『備品名』の文字に、その写真のリンクを自動で埋め込む」**というプロ仕様の仕組みをGASで作ってみましょう!
これを作れば、スプレッドシート上で備品名をクリックするだけで、一瞬で機材の写真を確認できるようになります。
ステップ1:スプレッドシートに「写真」の列を追加する
まずは、写真を保存するための場所を作ります。
スプレッドシートのF列(更新日時の隣)に、**「備品写真」**という見出しを追加してください。
💡 AppSheet側への反映を忘れずに!
スプレッドシートに列を追加したら、AppSheetのメニュー「Data」>「Columns」を開き、右上の**「Regenerate Structure(構造を再生成)」**ボタンを押してください。TypeがTextになっている場合はImageに変更してください。これでアプリ内にカメラ機能が追加されます。
ステップ2:GASのコードを貼り付ける
スプレッドシートのメニューから 「拡張機能」>「Apps Script」 を開き、以下のコードを貼り付けて保存します。
function embedEquipmentPhotoUrl(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// AppSheetで一番新しく追加された行(一番下の行)を取得
const lastRow = sheet.getLastRow();
// B列(2列目:備品名)と F列(6列目:備品写真)のセルを取得
const nameCell = sheet.getRange(lastRow, 2);
const photoCell = sheet.getRange(lastRow, 6);
const itemName = nameCell.getValue();
const imagePath = photoCell.getValue(); // 例:Images/photo_123.jpg
// 備品名と写真が入力されていて、まだURLになっていない場合のみ実行
if (itemName !== "" && imagePath !== "" && typeof imagePath === "string" && !imagePath.startsWith("http")) {
// すでに文字の裏側にリンク(リッチテキスト)が埋め込まれているか確認
const currentRichText = nameCell.getRichTextValue();
if (currentRichText && currentRichText.getLinkUrl() !== null) {
return; // すでにリンクがあれば処理をストップ(重複防止)
}
// パス(Images/〇〇.jpg)からファイル名だけを切り出す
const fileName = imagePath.split("/").pop();
// Googleドライブ内から該当する画像ファイルを検索
const files = DriveApp.getFilesByName(fileName);
if (files.hasNext()) {
const file = files.next();
const fileUrl = file.getUrl(); // ドライブのURLを取得
// ★関数を使わず「リッチテキスト」で文字の裏側にリンクを仕込む
const richText = SpreadsheetApp.newRichTextValue()
.setText(itemName) // 見た目は元の備品名のまま(例:プロジェクターA)
.setLinkUrl(fileUrl) // 裏側に写真のURLをセット
.build();
// セルにリッチテキストをセットして上書き
nameCell.setRichTextValue(richText);
}
}
}
下図のように張り付けたら、保存して実行を押してください。

⚠️ 初回実行時の「アクセス承認」について
初めて実行を押した際、「承認が必要です」というポップアップが出ます。以下の手順で許可してください。
- 「続行」をクリック ➔ ご自身のGoogleアカウントを選択
- 「このアプリは Google から確認されていません」と出たら、左下の 「詳細」 をクリック
- 一番下の 「無題のプロジェクト(安全ではないページ)に移動」 をクリック
- 最後に 「許可」 をクリックして完了です。
ステップ3:トリガー(自動実行)を設定する
最後に、このプログラムが「AppSheetで備品が追加された時」に自動で動くようにトリガーを設定します。
- GASエディター左側のメニューから時計マーク(トリガー)をクリックします。
- 右下の「トリガーを追加」を押します。

- 実行する関数:
embedEquipmentPhotoUrl - イベントのソース:
スプレッドシートから - イベントの種類:
変更時 - 「保存」を押して、アクセスを承認します。

これで完成です! AppSheetから新しく備品を登録して写真を撮ると、スプレッドシートのB列(備品名)が青いリンク文字に変わり、クリックするだけでドライブに保存された写真がパッと開くようになります!
4. まとめ:テスト作成は無料で、本番導入はWorkspaceで!
AppSheetを使えば、QRコードを活用した本格的な貸出管理アプリが驚くほど簡単に作れます。
最初は無料アカウントでテスト作成を行い、「よし、これを自社の公式業務として現場に配ろう!」と決まったタイミングで、確実なユーザー記録ができ、データ消失のリスクがないGoogle Workspace環境へ移行させるのが最も賢い進め方です。
Google Workspaceは最初の14日間は完全無料で試すことができます。導入の際は、初年度が10%安くなる以下のプロモーションコードもぜひ活用してください。
▶ 【関連記事】 【10%OFF特典あり】Google Workspaceを安く始める方法!導入手順完全ガイド
▶ 【関連記事】 AppSheetで在庫管理アプリを作成する方法!無料版の限界とビジネス運用の必須設定
【今すぐ使える】Google Workspace 10%OFFプロモーションコード
お申し込みの際、決済画面で以下のコードを入力すると初年度の利用料が10%割引になります。
- Business Starter プラン用:
67MTEGDFHLUVXHV74LHNFHXH46CGTH
- Business Standard プラン用:
C6367KUCFLKVNCDLAGVTV4QLPM9V3R


コメント