今回は、スプレッドシートをデータベースのように利用する方法をご紹介。
この記事の内容をマスターすればあなたの情報管理能力をアップできるでしょう。
スプレッドシートなんて使ったことないという方でもわかりやすいように手順をステップごとに細かく解説。
また、完成品のスプレッドシートも提供しますので誰でも簡単にスプレッドシートをデータベースとして使い始められます。
ぜひ最後までご覧になってください。
スプレッドシートとデータベースの違い

本章では、それぞれの特徴と向き不向きを比較します。
スプレッドシートとデータベースの主な違いは、以下のとおり。
- スプレッドシート
スプレッドシートは、表形式でデータを表示し、列と行を使用して構造化します。
データの取り扱いは比較的柔軟で、数式や関数を使ってデータを操作できます。 通常、小規模なデータセットや計算が必要なデータに適しています。 - データベース
データベースは、スプレッドシートに比べてより複雑で構造化された方法でデータを保存します。
テーブルと呼ばれる形式でデータを保存し、それぞれのテーブルは特定の列とそれに関連するデータ行で構成されます。
またリレーションという概念でデータ上で重複したデータが発生しないように連携して1つのデータを保管します。
総括すると、スプレッドシートは小規模なデータや単純な計算に適しており、データベースは、データを整理して管理することを得意としています。
Google Apps Scriptを利用すればスプレッドシートをデータベースとして利用可能
データの整理が得意なデータベースですが利用方法は非常に複雑で初心者には手が出ません。
スプレッドシートをデータベースのようなデータの整理に特化したシステムとして扱う方法としてGoogle Apps Scriptを利用する方法があります。
Google Apps Script(GAS)とは

GAS(Google Apps Script)は、Google Workspaceの機能を拡張し、カスタマイズするためのスクリプト言語です。
基本的な使い方や構文を理解することで、スプレッドシートをデータベースのように活用できます。
スプレッドシートをデータベース化するために必要な機能
今回、スプレッドシートをデータベースとして利用するために以下の機能を実装します。
データの追加・更新機能
スプレッドシートに新しいデータを追加したり、既存のデータを更新する機能。
シート上に必要項目を入力し登録ボタンを押すことで対応するシートへデータを登録します。
データの自動更新機能
登録されたデータに応じて情報を自動的に更新します。
入力シートに登録されている内容に応じて情報を更新する機能を実装します。
データの検索機能
データベースは、自由にデータを検索して抽出できる必要があります。
今回は、登録されている情報をキーワードにて検索できる機能を実装します。
実践:入出荷管理システムをつくってみよう!

ここからは、サンプルとしてデータベースシステムとして利用するために必要とお伝えした先ほどの機能がすべて搭載されているシステムを開発していきます。
開発するシステムは、商品の入荷、出荷を管理するための入出荷管理アプリ。
機能としては、以下になります。
- 商品登録機能新商品を商品リストに追加します。商品は、管理をしやすくするために個別に管理番号と商品の種別を登録できます。管理番号は、自動的に連番で登録されます。
- 入出荷登録機能商品リストに記載されている商品の入荷、出荷情報を登録します。登録情報をもとに商品の在庫数を更新します。また、登録した入出荷情報は、日時を含めて履歴として格納します。これでいつどの商品が何個、入出荷したかが管理できます。
- 商品照会機能登録されている商品の在庫数を表示します。検索は、商品名で検索が行えます。
事前準備:在庫管理用スプレッドシート作成
在庫管理システムを作成するためのスプレッドシートを作成します。
スプレッドシートの開き方はこちらを参考にしてください。
今回作成するスプレッドシートのシート名とそれぞれのシートデザインは以下。
スプレッドシートのファイル名について
スプレッドシートを作成する際は、わかりやすいようにファイル名を「在庫管理システム」などにしておきましょう。
後ほどGoogle Apps ScriptでスプレッドシートIDを指定する場面があるため、ファイル名を決めておくと管理がしやすくなります。
入出荷登録シート
最大10件まで登録できるようにします。
画像のようなレイアウトで表を作成します。

項目は以下の通りです。
| No | 商品名 | 入庫種別 | 数量 |
入出荷種別は、プルダウンを利用しましょう。
プルダウンは、セルを右クリック、プルダウンで設定できます。

選択項目は、「入荷」、「出荷」を設定します。
わかりやすいように色を分けておきましょう。
今回は入荷を赤、出荷を青にしています

プルダウンを10行目までコピーしておきましょう。
登録実行用のボタンは、「挿入」→「図形描画」の順でクリックして図形作成します。

「図形」→「ベベル(面取り)」を選びます。

図形をクリックすると文字が入力できるので「登録」と入力します。

シート名は「入出荷登録シート」にしておきましょう。
商品登録シート
商品登録用フォームを画像のようなデザインで作成します。

項目は以下のとおり。
| 項目 | 設定内容 |
| 商品名 | |
| 種別 |
シート名を「商品登録シート」にしておきましょう。
商品照会シート
2行目に検索エリア、5行目以降を検索結果表示エリアとします。
画像のように列名とボタンを設定します。

項目は以下の通り。
検索項目
| 商品名 |
リスト項目
| 管理番号 | 商品名 | 種別 | 数量 |
シート名は「商品照会シート」にしておきましょう。
履歴シート
履歴表示用の列名を画像の内容にて作成します。
ITツールの匠ストア「GASで本格データベースプログラミング!スプレッドシートをDBとして使う方法【無料・ソースコードコピペOK】」はこちら >>
動作確認
開発した在庫管理システムの動作を確認し、正常に機能することを確認します。
まずは商品を登録してみましょう。
商品登録シートで商品名「りんご」種別「果物」で登録します。

登録が完了したら在庫管理シートにりんごが追加されていれば登録完了です。
同じ手順で商品名「みかん」種別「果物」と商品名「トマト」種別「野菜」も登録しておきましょう。

「すでに登録されています。」と出る場合は、「在庫管理シート」に登録されています。
また登録されていないのにエラーが出る場合は、商品名セルが選択状態になっている可能性があります。
セルの選択を外してから再度登録をしてみましょう。

続いて入出荷の登録をしてましょう。
画像のように入出荷登録シートにて登録商品に対して入出荷の数量を設定します。

「登録」ボタンを押して完了メッセージが表示されたら履歴シートをチェックしてみましょう。
登録した情報が履歴として保管されていることを確認します。

合わせて在庫管理シートに登録されている商品の数量が変化していることを確認します。

登録情報どおりに変更されていれば成功です。
最後に照会機能を使ってみます。
商品照会シートにて商品名を「りんご」で検索して結果が表示されることを確認します。

これで、動作確認は完了です。
まとめ

今回は、スプレッドシートをデータベースのように扱うための方法とお試しとして在庫管理アプリの作成を行いました。
本記事の内容をまとめると以下。
今回ご説明した在庫管理システムは、あくまで最低限の機能しか搭載していないシンプルなシステムです。
業務内容に合わせて項目を増やしたり、自動通知の仕組みを加えるなど、自由にカスタマイズしてみてください。



