Cloud Service
AppSheet
コードを書かずにスプレッドシートやデータベースから業務アプリを作れるノーコード基盤。スマホ対応の入力フォームや自動化を現場主導で内製でき、Microsoft Power Apps に近い位置づけの AppSheet。
- 1.既存のスプレッドシートやデータベースを土台に、コードを書かずに業務アプリを作るノーコード基盤。
- 2.Web とモバイルの両方で動くアプリを生成し、入力フォーム・一覧・地図・通知などを自動化と合わせて構成できる。
- 3.現場の担当者が自分でアプリを内製でき、IT 部門はガバナンスとデータ接続を管理する分業がしやすい。
解決する課題
現場の業務には、紙やスプレッドシートで回している小さな手作業がたくさんあります。点検記録、在庫の棚卸し、申請の受付、訪問報告などです。これらを正式なアプリにしたくても、開発者を確保してフルスクラッチで作るのはコストも時間もかかります。AppSheet は、すでにあるスプレッドシートやデータベースをそのままデータ源にして、コードを書かずに業務アプリを組み立てられるようにします。
- スプレッドシートで回している業務を、入力ミスや二重入力を防ぐアプリに置き換えたい
- アプリ開発の専任エンジニアがいなくても、現場の担当者が自分で内製したい
- スマホからの写真撮影・位置情報・署名・バーコードなどをフォームに取り込みたい
- 申請や承認、通知メールといった定型の自動化をノーコードで組みたい
- IT 部門はデータ接続と権限を管理しつつ、作成は現場に任せる分業をしたい
主要概念と用語
- アプリ(App): AppSheet で作る業務アプリの単位。データ源・画面(ビュー)・自動化・権限をまとめて持つ
- データ源(Data Source): アプリの土台となるデータ。Google スプレッドシート、Cloud SQL などのデータベース、各種クラウドストレージや表計算サービスを接続できる
- テーブル(Table): データ源の中の表。列の型(テキスト、数値、日付、画像、位置情報など)を定義して扱う
- ビュー(View): データを表示・操作する画面。一覧、詳細、フォーム、地図、カレンダー、ダッシュボードなどの形式がある
- 式(Expression): 列の計算や表示条件、入力検証などを記述する数式。アプリの挙動をノーコードで制御する中心要素
- アクション(Action): 行の更新、別ビューへの遷移、外部リンクの起動など、ユーザー操作に紐づく振る舞い
- オートメーション(Automation): イベント(行の追加・更新など)をきっかけに、メール送信・通知・データ更新などを自動で実行する仕組み
- セキュリティフィルタ(Security Filter): ユーザーごとに見える行を絞り込む式。手元の端末に同期するデータ範囲を制限する
- オフライン同期: ネットワークが切れていても操作でき、再接続時にデータ源と同期する仕組み
仕様・制限・クォータ
- ノーコード前提: アプリの大半は式と設定で構成する。一般的なプログラミング言語のコードは書かない
- データ源は外部接続: AppSheet 自体は専用のデータベースを持たず、スプレッドシートやデータベースなど接続したデータ源を読み書きする形が基本
- 対応プラットフォーム: 生成したアプリはブラウザと iOS / Android の両方で動作する
- 同期モデル: 端末はデータ源と同期して動作する。扱う行数や列数、画像などの容量が大きすぎると同期が重くなるため、データ規模には実用上の上限がある
- 行数・テーブル規模の目安: 大量データには不向きで、適度な規模の業務データに向く。大規模・高頻度の処理はデータベース側や別サービスに寄せる
- プランによる差: 利用できる接続先、ユーザー数、自動化や API の利用範囲は契約プランで変わる。具体的な上限値や本数はプランや時期で変動するため、最新は公式情報で確認する
内部の仕組み
AppSheet は、接続したデータ源を読み取って列の型や関係を推定し、初期のアプリ(ビューやフォーム)を自動生成します。作成者はそこに式・アクション・自動化を加えて挙動を整えます。実行時は、各ユーザーの端末がデータ源と同期し、許可された範囲のデータをローカルに持って動作します。
- データ源のテーブルとカラムを読み取り、型推論でフォームや一覧の初期形を作る
- 列の表示条件・入力検証・計算は式で定義し、サーバー側ではなくアプリの定義として評価される
- ユーザー操作や行の変更をイベントとして捉え、オートメーションがメール・通知・データ更新などを実行する
- セキュリティフィルタで、各ユーザーに同期する行をサーバー側で絞り込む
- オフライン時はローカルの変更を保持し、再接続時にデータ源へ反映して整合を取る
AppSheet は接続したデータ源の構造をそのまま反映します。列の型・キー・テーブル間の関係を最初に整えておくほど、自動生成されるアプリが素直になり、後からの式やビューの追加も楽になります。スプレッドシートを散らかったまま接続するより、正規化された表を用意するのが近道です。
設計パターン / ベストプラクティス
- データ源を先に整える: 1 行 1 レコード、列ごとに型を統一し、一意キーを用意してから接続する
- 業務規模に合わせて選ぶ: 大量・高頻度のデータはスプレッドシートではなく**データベース(Cloud SQL など)**を源にして同期負荷を抑える
- セキュリティフィルタで範囲を絞る: 全行を全員に配らず、担当者やチーム単位で見える行を制限し、同期も軽くする
- 自動化はシンプルに保つ: 1 つのオートメーションに処理を詰め込みすぎず、イベントと処理を分けて見通しよく組む
- 式は読みやすく: 複雑な条件は仮想列や名前付きの中間列に分けて、保守しやすくする
- 現場内製とガバナンスを両立: 作成は現場、データ接続・権限・公開の管理は IT 部門、という分業で野良アプリ化を防ぐ
運用・監視
- 管理者向けの画面で、組織内に作られたアプリの一覧・利用状況・データ接続を把握する
- どのデータ源に誰が接続しているかを点検し、承認されていない接続や共有がないかを確認する
- アプリのバージョン管理を使い、本番に反映する前に変更を検証してから公開する
- オートメーションの実行履歴やエラーを確認し、メール送信や通知が想定どおり動いているかを追う
- 利用が少ない・放置されたアプリを棚卸しし、ライセンスとデータアクセスを整理する
コスト
課金は主に**アプリを使うユーザー数(プラン単位)**に基づきます。利用できる接続先や自動化、API、ユーザー管理の範囲がプランごとに異なり、個人検証向けの無償利用と、組織向けの有償プランに分かれます。データ源側(スプレッドシートやデータベース)の費用は別に発生します。
| 費用要素 | 課金の考え方 | コスト最適化のヒント |
|---|---|---|
| 利用プラン | アプリ利用ユーザー単位の月額が基本 | 実際に使う人数に合わせてプランを選ぶ |
| 接続データ源 | データベースなど接続先の費用は別途 | 規模に合った安価なデータ源を選ぶ |
| 自動化/通知 | 上位プランで利用範囲が広がる | 必要な自動化に絞って無駄な実行を避ける |
| 放置アプリ | 未使用でもライセンスを占有しうる | 棚卸しで不要なアプリと割当を整理する |
セキュリティ
- アプリ利用者はサインインで認証し、データ源やアプリへのアクセスを ID に紐づけて制御する
- セキュリティフィルタで、各ユーザーに見せる行をサーバー側で絞り込み、不要なデータを端末へ配らない
- データ源(スプレッドシートやデータベース)側の共有設定とアクセス権を最小限に保ち、AppSheet 経由の権限と二重で管理しない
- 機密データを扱うアプリは、接続先の選定・共有範囲・公開方法を IT 部門のガバナンス下に置く
- 組織管理機能で、作成できるユーザーや接続できるデータ源をポリシーで制限し、野良利用を防ぐ
AppSheet のアプリで権限を絞っても、土台のスプレッドシートやデータベースが広く共有されていれば意味がありません。AppSheet 側のセキュリティフィルタと、データ源そのもののアクセス権の両方を最小権限で揃えてください。どちらか一方だけでは情報漏えいの抜け道になります。
関連サービス・比較
データの保管先として Google スプレッドシートや Cloud SQL と組み合わせるのが基本構成です。小規模・少人数ならスプレッドシートを源に手早く始め、データ量や同時利用が増えるなら Cloud SQL などのデータベースに移すと、同期の安定性と性能が高まります。他クラウドの相当サービスとしては Microsoft Power Apps が近い位置づけです。
| 観点 | AppSheet(GCP) | Microsoft Power Apps |
|---|---|---|
| 位置づけ | ノーコードの業務アプリ基盤 | ローコード/ノーコードのアプリ基盤 |
| 作り方 | 式と設定が中心 | 式と設定が中心 |
| 主なデータ源 | スプレッドシートやデータベース | Dataverse や各種コネクタ |
| 実行先 | ブラウザとモバイル | ブラウザとモバイル |
| 想定ユーザー | 現場担当者の内製 | 現場担当者の内製 |
| 自動化 | オートメーションで構成 | Power Automate と連携 |
最初から本格的なデータベースを用意する必要はありません。整理した Google スプレッドシートを源に小さく作り、利用が定着して規模が増えてから Cloud SQL などへ源を移す進め方が、内製を軌道に乗せやすいです。
ハンズオン / CLI例
AppSheet のアプリ作成は基本的にブラウザ上のエディタで行うため、専用の gcloud コマンドはありません。ここでは、データ源として使う Cloud SQL インスタンスを gcloud で用意する例を示します。
# データ源にする Cloud SQL (MySQL) インスタンスを作成
gcloud sql instances create appsheet-data \
--database-version=MYSQL_8_0 \
--tier=db-f1-micro \
--region=asia-northeast1
# アプリ用のデータベースを作成
gcloud sql databases create fieldwork \
--instance=appsheet-data
# 接続用ユーザーを作成(パスワードは Secret Manager 等で管理する想定)
gcloud sql users create appsheet-user \
--instance=appsheet-data \
--password=REPLACE_WITH_SECRET
# 作成したインスタンスの接続情報を確認
gcloud sql instances describe appsheet-data \
--format="value(connectionName, ipAddresses[0].ipAddress)"
Google Cloud Service
AppSheetを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
エンドユーザー / VDI
比較で見る軸
クラウド: Google Cloud / カテゴリ: エンドユーザー / VDI / 難易度: basic
導入後に効く点
Web とモバイルの両方で動くアプリを生成し、入力フォーム・一覧・地図・通知などを自動化と合わせて構成できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- エンドユーザー / VDI
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational / cost
判断チェックリスト
- 自社の用途が「エンドユーザー / VDI / operational」に近いか確認する。
- 強みである「既存のスプレッドシートやデータベースを土台に、コードを書かずに業務アプリを作るノーコード基盤。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。