Content
こんにちは。Google Workspace研究開発チームです。

今回は、Google WorkspaceのAppSheet Coreについての記事を作成しました。
・AppSheetについて
・AppSheet Coreのメリット・デメリット
・カスタマイズ方法・動作確認
・検証
について記載しております。

AppSheetが気になっている方、ご興味ある方は、ぜひご覧ください。

AppSheetについて

AppSheetとは、Google Cloudのサービスの1つとして提供されるノーコードツールです。
2020年に、Googleが買収したことで、Googleサービスに加わりました。

ノーコードとは、プログラミングを行わなくてもアプリ開発が行える手法のことで、
画面上で直感的な操作が行えるためプログラミングの知識やスキルが無くてもアプリ開発が可能です。

AppSheetには以下4つのエディションがあり、エディションによって使える機能が異なります。
Google Workspaceをご利用の場合、AppSheet Coreのエディションが標準搭載されているため
無料でご利用いただけます。

  • Starter
  • Core
  • Enterprise Standard
  • Enterprise Plus

 

各プランでのおおまかな違いは以下の通りです。

プラン Starter Core Enterprise Standard Enterprise Plus
概要
  • 基本的なアプリケーションと自動化機能
  • スプレッドシートや様々なファイルストレージサービスとの連携

 

 

 

 

 

 

 

  • 高度なアプリケーションと自動化機能(バーコードスキャン、NFCなどの機能の利用)
  • スプレッドシートや様々なファイルストレージサービスとの連携
  • アプリケーションのセキュリティ制御

 

 

 

 

 

  • 高度なアプリケーションと自動化機能(バーコードスキャン、NFCなどの機能の利用)
  • スプレッドシートや様々なファイルストレージサービスとの連携
  • アプリケーションのセキュリティ制御とチーム管理の制御
  • OCRなどの機械学習モデリングの利用
  • 優先的な顧客サポート

 

 

 

  • 高度なアプリケーションと自動化機能(バーコードスキャン、NFCなどの機能の利用)
  • スプレッドシートや様々なファイルストレージサービスとの連携
  • アプリケーションのセキュリティ制御、チーム管理の制御、ガバナンス制御の強化
  • OCRなどの機械学習モデリングの利用
  • Google AIやO Dataの利用
  • 優先的な顧客サポート

 

上位プランになることで、セキュリティが強化されたり、できることが増えるので、
用途に合わせてプランを選択する必要があります。

各プランの詳細については公式ドキュメントをご参照ください。

AppSheet Coreのメリット・デメリット

メリット

1.ノーコード開発ができる

非開発者でなくても、簡単にアプリの作成が行えます。
画面上で各種設定変更やカスタマイズが行え、小規模であればハイスピードでアプリ開発ができます。

 

2.Excel、スプレッドシートなどを使用してアプリが作成できる

AppSheetでのアプリ開発を開始する前提として、データの準備が必要です。
普段の業務で使用しているExcel、スプレッドシートをアプリ内でのデータベースとして使用できます。
※DBとして使用できる媒体はプランによって異なります。

また、テンプレートも豊富なので、利用目的に合ったものを選択できます。

テンプレートを使ったアプリの場合は、自動的にドライブ内にスプレッドシートが作成されます。

例)テンプレート「Simple Survey」を選択して、アプリ作成した場合
・画面レイアウトとスプレッドシート

 

3.他のGoogleサービスとの連携が可能

以下のGoogleサービスとの連携が可能です。
例えば、ドライブと連携させて、アプリデータ(データソース、画像、ファイル)の置き場として
使用することができます
Google WorkSpaceの組織・チームの設定から権限を参照し、制御することも可能です。

・スプレッドシート
・ドライブ
・ドキュメント
・フォーム
・Gmail
・カレンダー

 

デメリット

1.開発環境の日本語化ができない

現在リリースされている開発環境は英語のみです。
必要に応じてGoogle翻訳を利用して開発環境を日本語に変更することは可能です。
UIの表示名称もデフォルトでは、登録・更新・削除、確認メッセージ等も英語ですが、
設定で日本語に変更可能です。
例えば、設定画面にてデフォルトで「Save」だった個所を、「保存」に変更できます。
画面上で日本語で表示できていることが確認できます。

 

2.複数人がリアルタイムで同時編集できない

競合を防ぐために制御がかかるため、複数人が同じアプリをリアルタイムで同時編集できません。

 

3.UIの配置位置を細かくカスタマイズできない

データの表示方法は基本的には開発環境で用意されている設定の中から選択します。
編集・削除の表示方法、アイコン・背景の変更もできますが、表示位置だけはデフォルトから変更ができません。
レイアウトをこだわらない社内アプリや、早くアプリをリリースしたい場合に活躍します。

カスタマイズ方法・動作の確認

アプリ作成方法の詳細は【Google Workspace】AppSheet Coreを使ったアプリ作成してみたをご参照ください。

スプレッドシートからアプリ作成ができた時点で、一覧、詳細情報、登録、編集、削除の機能が実装されており、
メリットの「開発速度が速い」という点が確認できます。

データ

1.「Data」からスプレッドシートから読み取ったデータの項目定義を確認できます。
データ型をこの画面で修正することも可能です。

2.スプレッドシート内にある別のシートも参照したい場合、赤い枠の「+」をクリックして追加します。
項目を追加したい場合は、緑の枠の「+」をクリックして追加します。

レイアウトのカスタマイズ

1.一覧のレイアウトを変更したい場合、「Views」からカスタマイズができます。
ソート順の変更やグループ化もこの画面から行えます。

修正後のプレビュー画面

 

2.背景色、ボタンの色、アプリのアイコン等を変更したい場合は「Setting」からカスタマイズができます。

修正後のプレビュー画面

★修正した内容が即時反映されるプレビュー画面があるので、修正した内容の反映結果が確認しやすいです。

データを登録してみる

1.画面の「Add」ボタンをクリックすると、登録画面が表示されます。

※「Add」ボタンは一覧画面の下部に表示されている以下のボタンです。


以下のようなデータを登録してみます。

 

2.アプリ内の一覧に新規レコードが追加されています。


3.スプレッドシートを確認すると、最終行に新規レコードが追加されていることが確認できます。

同様に、更新・削除機能でも、スプレッドシート内のデータが書き換わることが確認できます。

検証①データの論理削除はできるのか

試したいこと

デフォルトの削除機能での処理後、スプレッドシート側を確認すると空欄行ができてしまいます。
行にあったデータを物理削除してしまうので、ユーザーが間違えて削除してしまった時のリカバリや、
履歴を残すことができません。

そこで、「論理削除ができないか?」を確認していきます。

実装方法

1.データ参照元となるスプレッドシートに「削除フラグ」の項目を増やします。
ここでは、0が「未削除」、1が「削除済」とします。

 

2.AppSheetのDataから削除フラグの設定を変更します。
・「show?」のチェックをはずします。
・初期値に0を設定します。

3.テーブルの設定を変更します。
・「TableSettings」から「Delete」のチェックを外すと、デフォルトの削除機能、削除ボタンが画面に表示されなくなります。
※「登録」、「更新」の機能を削除したい場合、同様にチェックを外せばアプリに反映されます。開発したいものに合わせてお試しください。
・削除フラグが0のデータのみ表示するよう、設定を変更します。

 

4.論理削除の処理を実装します。
アクションの「+」マークをクリックすると、アプリに処理が追加できます。

データの削除フラグを1に更新する処理を実装します。

わかりやすいアイコンを設定します。

削除前の確認メッセージを設定します。

ここまでで実装完了です。

動作確認

実施前のスプレッドシートの状態です。

一覧に削除フラグが0のデータのみ表示されています。

詳細画面に作成した削除ボタンが表示されています。

削除(論理削除)を実施してみます。

一覧から削除したデータ(削除フラグが1に更新されたデータ)が消えていることが確認できます。

スプレッドシートを確認すると、フラグが更新され、データのレコードは残っていることが確認できます。

★AppSheetで処理のカスタマイズや表示するデータの条件の設定ができることが確認できました。

検証②スプレッドシート(またExcel)の機能をどこまで反映できるか

試したいこと

AppSheet Coreを使用した場合、スプレッドシートでのデータ管理がメインになると想定します。
また、ユーザーが普段の業務で使用しているExcelシートの情報を、そのまま流用したいケースがあると思われます。

以下のようなスプレッドシートを準備し、アプリを作成したときの動作を確認します。

①データとなる一覧より上に文字列が入っていても、エラーなどにならないのか?

 

②セルの書式設定の設定値をそのままデータ型として認識するのか?
〇想定
・ID     → 文字列?
・登録日   → 日時?
・商品コード → 文字列?
・商品名   → 文字列?
・売値    → 数値?
・売値* 1.08 → 数値?
・配送先区分 → 文字列?
・参考資料  → 文字列?(リンクはどうなる?)

 

③関数や演算式が設定されているセルの場合、どんな動作になるのか?
・ID
TEXT関数を使用し、0埋めの文字列に変換しているが、アプリ内でも文字列として認識されるのか?

・商品名
VLOOKUP関数を使用し、商品シートから商品名を取得しているが、アプリ内でも商品名を取得されるか?

・売値* 1.08
売値に1.08を掛けた値を設定しているが、アプリ内でも演算がされるか?

 

④リストで入力値の制限をしている場合、どんな動作になるのか?

配送先区分は入力規則の設定でリストを設定しているが、アプリ内でも選択式になるのか?

 

⑤エクエルにパイパーリンクがあった場合、どんな動作になるのか?

参考資料はドライブに保存されたファイルへのパイパーリンクを設定しているが、アプリ内でも活用できるのか?

 

アプリ作成

スプレッドシートの拡張機能からAppSheetのアプリを作成してみたところ、エラーは出ずアプリ作成ができます。

 

データ

Dataの内容を確認します。

警告が出ているので確認します。

上から和訳すると以下の通りです。

・シート「一覧」の列「ID(文字列)」に不一致の数式があります。以下の R1C1 フォーマットで表示された数式を比較して、違いを確認してください。4つの異なる数式が存在し、そのうち最初の4つが表示されている。1行に、A1形式では’TEXT(10120240409001, “00000000000000”)’、R1C1形式では’TEXT(10120240409001, “00000000000000”)’のような数式が含まれている。・・・・

・「一覧」シートの列「商品名」には数式が含まれているため、読み取り専用としてマークされています

・「一覧」シートの列「売値(売値* 1.08)小数点以下2位まで)」は、数式が含まれているため読み取り専用としてマークされています

 

確認

①データとなる一覧より上に文字列が入っていても、エラーなどにならないのか?

→アプリ作成時にエラーにならず、自動で一覧の部分を検知し、テーブル項目として定義されています。

 

②セルの書式設定の設定値をそのままデータ型として認識するのか?
〇結果
・ID         → 数値
・登録日    → 日時
・商品コード  → 文字列
・商品名    → 文字列
・売値     → 数値
・売値* 1.08       → Decimal
・配送先区分     → ENUM
・参考資料   → URL

 

③関数や演算式が設定されているセルの場合、どんな動作になるのか。
・ID
→セルに入力されている値(整数)をもとにデータ変換されるので、
TEXT関数は無視され、数値型となります。
引数に設定されている値が行ごとで異なるため、警告メッセージが表示されます。

 

・商品名
・売値* 1.08
→ 警告の通り、読み取り専用項目として表示されます。

試しに参照元となっている項目の商品コードと売値を変更してみます。

変更した内容を保存すると、参照するデータがVLOOKUP関数の結果、計算式の結果となります。

ただし、保存ボタンをクリックするまでは編集画面でも変更後の値が表示されません。
非表示項目にするか、一覧・詳細画面のみに表示する項目になら活用できそうです。

 

ちなみに、「この商品の入力方法はいまいちなので、一覧の商品コードと商品マスタの商品コードを紐づけて登録行いたい」という場合は以下の手順で実装可能です。

1.Dataの「+」から参照するシートを追加します。(同じスプレッドシート内にある商品を追加しました。)


2.読み込んだ商品マスタの項目の設定を変更します。

商品コードから「LABEL?」のチェックを外し、商品名の「LABEL?」にチェックを入れます。

 

3.一覧の項目を変更します。
商品コードのデータ型を「Ref」に変更します。

4.以下のような画面が出るので、「Source Table」に商品(テーブル名)を選択します。

ここまでの手順を終えると、商品コードの入力項目がリスト形式になります。

表示方法を変更しただけなので、登録・更新時には表示されている商品名に紐づく商品コード(数値型)が設定されます。

 

④リストで入力値の制限をしている場合、どんな動作になるのか。
→配送先区分を編集画面で確認すると、スプレッドシートのリストと同じく項目を選択できる機能が自動でできます。

データの方もENUMになっていたので、「事前に定義されたリストからの選択」が可能です。

 

⑤エクエルにパイパーリンクがあった場合、どんな動作になるのか?

→参考資料に設定したリンクがクリックでき、別窓でファイルが表示できます。(動作環境がブラウザなので)

表示方法のカスタマイズも可能です。

 

まとめ

以上が、AppSheet Coreについての詳細、スプレッドシートを活用した例です。
調査、検証をしている中で、処理追加・カスタマイズが簡単にでき、AppSheetのメリットである「ノーコード開発」を実感できました。

AppSheetはアプリを公開するまでは無償で試すことができます。
またAppSheet Coreは、Google Workspaceの各エディションに標準搭載されているため無料でご利用いただけます。
ぜひ無料版を使ってみてください。
本記事が皆様のお役に立ちましたら幸いです。

関連コンテンツでは、AppSheet Coreを使った受注管理アプリの作成手順について記載しています。
あわせてぜひご覧ください。

2024年5月14日 【Google Workspace】AppSheet Coreについて

Category Google Workspace

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら