AppSheetで共有アプリを作ってみた。
お疲れさまです。まじんです。
AI木曜会のメンバーには、会社でGoogle Workspaceを利用している方が比較的多い印象ですが、AppSheetを活用されている方はいらっしゃいますか?
AppSheet(アップシート)ってなに?
スプレッドシートの拡張機能で息を潜めているコレです。

興味本位でクリックしてみたものの、ぜんぶ英語だし、よく分からないボタンがいっぱい。静かにタブを閉じた方も多いハズ。

あらためて…AppSheetとは何か?
AppSheetはGoogleが提供するノーコードアプリ作成ツール。
GWSユーザーは、有料の「Coreプラン(10ドル/月)」を無料で利用することができます。
ノーコード?うちではKintone(キントーン)を契約してるけど…
実はAppSheet、Kintoneの代替になり得る存在なんです。
しかも追加費用ナシ。そしてGWSとの親和性が異常に高い。
そりゃそうですよね。Googleのツールなんだから。
共有アプリを作ってみた
細かい話をしだしたらキリがないので、アプリ作成の一連の流れをお見せします。今回はFincsでプロンプトを共有するための「Share Board(シェアボード)」っていうアプリを作ってみました。
FincsってPDFと画像しか貼れないもんね。しかもダウンロードできないし。
そうなのよ。
ホイールをクルクルしたらスクロールじゃなくて拡大/縮小するしね。
データベース設計
まず、AppSheetはスプレッドシートをデータベースとして使えます。
ExcelやSalesforceも使えるけど、基本スプシでOK。(それ以外使ったことない)
こんな感じでヘッダー行を設定。
ちなみにAppSheetでは列名のこと「カラム」と呼びます。
プロンプトを書き込むシートと、

タグ(AIモデル)を管理するシート。

なんでわざわざ別シートにするの?
それ、はじめてデータベース設計をしたら誰もが思うことですね。
タグを別シートで管理すると、タグ(モデル)を起点としたプロンプトの「逆引き」や、タグに新しいカラムを追加しやすくなるのです!
ふーん。よく分からないけど続けて。
AppSheetに変換
拡張機能からアプリを作成し、各カラムのTYPE(型)を設定してみました。
だいぶ端折ってるけど、列ごとに“どんなデータが入るか”を指定したってこと。

Initial valueってとこに暗号が入ってる…
これはAppSheetの関数。 例えば「作成日」カラムの Initial value(=初期値) に TODAY() って入れておけば、 フォームを開いたときに自動で“今日の日付”が入るようにできるんです。
ノーコードとは。
AppSheetはノーコードではないっすね。ローコードツールです。
ただ生成AIに書いてもらえば一緒です。ノーコードっす。
…ノーコードとは。(再)
(色々すっ飛ばして)アプリ完成
ビューやボタンの設定をいじって、こんな感じのアプリができました。
公開/非公開の切り替えや、タグ登録、コピー回数のカウントなんかもできます。

そうなんです。
AppSheetって、UIがダサいんです(笑)
溢れ出る"Windows 2007"感。
ロジックは割と複雑な仕組みを作れるのですが、
ビューの選択肢は11個、汎用的なビューは3つしかないです。
でもね、それがイイんです…!!
誰が作っても、似たようなUIになるから。
つまり、ユーザーへの教育がラク。
メニューは左!新規作成は右上!と制限できるのです。
確かに、社内アプリが全部UI違うと、覚えるの大変だしな。
でもやっぱ、"映え"って大事じゃないですか。
イケてるヤツって思われたいじゃん?
そこで、AppSheetは"バックエンド"として使い、
GASでUIを作るのが"まじん流"なのです。
(なんだコイツ、せっかくフォローしてやったのに)
GASでUIアプリを作ろう
同じスプレッドシートの拡張機能>App Scriptを開き、
アプリ用のスクリプトを入力していきましょう。
どうせAIでしょ。
もちろんAIです。最近は「Gemini 2.5 Pro」ばっか使ってます。
スプシの構造やアプリのロジック、やりたいことをプロンプトに書きます。
ちなみに、過去に作ったINDEXコードをセットしたGemを作ってるので、
毎回似たようなデザインのGASアプリが誕生します。

アプリ完成!
さっきのAppSheetのUIとは雲泥の差ですね。

マークダウンテキストもボタンで一発コピー。

しかも、このテクニックを使うと、
無料版AppSheetの共有制限を回避することができるんです。
無料版のAppSheetだと、@gmail.com ドメインにそもそも共有できないし、
共有人数も10名までっていう制限があります。
しかしGASアプリをUIにすれば、誰でもアクセスできるし、
そもそもユーザーにGoogleアカウントすら求めないのです。
なるほど。裏側はAppSheetで動かしてるから、DBを直感的に管理できつつ、UIはGASで映えさせてってことか。このスケコマシ!
GASで書くとちょっと面倒な条件分岐や複数アクションも、AppSheet側のGUIで簡単に設定できちゃうので、ここにきて「ノーコードツール」の強みが出てくるんです!
ノーコード万歳!AppSheet万歳!
ノーコードとは…(呆れ)
おわり。
