見出し画像

AppSheetで共有アプリを作ってみた。

お疲れさまです。まじんです。
AI木曜会のメンバーには、会社でGoogle Workspaceを利用している方が比較的多い印象ですが、AppSheetを活用されている方はいらっしゃいますか?

AppSheet(アップシート)ってなに?

スプレッドシートの拡張機能で息を潜めているコレです。

「GASは有名だけど、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(型)を設定してみました。
だいぶ端折ってるけど、列ごとに“どんなデータが入るか”を指定したってこと。

作成日にはDate(日付)、本文はLongText(長文)、みたいな。

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万歳!

ノーコードとは…(呆れ)

おわり。

いいなと思ったら応援しよう!