📱

【AppSheet入門の決定版】ノーコードで日報作成・承認アプリを開発しよう!

に公開

はじめに

「この作業、もっと効率化できないかな?」
日々の業務で、データの入力や承認作業など、繰り返し行うルーティン業務にそう感じたことはありませんか?

この記事では、 Googleのノーコード開発プラットフォーム「AppSheet(アップシート)」 を使い、誰でも簡単に業務アプリを作成する方法を解説します。

「ノーコードって難しそう…」「どこから手を付けていいか分からない」と感じる方もご安心ください。
この記事は、AppSheetをゼロから学びたい方が、基本的なアプリ作成の工程を完全に理解できるように設計されています。

最終的なゴールは、Googleスプレッドシートをデータベースとして活用した、実用的な 「日報作成・承認アプリ」 を完成させることです。

この手順書通りにアプリを作成するだけで、AppSheetの主要な機能を網羅的に理解できます。

  • Data(データ構築): スプレッドシートをアプリのデータベースにする方法
  • View(画面作成): 日報一覧、詳細、管理者画面など、様々な画面の作り方と権限制御
  • Action(ボタン操作): 「承認」ボタンなど、ユーザー操作を定義する方法
  • Automation(自動処理): 日報作成時にメールを自動通知する機能の設定

さあ、このガイドを片手に、あなたの業務を劇的に変える最初の一歩を踏み出しましょう!

完成版アプリのイメージ

事前準備:Googleスプレッドシートの用意

まず、アプリの元となるデータベースを用意します。

  1. テンプレートを開く: こちらのテンプレート を開きます。
  2. コピーを作成: ファイル > コピーを作成 を選択します。
    スプレッドシートのコピーを作成
  3. 名前を付けて保存: 簡易日報アプリ という名前で、ご自身のGoogleドライブにコピーします。 このスプレッドシートが、これから作成するアプリのデータベースになります。
    ドキュメントをコピー
    作成されたスプレッドシートがこのアプリのデータベースになります。
    各要素とアプリ上での意味はこちらのドキュメントに記載しています。
  4. 自分のユーザー情報を入力: コピーしたスプレッドシートの ユーザ シートを開き、二行目のA列とB列にご自身のメールアドレスと氏名を入力してください。 ここで設定する役割(権限)は以下の通りです。
    • 一般社員: アプリで日報作成のみができるユーザー
    • 承認者: 一般社員の権限に加え、日報の承認ができるユーザー
    • 管理者: 最も強い権限を持ち、アプリの全ての機能を利用できるユーザー
      ユーザー情報を入力

1. AppSheetアプリの作成

準備が整ったら、いよいよAppSheetでアプリを作成します。

  1. スプレッドシートのメニューから 拡張機能 > AppSheet > アプリを作成 を選択します。
    AppSheetアプリを作成
  2. 自動でアプリの雛形が作成されます。ポップアップが表示されたら Customize with AppSheet をクリックして、編集画面に移動しましょう。
    Customize with AppSheet

AppSheetエディタ画面の構成

エディタ画面は、大きく3つのエリアに分かれています。
エディタ画面の構成

  • ナビゲーションメニュー: 左側にあるメニューです。Data(データ)、Views(画面)、Action(操作)など、アプリの各要素をカスタマイズする画面に切り替えます。
  • カスタマイズ画面: 中央のメイン画面です。アプリの具体的な設定を行います。
  • プレビュー画面: 右側にある画面です。現在の設定がアプリ上でどのように表示・動作するかをリアルタイムで確認できます。

2. データベース(Data)の構築

アプリが使用するデータを設定していきます。

テーブルの追加

  1. ナビゲーションメニューから Data をクリックします。すでに 日報 シートがテーブルとして取り込まれているのがわかります。
  2. ここに ユーザ シートのデータも追加します。 画面左上の + ボタンを押し、Add Table "ユーザ" を選択してください。
    データテーブルを追加
    Add Table ユーザ
  3. Create a new table の画面では何も変更せず、Add to app を押します。

重要:こまめな保存を忘れずに!
AppSheetは自動保存されません。 設定を変更したら、画面右上にある SAVE ボタンを押す癖をつけましょう。
SAVEボタン

カラム(項目)の設定

次に、各テーブルの項目(カラム)のデータ型や挙動を細かく設定していきます。
主な設定項目の意味は以下の通りです。

  • NAME: データの項目名です。
  • TYPE: データの型(テキスト、数値、日付、画像など)です。これにより画面の表示やデータの扱いが変わります。
  • KEY: データを一意に識別するための項目です。IDのように他のデータと重複しない項目にチェックを入れます。
  • LABEL: このデータの代表となる項目です。一覧などで見出しとして表示されます。
  • FORMULA: 式を設定し、値を自動計算させたい場合に使用します。
  • SHOW: この項目を画面に表示するかどうかを条件式で制御します。
  • EDITABLE: この項目の編集を許可するかどうかを条件式で制御します。
  • REQUIRE: この項目の入力を必須にするかどうかを条件式で制御します。
  • INITIAL VALUE: 項目が新規作成された際の初期値を設定します。

以下の画像を参考に、日報 テーブルと ユーザ テーブルの各項目を設定してください。

日報テーブルの設定

日報テーブルのカラム設定

ユーザテーブルの設定

ユーザテーブルのカラム設定


設定のポイント解説(日報テーブル)

報告者

  • TYPE: Ref 型に設定します。これは、別テーブルのデータを参照する設定です。
  • Ref にすると設定画面が開くので、Source tableユーザ を選んで Done を押します。
    Ref型でユーザテーブルを参照
  • INITIAL VALUE: USEREMAIL() と入力します。この関数は、現在ログインしているユーザーのメールアドレスを自動で取得します。 これにより、日報作成時に自分の名前が自動で入力されるようになります。

業務カテゴリ

  • TYPE: Enum 型に設定します。これは、予め用意した選択肢からユーザーに選ばせる形式です。
  • 項目の左にある鉛筆マークを押し、設定画面を開きます。
    鉛筆マーク
  • Values の下にある Add を押し、選択肢として「事務処理」「現場作業」「営業」の3つを追加します。
    Enumの選択肢を追加

承認者

  • TYPE: 報告者 と同様に Ref 型にし、参照先として ユーザ テーブルを選択します。
  • 承認者は権限が「承認者」のユーザーだけが選択できるように絞り込みます。 設定項目の Auto Compute > Suggested values に、以下の式を入力してください。
    SELECT(ユーザ[メールアドレス], [権限]="承認者")
    

Suggested valuesの設定

  • この SELECT(A, B) 関数は、「テーブルの中からBの条件に一致するAの値をリストで持ってくる」という意味です。

承認ステータス

  • TYPE: Enum 型にし、選択肢として「承認済」「未承認」の2つを設定します。
    承認ステータスの設定
  • 承認者ステータスは権限が「承認者」または「管理者」のユーザーだけが変更できるように絞り込みます。 設定項目の Update Behavior > Editable に、以下の式を入力してください。
    OR(
        ANY(SELECT(ユーザ[権限],[メールアドレス]=USEREMAIL()))=”承認者”,
        ANY(SELECT(ユーザ[権限],[メールアドレス]=USEREMAIL()))=”管理者”
      )
    

設定のポイント解説(ユーザテーブル)

権限

  • TYPE: Enum 型にし、選択肢として「一般社員」「管理者」「承認者」の3つを設定します。
    権限の選択肢を設定
  • これらは Ref 型を設定した際に自動で作成されるカラムです。 今回は特に設定不要なので、そのままにしておいて問題ありません。

3. データの絞り込み(Slice)の設定

「今日の日報」だけを表示する画面を作るために、元のテーブルから特定の条件に合うデータだけを切り出す Slice という機能を使います。

  1. Data 画面で 日報 テーブルにカーソルを合わせ、表示される + ボタン (Add Slice) をクリックします。
    Add Slice to filter data
  2. ポップアップはそのままで Create a new slice for 日報 を押します。
  3. スライスの設定画面が開くので、以下のように設定します。
    • Slice Name: 今日の日報
    • Row filter condition:
      [報告日] = TODAY()
      
    スライスの設定
    これにより、「報告日」が「今日」のデータだけを持つ仮想的なテーブルが作成されます。

4. アプリ画面(View)の作成

次に、ユーザーが実際に操作するアプリの画面を作成していきます。

  1. ナビゲーションメニューの Views をクリックします。
  2. PRIMARY NAVIGATION の下に、すでに 日報 のViewが作成されています。これをクリックして設定を編集します。

Viewの主な設定項目

  • View name: 画面の名前
  • For this data: この画面で表示するテーブルまたはスライス
  • View type: 表示形式(table (表), deck (カード), form (入力フォーム)など)
  • Position: アプリ下部のメニューバーでの表示位置
  • Sort by: データの並び順

各画面の作成

① 日報一覧画面

既存の 日報 Viewを以下のように設定変更します。

  • View name: 日報一覧
  • For this data: 日報
  • View type: table
  • Position: middle
  • Sort by: 報告日 Ascending (昇順)
    日報一覧画面の設定

② 今日の日報画面

  1. PRIMARY NAVIGATION の右にある + を押し、Create a new view を選択します。
    新しいViewを追加
  2. 作成された New View を以下のように設定します。
    • View name: 今日の日報
    • For this data: 今日の日報 (先ほど作成したSlice)
    • View type: table
    • Position: next
    • Sort by: 報告日 Ascending

③ 報告フォーム画面

同様に + ボタンから新しいViewを作成し、以下のように設定します。

  • View name: 報告フォーム
  • For this data: 日報
  • View type: form
  • Position: first
    報告フォーム画面の設定

④ ユーザ一覧画面(管理者限定)

最後に、管理者のみが表示できるユーザー管理画面を作成します。
+ ボタンから新しいViewを作成し、以下のように設定します。

  • View name: ユーザ一覧
  • For this data: ユーザ
  • View type: table
  • Position: later
  • Display > Icon: user-circle (アイコンを変更して分かりやすくします)
  • Display > Show if:
    ANY(SELECT(ユーザ[権限], [メールアドレス]=USEREMAIL())) = "管理者"
    

この式は、「ログインしているユーザーの権限が "管理者" の場合にのみ、この画面を表示する」という条件を指定しています。

5. 操作ボタン(Action)の作成

アプリ内で特定の操作(データの更新、画面遷移など)を行うためのボタンを Action で作成します。 今回は「承認」ボタンを実装してみましょう。

  1. ナビゲーションメニューから Actions を選択します。
    Actionsメニュー

  2. 日報 の右にある + ボタンを押し、Create a new action for 日報 を選択します。
    新しいActionを追加

  3. 新しいActionの設定画面で、以下のように設定します。

    • Action name: 承認
    • For a record of this table: 日報
    • Do this: Data: set the values of some columns in this row
    • Set these columns: 承認ステータス = "承認済"
  4. 次に、このボタンが表示される条件を設定します。Behavior > Only if this condition is true に、以下の式を入力してください。

    AND(
      OR(
        ANY(SELECT(ユーザ[権限], [メールアドレス]=USEREMAIL())) = "承認者",
        ANY(SELECT(ユーザ[権限], [メールアドレス]=USEREMAIL())) = "管理者"
      ),
      [承認ステータス] = "未承認"
    )
    

    この式は、「ログインユーザーが承認者または管理者」かつ「承認ステータスが未承認」の場合にのみ、この承認ボタンを表示するという意味です。

6. 自動化(Automation)の設定

特定のデータ変更をトリガーとして、メール送信などの一連の処理を自動実行させる Automation 機能を設定します。 ここでは「日報が作成されたら、承認者にメールで通知する」という自動化を実装します。

  1. ナビゲーションメニューから Automation を選択します。
    Automationメニュー
  2. Bots の右にある + を押し、create a new bot を選択します。
    新しいBotを追加
  3. 作成された New Bot をダブルクリックし、名前を 日報作成通知 に変更します。

Event(トリガー)の設定

  1. カスタマイズ画面で Configure event を押し、Create a new event を選択します。
  2. 右側のSettings画面で、Automationが実行される「きっかけ」を定義します。
    • Event name: 日報作成
    • Table: 日報
    • Data change type: Adds (データの追加時のみ)
      Eventの設定

Process Step(実行内容)の設定

  1. 真ん中の画面に戻り、Add a step をクリックし、Create a new step を選択します。

  2. 作成された New step の名前を メール通知 に変更します。

  3. 右側のSettings画面で、実行する内容を設定します。

    • Send an email が選択されていることを確認します。

    • To: 式入力モードに切り替え、[承認者] と入力します。 これで日報に登録された承認者のメールアドレス宛に送信されます。
      Toの設定

    • Email Subject (件名):

      日報が作成されました。 報告者:<<[報告者]>>
      
    • Email Body (本文):

      日報が作成されました。
      
      報告日
      <<[報告日]>>
      
      報告者
      <<[報告者]>>
      
      業務カテゴリ
      <<[業務カテゴリ]>>
      
      報告内容
      <<[報告内容]>>
      
      作業時間(時間)
      <<[作業時間(時間)]>>
      
      現場写真
      <<[現場写真]>>
      
      添付資料
      <<[添付資料]>>
      

    <<[カラム名]>> のように書くことで、実際のデータの内容をメールに埋め込むことができます。

7. アプリデザインの変更

最後に、アプリの見た目を少しカスタマイズしてみましょう。

  1. ナビゲーションメニューの Settings > Theme & Brand をクリックします。
    Theme & Brand
  2. Primary color で好きな色を選び、Header & FooterStyleColored に設定します。
  3. プレビュー画面でアプリのヘッダーやフッターの色が変わったことを確認できます。
    デザイン変更後

8. アプリの共有

完成したアプリを他のユーザーに使ってもらいましょう。

  1. 画面右上にある人型の共有ボタンをクリックします。
    共有ボタン
  2. 開いた画面で、アプリを使わせたいユーザーのメールアドレスを入力して権限を付与します。
    共有画面
  3. Share links から、実際のアプリのURLやエディタ画面のURLを確認できます。

おわりに

お疲れ様でした!
このアプリ制作を通して、AppSheetがいかに素早く、そして柔軟に業務アプリを開発できるかを体感できたのではないでしょうか。
今回紹介した機能以外にも、AppSheetはSalesforceやBigQueryといった外部サービスとの連携や、Gemini(AI)を活用した機能など、多くの可能性があります。 今後も記事や発信を通して、さらに便利な機能を紹介していきたいと思います。


無料相談のご案内

AppSheetやGASでのアプリ開発やGoogle Workspace,Geminiに関するご質問、業務効率化に関するご相談を無料で受け付けております。
「こんなアプリは作れる?」「自社のこの業務を効率化したい」など、どんなことでもお気軽にお問い合わせください。

こちらのフォームからお問い合わせください

Discussion