【完全版】GASで在庫管理システムを作成する方法|無料でできる業務効率化ツールの作り方!

はじめに

「エクセルで在庫管理しているけど、更新漏れが怖い…」
「もっとラクに、リアルタイムで在庫数を管理できたら!」

そんなあなたにぴったりなのが、
Google Apps Script(GAS)を使った在庫管理システムの作成です!

この記事では、初心者でもすぐに取り組めるように、
GASとGoogleスプレッドシートを活用して在庫管理システムを作る方法を徹底解説します。

これを導入すれば、
もう手作業で在庫表をいじるストレスとは無縁になります!


GASで在庫管理システムを作るメリット

まず、なぜGASを使って在庫管理システムを作るのか?
理由はシンプルです。

  • 無料で利用できる(GoogleアカウントさえあればOK)

  • スプレッドシートでデータをリアルタイム共有

  • 自動更新やアラート設定も可能

  • 取引履歴、入出庫管理もワンクリック

  • 自社専用にカスタマイズ自由

つまり、
**「小規模でも本格的な在庫管理システム」**がノーコード・低コストで作れるのです!


GASで作る在庫管理システムの基本設計

まず、どんな仕組みにするか全体像を決めます。

機能例:

  • 【在庫一覧管理】:商品名、商品コード、在庫数、単価

  • 【入庫管理】:入庫ボタンで在庫数増加

  • 【出庫管理】:出庫ボタンで在庫数減少

  • 【在庫アラート】:閾値以下で通知

  • 【履歴管理】:入出庫履歴を自動記録

これらをGASで実現していきます!


【実践編】GASで在庫管理システムを作ろう!

それでは、具体的な構築手順に入ります!


ステップ1:在庫データ用スプレッドシートを作成

まず、Googleスプレッドシートを作ります。

シート名:在庫管理

カラム例:

  • A列:商品コード

  • B列:商品名

  • C列:在庫数

  • D列:単価

  • E列:最小在庫数(アラート用)

もうひとつシートを追加します。

シート名:入出庫履歴

カラム例:

  • A列:日時

  • B列:商品コード

  • C列:商品名

  • D列:入庫 or 出庫

  • E列:数量

  • F列:担当者

これが在庫管理の基盤になります!


ステップ2:Apps Scriptエディタを開く

「拡張機能」→「Apps Script」でエディタを開き、
新しいプロジェクトを作成します。


ステップ3:入庫・出庫処理のスクリプトを書く

以下のようなコードを書きます!

function updateStock(action, code, quantity, person) {
  const stockSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('在庫管理');
  const logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('入出庫履歴');
  const stockData = stockSheet.getDataRange().getValues();

  for (let i = 1; i < stockData.length; i++) {
    if (stockData[i][0] === code) {
      let currentStock = stockData[i][2];

      if (action === '入庫') {
        currentStock += quantity;
      } else if (action === '出庫') {
        currentStock -= quantity;
      }

      stockSheet.getRange(i + 1, 3).setValue(currentStock);

      logSheet.appendRow([
        new Date(),
        stockData[i][0],
        stockData[i][1],
        action,
        quantity,
        person
      ]);

      // 在庫アラート
      const minStock = stockData[i][4];
      if (currentStock <= minStock) {
        sendLowStockAlert(stockData[i][1], currentStock);
      }

      break;
    }
  }
}

function sendLowStockAlert(productName, stock) {
  MailApp.sendEmail({
    to: 'your-email@example.com',
    subject: `在庫警告:${productName}`,
    body: `${productName}の在庫が少なくなっています。現在の在庫数は${stock}です。早めに発注を検討してください。`
  });
}

このスクリプトで、

  • 入庫/出庫の数量更新

  • 履歴記録

  • 最小在庫数以下で自動アラートメール送信

まで一括で処理できます!


ステップ4:簡単な実行ボタンを作成する

スプレッドシート上にボタンを設置して、スクリプトを呼び出せば、
ワンクリックで入出庫管理も可能です!

ボタン設置手順:

  • 「挿入」→「図形描画」でボタンを作成

  • 作成したボタンを選択→「割り当てるスクリプト」に入庫関数名出庫関数名を指定

例:

function 入庫ボタン() {
  const code = Browser.inputBox('商品コードを入力してください');
  const quantity = Number(Browser.inputBox('入庫数量を入力してください'));
  const person = Session.getActiveUser().getEmail();
  updateStock('入庫', code, quantity, person);
}

function 出庫ボタン() {
  const code = Browser.inputBox('商品コードを入力してください');
  const quantity = Number(Browser.inputBox('出庫数量を入力してください'));
  const person = Session.getActiveUser().getEmail();
  updateStock('出庫', code, quantity, person);
}

これで、
誰でもミスなく在庫管理できる操作性が完成します!


さらにできる応用アイデア

在庫管理システムをもっと本格的にするなら!

  • 出庫時に納品書自動生成&PDF化

  • 在庫推移をグラフ化してダッシュボード表示

  • 部門ごとに在庫状況を分けて管理

  • 定期的に在庫棚卸しチェックリスト自動作成

  • SlackやLINEにリアルタイム通知

GASなら、必要な機能を自由に追加できます!


よくあるエラーと対策

初心者がハマりがちなポイントもまとめます!

■ 商品コードの一致ミス

  • 必ず完全一致(余分なスペースに注意!)

■ トリガー権限設定忘れ

  • 自動メール送信を使う場合、必ずスクリプト実行時にGAS権限を「許可」しましょう!

■ 在庫数がマイナスになる問題

  • 出庫時に在庫数がマイナスになったら警告を出す処理を追加するのもおすすめです!


まとめ|GASで在庫管理システムを作れば、ミスなく、スマートに管理できる!

この記事では、
GASを使った在庫管理システム作成方法を初心者向けにわかりやすく解説しました!

✅ スプレッドシートを使った在庫データ管理
✅ 入庫・出庫処理をGASで自動化
✅ 在庫不足アラートを自動通知
✅ ボタン操作で誰でも使いやすく!

これさえできれば、
もう在庫管理に悩むことはありません!

今日からあなたも、
**「スマート在庫管理担当」**に進化しましょう!

Shop now