盆栽の管理向上をめざして 12:Google AppSheetでノーコードアプリができました
評価:
雰囲気があってよいが、よくみると、盆栽を親指と人差し指の間に挟みスマホを操作しているとても器用なことをしていた。
はじめに
前回記事にてX(旧Twitter)のアーカイブファイルを取得し、その中に含まれる「tweets.js」を適当に解析し、自分が発信した画像付きのポストのurlをリスト化することに成功しました。
自分の発信というのは思ったほど少なくて残念ではありましたが、実際に盆栽の画像を見ながら登録されているものと照合する作業はとても骨が折れます。ラベルのない樹を見極める際、鉢や樹形が変わってしまっている可能性もあるし、もうすでに手元にないものもあります。
また、複数の鉢が写っている場合、1対多の関係となり、どこまで判別すればいいか悩んでしまいます。かといって、この部分をAIに任せられるか?という点でも難しそうです。
作業は有限回なので、気が向いたときに少しずつすればよいかとも思ったり。もう少し使って見てから考えたいと思います。
少し手直ししました
前回の記事では、日時、idを抽出してリスト化していました。
Tweetから取得された日時は「Tue Jan 16 23:28:10 +0000 2024」といった表現になっており、このままでは、時系列に並びません。
この文字列から、ソート可能な日付文字列を作成したいと思いました。
厳密に解析する方法を考えようと思ったのですが、そもそもが時系列順にする必要がないうえに、ざっくりと並んでいたらいいかなぐらいの気持ちで、取り組んでみました。
セルA3に次の式を書きました。
「Tue Jan 16 23:28:10 +0000 2024」から、「2024/01/16」に変換します。
「YYYY/MM/DD」に変換するにはそれぞれ、
YYYY:
RIGHT(B3, 4)
MM:
RIGHT("0"&TO_TEXT(((FIND(MID(B3,5,3),"JanFebMarAprMayJunJulAugSepOctNovDec")-1)/3)+1),2)
DD:
MID(B3,9,2)
としました。
おそらく文字数は変わらないので、目的の文字列はすぐに切り抜けます。
問題は月の変換です。調べるのも億劫だったので、知っている知識だけで工夫しました。
「MID(B3,5,3)」で文字を切り出し、その結果が"JanFebMarAprMayJunJulAugSepOctNovDec"
の何文字目に見つかるかFIND関数で探しました。
結果は1から始まりますので、-1したのち、文字数3で割り、+1します。
また前0をつけたかったので、”0”を付けた上で右側2文字を取り出します。
Jan→1→0→0→1→”01”→”01”
Feb→4→3→1→2→”02”→”02”
Mar→7→6→2→3→”03”→”03”
Apr→10→9→3→4→”04”→”04”
May→13→12→4→5→”05”→”05”
Jun→16→15→5→6→”06”→”06”
Jul→19→18→6→7→”07”→”07”
Aug→22→21→7→8→”08”→”08”
Sep→25→24→8→9→”09”→”09”
Oct→28→27→9→10→”010”→”10”
Nov→31→30→10→11→”011”→”11”
Dec→34→33→11→12→”012”→”12”
こんな感じになります。
このセルをもとにソートすれば時系列に並び替えできます。
ここまでのまとめ
今まで作った盆栽管理についてまとめます。
こんな感じの図式になります。
Googleスプレッドシートは複数作りました。
【データ】
「盆栽管理」、「画像管理」、「アクティビティ管理」がデータベースの基本となります。
【ビュー】
「盆栽カルテ」、「盆栽カタログ」はこれらの情報を取りまとめ、表示するためのシートになります。
あくまでも閲覧のためのシートです。ここで記入を行うことはできません。
Tweet一覧、盆栽カタログを見ながら、keyをマッチングしようと思った時、現在の作りの限界を感じました。
あともう少しなんとかならないものか?
私の知っているソリューションはAccessを使ってデータベースを構築し、フォームを作ることです。
GoogleCloudPlatformのサービスを利用すれば、何かできそうな気もしますが、ちょっと大げさな感じがします。
あとは、AndroidStudioを使ってアプリを作ってしまうか。GooglePixelWatchをものにするために、Kotlinを自習しましたが、あそこから先、なかなか先に進めません。頑張った先に、Androidのアプリができたとしても、iPhoneアプリもなければ、広く使ってもらうことは難しいでしょう。
といったあたりで、もやもやしていたのですが、ここで少し霧が晴れてきました。
Google AppSheetという選択肢
Googleスプレッドシートをさわっていると、「拡張機能」の中に「AppSheet」が表示されています。Microsoftの戦法「Windows」、「Office」、「365」の組み合わせサービスと同様、Googleも「App」、「Sheet」、「Cloud」、「Script」などの一般的な名前を組み合わせたサービスを繰り出してきたなと感じていました。
似通ったサービスがたくさんあって、何を利用したらよいのかよくわかりません。
少し調べた所によると、「AppSheet」はもともとスタートアップのサービスでGoogleに買収され「Google AppSheet」となったようです。そのうち、名前も変わるかもしれません。
入り口がよくわからないまま、Googleスプレッドシートの「拡張機能」-「AppSheet」-「アプリの作成方法を見る」から入りました。
データの準備しました
Googleスプレッドシートの構造は大きく変えなくてもよいと言われています。
ただAppSheetに気持ちよく認識してもらえるよう、少しいじりました。
基本的なアプリ作成プロセスを 7 つのステップに分けて説明します。
まずはこのページをじっくり読みました。「日本語に翻訳」機能もしっかり使います。
AppSheet モバイル アプリ向けにより優れたスプレッドシートを構築するための 5 つのヒント
1行目にタイトルを書き、2行目以降にデータを置くこと。が重要なようです。「画像管理」を少し手直ししました。
シート「_画像」を追加しました。このシートは「画像管理」からシート「画像」、シート「LINEより」を立て積みします。そのままでは、「アクセス権がありません。」というエラーが出てしまいますので、アクセス権取得のため、シート「_画像の準備」も併せて追加しました。
シート「アイテム」に「最新画像」を追加しました。
「拡張機能」-「AppSheet」-「アプリを作成」から入っていきます。
一週間ほどAppSheetと格闘した結果です
ノーコードでアプリができました。
スマホ用の画面です。
タブレットでも
PCでも
使えます。
今までできなかった、画像を見ながらの編集作業ができるようになりました。
アクティビティも追加編集可能に。
カタログ機能も搭載しました。
タブレットで見るとたくさん表示されます。
ここまですべて無料です
Google AppSheetは無料でも使えますが、アプリの共有や自動化、NFCなど一部の機能は有料にて提供されています。
むしろ、有料機能のなかの一部が無料と考えるべきでしょうか。
ノーコードアプリの想定内に、やりたいことが収まっている場合はこれほど便利なものはないでしょう。
あまり多くを望まず、ノーコードアプリの無料提供範囲内で遊べるとサイコーですね。
さいごに
基本の機能を搭載することができました。
今回はここまでにいたします。
今回初めてAppSheetに触れました。
ノーコードによるアプリ作成も初めてのチャレンジです。
基本設計がしっかりできていれば、Googleスプレッドシートの内容をそのままアプリにできます。しかもデータの編集、削除もできます。まだ追加は行っていませんが、出来そうな予感がしています。
今後の課題は、今回の成功をさらに進めて、Twitter一覧への対応や、画像投稿にもチャレンジしてみたいと思っています。
最後までご覧いただき誠にありがとうございました。