「AppSheetって聞いたことあるけど、何から始めたらいいかわからない…」
「ノーコード開発に興味はあるけど、本当に使えるの?」
もしあなたがそう感じている初級ITエンジニアなら、この連載はまさにあなたのためのものです。私自身、AppSheetを初めて触った時、その手軽さと奥深さに驚きました。特に、既存のスプレッドシートからあっという間にアプリの「骨格」ができてしまう体験は、まさに感動モノでした。
この第1回では、AppSheet開発の第一歩となる「テーブル作成」に焦点を当てます。Googleアカウントとスプレッドシートがあれば、今日からすぐに始められます。在庫管理アプリを題材に、データ設計の基本からAppSheetでの自動生成、そして列設定までを、私の実体験を交えながら具体的に解説します。記事を読み終える頃には、一覧表示とデータ追加ができるシンプルな在庫管理アプリがあなたの手元に完成しているはずです。さあ、ノーコード開発の扉を開きましょう!
[目次を開く]
本記事でできるようになること
- GoogleスプレッドシートからAppSheetアプリを自動生成できます。
- AppSheetアプリの「テーブル」の概念と、その基盤となるスプレッドシートの列設計の重要性を理解できます。
- 在庫管理アプリを例に、一覧表示、詳細表示、新規追加ができる最小限のアプリを作成できます。
- AppSheetのキー列、ラベル列、データ型(Enum, UNIQUEID() )の基本的な設定方法を習得できます。
- ノーコード開発の第一歩を踏み出し、AppSheetでのアプリ開発の楽しさを体験できます。
前提準備
AppSheetでのアプリ開発を始めるにあたり、以下の準備が必要です。ほとんどの方がすでに持っているものばかりなので、すぐに始められるはずです。
- Googleアカウント: AppSheetはGoogle Workspaceと深く連携しています。スプレッドシートの作成、AppSheetへのログインに必要です。お持ちでない方はGoogleアカウント作成ページから作成してください。
- Webブラウザ: Google Chromeを使用しています。
在庫管理スプレッドシートの作成
AppSheetアプリのデータは、Googleスプレッドシートを始めとする様々なデータソースから取得できます。今回は最も手軽なGoogleスプレッドシートを使って、在庫管理アプリの「テーブル」となるデータを作成しましょう。
列構成とデータ型
まずは、Googleスプレッドシートを新規作成し、スプレッドシート名を「在庫管理」としてください。そして、以下の2つのシート(テーブル)を作成します。
1. 物品マスタ
このシートは、在庫として管理する物品の基本情報を定義します。1行目をヘッダーとして、以下の列を作成します。
| 列名 | 説明 | AppSheetでのデータ型 | 備考 |
|---|---|---|---|
ID | 物品を一意に識別するID | Text (Key) | 後でUNIQUEID()関数で自動生成します。 |
物品名 | 物品の名称 | Text (Label) | アプリ内で表示される主要な名前に使います。 |
型式 | 物品の型式やモデル名 | Text | |
物品の種類 | 物品のカテゴリ(例: 電子部品、工具、消耗品) | Enum | 選択肢を固定し、入力ミスを防ぎます。 |
- コピペ用ダミーデータ(物品マスタ)
以下のデータをコピーして、Googleスプレッドシートの物品マスタシートのA1セルに貼り付けてください。
| ID | 物品名 | 型式 | 物品の種類 |
| ITEM001 | 抵抗器 | 10kΩ | 電子部品 |
| ITEM002 | コンデンサ | 0.1μF | 電子部品 |
| ITEM003 | ドライバーセット | PH2 | 工具 |
| ITEM004 | はんだこて | HAKKO FX-600 | 工具 |
| ITEM005 | 養生テープ | 幅50mm | 消耗品 |
2. 在庫管理テーブル
このシートは、各物品の現在の在庫状況を管理します。1行目をヘッダーとして、以下の列を作成します。
| 列名 | 説明 | AppSheetでのデータ型 | 備考 |
|---|---|---|---|
連番 | 在庫レコード数を表す連番 | Number | |
ID | 在庫管理テーブルで一意に識別するID | Text(Key)(Label) | 後でUNIQUEID()関数で自動生成します。 |
物品名 | 物品マスタの物品名を参照 | Ref (物品マスタ) | 物品マスタと連携し、物品名を参照します。 |
型式 | 物品マスタの型式を参照 | Text | |
物品の種類 | 物品マスタの物品の種類を参照 | Enum | 選択肢を固定し、入力ミスを防ぎます。 |
ポイント: 物品名の列は、物品マスタ(Ref型)から情報を引っ張ってくるように設定します。これにより、データの重複入力や不整合を防ぎ、データ管理を効率化できます。
- コピペ用ダミーデータ(在庫管理テーブル)
以下のデータをコピーして、Googleスプレッドシートの在庫管理テーブルシートのA1セルに貼り付けてください。
| 連番 | ID | 物品名 | 型式 | 物品の種類 |
| 1 | ITEM001 | 抵抗器 | 10kΩ | 電子部品 |
| 2 | ITEM002 | コンデンサ | 0.1μF | 電子部品 |
| 3 | ITEM003 | ドライバーセット | PH2 | 工具 |
| 4 | ITEM004 | はんだこて | HAKKO FX-600 | 工具 |
| 5 | ITEM005 | 養生テープ | 幅50mm | 消耗品 |
これで、AppSheetアプリのデータソースとなるスプレッドシートの準備が整いました。次は、このスプレッドシートを使ってAppSheetアプリを自動生成してみましょう。
AppSheetでアプリ自動生成
スプレッドシートの準備ができたので、いよいよAppSheetでアプリを自動生成します。数クリックでアプリの原型が完成します。
データ接続手順(Start with your data)
- Googleスプレッドシートのメニューから、「拡張機能」>「AppSheet」>「アプリを作成」をクリックします。
- AppSheetの画面に遷移し「Your 在庫管理 app is ready!」が表示されたら、「Customize with AppSheet」をクリックします。
- 画面左側のメニューから「Data」を選択し、テーブルを確認します。
- 次に、「Data」→「+」→「Add data」から「Google Sheets」を選択し、対象のGoogleスプレッドシートから、
在庫管理テーブルシートを追加します。
これで、AppSheetが自動的にスプレッドシートのデータを読み込み、基本的なアプリを生成してくれます。ここでエラーが出ることは稀ですが、もしデータ読み込みに失敗した場合は、スプレッドシートのヘッダー行が正しく設定されているか、シート名が間違っていないかを確認してみてください。
キー列、ラベル列の設定
AppSheetがアプリを自動生成する際、通常は適切なキー列とラベル列を推測して設定してくれますが、明示的に確認・設定することが重要です。これらはアプリの動作に大きく影響します。
-
物品マスタテーブルの設定:- AppSheetエディタの左側メニューから「Data」→
物品マスタテーブルを選択します。
- キー列 (Key Column):
ID列の右側に「Key」のチェックボックスがあることを確認します。もし別の列にチェックが入っていたり、入っていなかったりする場合は、IDにチェックを入れ直してください。キー列は、各行を一意に識別するための非常に重要な列です。重複があるとデータの更新や参照に問題が生じます。 - ラベル列 (Label Column):
物品名列の右側に「Label」のチェックボックスがあることを確認します。ラベル列は、アプリ内でその行を代表する表示名として使われます。
- AppSheetエディタの左側メニューから「Data」→
-
在庫管理テーブルの設定:- AppSheetエディタの左側メニューから「Data」→
在庫管理テーブルテーブルを選択します。
- キー列 (Key Column):
ID列の右側に「Key」のチェックボックスがあることを確認します。もし別の列にチェックが入っていたり、入っていなかったりする場合は、IDにチェックを入れ直してください。 - ラベル列 (Label Column):
ID列の右側に「Label」のチェックボックスがあることを確認します。
- AppSheetエディタの左側メニューから「Data」→
これらの設定が正しく行われていることを確認したら、次のステップに進みましょう。
列を整える
AppSheetをより使いやすく、データの整合性を保つためには、いくつかの列設定を調整する必要があります。以下の設定を行います。
UNIQUEID(), Enumの初期値設定
AppSheetエディタの「Data」→テーブルで、各列の設定を調整します。
1. 物品マスタテーブルの列設定
1-1. ID列 (Key):
-
TYPEがTextになっていることを確認します。 -
INITIAL VALUEに以下の式を設定します。これにより、新しい物品を追加する際に自動的に一意のIDが生成されます。
UNIQUEID() 1-2. 物品の種類列:
-
TYPEをEnumに変更します。 - 左側の鉛筆マークをクリックし、
Valuesに物品の種類の選択肢(例:電子部品,工具,消耗品)を一つずつ追加します。これにより、ユーザーはリストから選択する形になり、入力ミスを防げます。
2. 在庫管理テーブルテーブルの列設定
2-1. 連番列:
-
TYPEがNumberになっていることを確認します。
2-2. ID列 (Key):
-
TYPEがNumberになっていることを確認します。 -
INITIAL VALUEに以下の式を設定します。これにより、新しい在庫レコードを追加する際に自動的に一意の連番が生成されます。
UNIQUEID() 2-3. 物品名列 (Ref):
-
TYPEをRefに変更します。 -
Source tableとして物品マスタを選択します。これにより、在庫管理レコードから物品マスタの情報を参照できるようになります。
2-4. 物品の種類列:
-
TYPEをEnumに変更します。 - 左側の鉛筆マークをクリックし、
Valuesに物品の種類の選択肢(例:電子部品,工具,消耗品)を一つずつ追加します。これにより、ユーザーはリストから選択する形になり、入力ミスを防げます。
これらの設定を行うことで、データの入力規則が強化され、より信頼性の高いアプリになります。
動作確認
ここまでの設定で、あなたのAppSheetアプリは基本的な在庫管理機能を備えるようになりました。実際にアプリを操作して、変更が正しく反映されているか確認しましょう。
- Formビューでの新規追加: アプリのプレビューの
在庫管理テーブル画面右下にある「+」ボタンをタップします。連番は数字で入力されるように設定されています。IDや型式は手動で入力します。物品名はドロップダウンから選択できるようになっています。物品の種類は選択式であることを確認してください。必要事項を入力し終わったら、右下のSaveをタップして保存します。
- Deckビューでの一覧表示: 新しく追加したアイテムがDeckビューに表示されていることを確認します。在庫管理テーブルの
IDや連番などの情報がカード形式で分かりやすく表示されているはずです。
- Detailビューでの詳細確認: Deckビューで追加したアイテムをタップし、Detailビューで詳細情報が表示されることを確認します。
これらの動作が確認できれば、AppSheetでのテーブル作成と基本的なデータ操作の第一歩は完了です。
AppSheet用語表
AppSheetには独自の用語がいくつかあります。ここで、今回の記事で登場した主要な用語をまとめておきましょう。
| 用語 | 意味 | 具体例 | 初心者の落とし穴 |
|---|---|---|---|
| テーブル | アプリのデータ構造の基本単位。スプレッドシートのシートがこれに相当します。 | 物品マスタ, 在庫管理テーブル | 列型未設定でデータの不整合が発生する |
| キー列(Key) | 各行を一意に識別するための列。重複は許されません。 | 物品マスタ.ID, 在庫管理テーブル.ID | 重複があるとデータの更新や参照が正しく行えない |
| ラベル列(Label) | アプリ内でその行を代表する表示名として使われる列。 | 物品マスタ.物品名,在庫管理テーブル.ID | 適切なラベルを設定しないと一覧性が悪くなる |
| Enum | 事前に定義された選択肢の中から値を選ぶ形式のデータ型。 | 物品の種類 | スペル揺れや表記ゆれで集計やフィルタリングが困難になる |
| Ref | 別のテーブルの行を参照するためのデータ型。 | 在庫管理テーブル.物品名 | 参照先テーブルのキー列とデータ型が一致しないとエラー |
| Deckビュー | カード形式でデータの一覧を表示するビュータイプ。 | 商品一覧 | 情報量が多すぎると見づらくなる |
| Detailビュー | 特定のアイテムの詳細情報を表示するビュータイプ。 | 商品詳細 | 必要な情報が網羅されていないと使いにくい |
| Formビュー | 新しいデータを入力したり、既存データを編集するためのビュータイプ。 | 新規商品登録 | 入力項目が多すぎるとユーザーの負担になる |
| UNIQUEID() | 一意のIDを自動生成する関数。 | IDの初期値 | 手動入力だと重複や入力ミスが発生しやすい |
FAQ
Q1: AppSheetは無料で使えますか?
A1: はい、小規模なアプリであれば無料で利用開始できます。Googleアカウントがあればすぐに始められますが、本格的な運用やユーザー数が増える場合は有料プランへのアップグレードが必要です。
Q2: スプレッドシート以外のデータソースも使えますか?
A2: はい、Google Sheetsの他にExcel、SQLデータベース(MySQL, PostgreSQLなど)、Salesforce、Smartsheetなど、様々なデータソースと連携できます。
Q3: 作成したアプリはスマートフォンで使えますか?
A3: はい、AppSheetはモバイルフレンドリーに設計されており、スマートフォンやタブレットのブラウザからアクセスできるほか、専用のAppSheetアプリをインストールして利用することも可能です。
Q4: ノーコード開発はプログラミング知識がなくてもできますか?
A4: はい、基本的なプログラミング知識がなくてもアプリを作成できます。しかし、より複雑なロジックやカスタマイズを行う際には、簡単な式(エクスプレッション)を記述する知識があると、より高度なアプリを開発できます。
Q5: AppSheetで作成したアプリは公開できますか?
A5: はい、作成したアプリは組織内での共有や、一般公開(有料プランが必要な場合あり)が可能です。共有設定により、アクセス権限を細かく制御できます。
次回予告
今回は、AppSheetでのテーブル作成、そして基本的な在庫管理アプリの構築を行いました。
スプレッドシートをデータソースとしてAppSheetアプリを自動生成し、データ型、キー列、ラベル列、そしてEnumやUNIQUEID()といった基本的な列設定を行うことで、データの整合性を保ちつつ、一覧表示、詳細表示、新規追加ができるアプリを作成できました。
次回は、今回作成したアプリをさらに実用的にするための「Ref」と「テーブル間の連携の基本」に焦点を当てます。
ノーコード開発は、一度基本を理解すれば、あなたのアイデアを素早く形にできる強力なツールです。この連載を通じて、AppSheetの可能性を最大限に引き出し、業務改善や新しいサービスの創出に役立てていただければ幸いです。ぜひ次回の記事も楽しみにしていてください!
関連記事
📄【第1回】AppSheetで在庫表から最短テーブル作成!初級エンジニア向け入門ガイド
📄【第2回】AppSheetのRefで親子連携!在庫管理アプリで学ぶテーブル連携の基本
📄【第3回】データベース設計入門:在庫管理アプリの要件定義からER図まで
📄【第4回】AppSheet View入門:基本の使い方と主要6タイプを徹底解説!
📄【第5回】AppSheet開発を変える!ユースケース図とシーケンス図で処理を俯瞰する
📄【第6回】ActionとAutomationで業務を徹底的に自動化する

