こんにちは!MSP岡本です。
時短に最適なGoogleのノーコードツールの一つであるAppSheetってなじみあるでしょうか?
今回は、AppSheetを使った実践型のタスク管理アプリを作っていきたいと思います。
2回にわたってご紹介し第一弾では、AppSheetとは?や簡単なものの作り方を解説します。
第二弾ではGASとAppSheetを組み合わせたものをご紹介。
それではれっつスタート!
1.そもそもAppSheetって何?
AppSheet(アップシート)とは、Googleが提供するノーコード開発プラットフォーム。
プログラミング不要で業務アプリを素早く作成できるツールとなっています。
特に強みとしてはGoogle Workspaceとの連携が挙げられます。
・日報
・タスク管理
・資格管理
・在庫管理
などなど!
2.AppSheetの基本用語(基本編)

Data:スプレッドシートからのデータが表示される項目です。 「Table」は読み込んだシートのこと、「Columns」がスプレッドシートの1行目にある項目名を指します。 今回以降のAppSheet解説記事で活躍するタブですので要チェックでおねがいします。

View:AppSheetで表示する方法を決めるView。縦にタスクを並べたいなら「table」形式がおすすめです。AppSheetの見せ方を工夫するタブなので今回以降のAppSheet解説記事で活躍するタブとなります。 要チェックでおねがいします!

Format rules:強調したい文字やボタンや大きさを指定する部分になります。 Viewに慣れたら使ってAppSheetの出来栄えを上げてみませんか?

Actions:追加のボタンを作成、変更することができるページです。 他にも自動で〇〇のリンクをどこそこからとってきて、スプレッドシートに張り込んでといった指示も可能です。

Automation:いわゆるbotを使って一連の流れを自動的にやってくれる機能。 今回作りたいものには使われない機能なので説明はパスします。

Intelligence:予測モデルを作成するのに役立つページ。今回作りたいものには使われない機能なので説明はパスします。

Security:データのアクセスやAppSheetを使える人を制限する機能です。 大切な機能なんですが大枠作る中では全く関係ない機能なので今回は割愛します。
3.作ってみよう!AppSheet(イージー編)
では今回は日報を作ってみましょう。
完成イメージはこちらを参照ください!

3-1.dataの準備
1.スプレッドシートを作成し、項目を作成
今回はスプレッドシートにあらかじめ以下の項目を作ります。
・報告日
・達成度
・チェック項目
・コメント
・提出者
・提出可否
・提出日
2.スプレッドシートの「拡張機能」からAppSheetを選択

3.AppSheetへの編集やGoogle Driveへのアクセス権限について
AppSheetへの編集やGoogle Driveへのアクセス権限について尋ねられますのでOKを選んで進みます。
ある程度型が決まったフォーマット的なのを使いたい場合はおすすめを選びます。
以下の質問に答えておすすめを選択できます。今回はバツ閉で。

4.「data」タブに取り込んだデータの入力形式を編集する
「data」タブに取り込んだデータの入力形式は自動で選択されますが、必要に応じて編集が必要です。
今回の場合は、「項番」や「提出者」、「提出可否」といった項目の表示を変えたいので、キャプチャのようにTYPEを変えていきます。

なおそれぞれのTYPEの意味は以下になります。(よく使うものだけ抜粋)
| TYPEの種類 | 意味 |
| Date | 日付としてNAMEの内容を認識させたい |
| メールアドレスとしてNAMEの内容を認識させたい | |
| Enum | 選択肢を表示させたい |
| LongText | 長文を表示したい |
| Name | 名前を表示したい |
| Number | 数字を表示したい |
| Ref | 別のシート由来のものを表示したい |
| Text | 文章を表示したい |
| Yes/No | 2択の選択肢をしたい |
5.「data」タブのFORMULAを編集する
今回は誰がいつ提出したか?を確認できるように以下を設定します。
提出可否では遅れて出したのか、きちんと日付通りに出したかわかる関数を設定しています。
#項番 UNIQUEID() #提出可否 IFS( AND( COUNT(SELECT(シート2[名前], [名前] = [_THISROW].[提出者])) DATE([報告日]) = DATE([提出日]) ), "済", AND COUNT(SELECT(シート2[名前], [名前] = [_THISROW].[提出者])) , DATE([報告日]) DATE([提出日]) ), "遅延",) #提出日 NOW()
6.スプレッドシートにシート2を作成し、名簿を作りAppSheetにする
スプレッドシートをもう一つ作ります。
ここではAppSheetで提出した人の名前を検索するためのデータを作ります。
また、AppSheetの「Data」タブ左側の+マークからシートを挿入します。

7.「提出者」の鉛筆マークを開けて編集
AppSheetの「シート1」に戻ります。「提出者」の鉛筆マークを開けて「Data Validity」の「Valid IF」に以下入力します。
シート2[名前]
8.AppSheetのシート2にてKEY?について「名前」を選択
こうすることで検索項目に名簿が現れます。なお、社員番号を選ぶと社員番号が選べるようになります。

3-2.Viewの設定
ここからはViewの設定です。ここからは見た目をいじっていきましょう。
1.「View」タブからシート2の項目を削除
こうすることでAppSheetの画面ではシート2は見えないのに、名簿は検索できるようなシステムにできます。
2.「View」タブのシート1を編集
「View」タブのシート1にて以下項目を編集します。
・View Optionsのgroup byとsort by
「View type」を編集すると表示形式が変わります。今回はtableを選択してくださいね。
簡単に説明するとカードが並んだ感じであったり、表形式であったりと言った具合です。よく使うView typeの一覧と表示形式を簡単にまとめときます。
| View type | 表示形式 |
| deck | 一覧だけ表示します |
| table | 表形式で表示します |
| dashboard | 枠で表示します |
| card | カード型で表示します |
View Optionsについてキャプチャのように設定します。

3-3.完成
あとはお好みで文字列を変えたりボタンを配置してください!

4.終わりに
いかがだったでしょうか?AppSheetを使えば簡単なログとりやタスク管理、進捗管理ができてしまいます。似たようなツールとしては某社のノーコードツールがあげられます。それぞれを比べたメリット・デメリットはこちら。
| メリット | デメリット | |
| 某社ノーコードツール | 直観的に作れる | 人数にかかわりなく有料 |
| AppSheet | 個人レベルのタスクをAppSheetで管理するなら無料利用あり※ | UIが他のノーコードツールほど詳細カスタマイズができない。学習コストがかかる |
※個人アカウントでもAppSheetは利用可能です。ただし、アプリデプロイや10人を超える複数編集者の機能、メール通知には有料契約が必要です。
それぞれのニーズに合わせてツールを選んでみてください。最後に、弊社アイレットでは、cloudpackというサービスでGoogle Cloud、AWS、Oracleクラウドの移行、構築、設計、運用、請求代行などをサポートしております!最近リリースしたgaipackもお見逃しなく♪