catch-img

【よく使う関数まとめ】AppSheet 関数一覧 | 初めての方でも使いやすい解説付き

AppSheet は、Google が提供するスプレッドシートベースのノーコード開発プラットフォームです。AppSheet を使うことで、スプレッドシートのようなデータベースのデータをもとに、簡単にアプリケーションを作成することができます。また、AppSheet は、Webアプリとモバイルアプリの双方に対応しており、ビジネスや個人の用途に応じて多様なアプリケーションを作成することができます。
本記事では、AppSheet でよく使われる関数について解説します。初めての方でも理解しやすいように、関数の種類や使い方、具体的なアプリケーションの例などを紹介します。AppSheet でアプリケーションを開発する際に必要な知識を習得することができるため、AppSheet の操作に慣れてきて、関数を利用してより発展的なアプリを作成したい人におすすめです。

目次[非表示]

  1. 1.AppSheet よく使う関数一覧と解説
  2. 2.条件分岐を行う  
    1. 2.1.IF関数
    2. 2.2.IFS関数
    3. 2.3.SWITCH関数
  3. 3.フォーマットを行う
    1. 3.1.TEXT関数
  4. 4.画面遷移を行う
    1. 4.1.画面遷移の基本
    2. 4.2.LINKTOAPP関数
    3. 4.3.LINKTOVIEW関数
    4. 4.4.LINKTOFORM関数
    5. 4.5.LINKTOROW関数
  5. 5.まとめ


AppSheet よく使う関数一覧と解説


本記事ではbAppSheet でよく使う関数として、
条件分岐を行うためのIF関数・IFS関数・SWITCH関数
フォーマットを行うためのTEXT関数
画面遷移を行うためのLINKTO系の関数
について紹介します。
また、それらの関数を実際に試すことができるサンプルアプリを用意したので、ぜひ実際に関数の挙動を確かめながら理解を深めていってください。

サンプルアプリはこちら
目次から関数を選択して「関数を試す」ボタンを押すと、フォーム画面上で関数の挙動を確かめることができます。また、AppSheet アプリなので、スマートフォンからも試しやすいです。


条件分岐を行う  

IF関数・IFS関数・SWITCH関数は条件分岐を行うための関数です。


IF関数

IF関数は最もスタンダードな条件分岐関数です。第一引数の条件式の結果に応じて出力する値が切り替わります。第一引数として与える条件式はTRUEまたはFALSEの値(Yes/No式)である必要があります。
少し蛇足ですが、プログラミングでは「TRUE または FALSE のどちらかの値をとるデータ」のことを「ブール値」や「Boolean」といいます。AppSheet ではブール値のことを「Yes/No式」と言うのですが、式として扱う際は Yes/No でなく TRUE/FALSE で記述する必要があります。


IFS関数

IFS関数は複数の条件を順番にチェックするような場面で活躍します。「条件式」と「その条件式がTRUEだった場合に出力する値」をセットで付け足していくことができます。IF関数で複数の条件による分岐を実現しようとするとIF関数が何重にも重なっていってしまうのですが、IFS関数を利用するとすっきりと記述することができます。全ての条件式がFALSEの場合は何も出力しないのですが、IFS( … , TRUE, “デフォルト値”)のように末尾に「TRUE」と「デフォルト値として出力したい値」をセットで与えることで、必ず何らかの値を出力するような制御が可能です。


SWITCH関数

SWITCH関数は取りうる値の候補が決まっている場合の条件分岐に便利です。今日の曜日で処理を分岐するようなケースがイメージしやすいでしょうか。第一引数の判定対象の後に「比較対象」と「判定対象と比較対象が一致した際に出力する値」のセットを付け足していくことができます。これらのセットの後ろに最終引数としてデフォルトの出力を指定することができます。比較対象の全てが判定対象と一致しない場合は、最終引数を出力します。


フォーマットを行う

文字列を扱う関数はいくつか用意されていますが、ここでは文字列をフォーマットする、TEXT関数について紹介します。


TEXT関数

TEXT関数はいろいろな値のフォーマットを行う関数です。フォーマットとは「決まった形式に整えること」です。第二引数としてフォーマット書式を指定する方法と、指定しない方法があります。


第二引数としてフォーマット書式を指定しない場合は、TEXT関数がフォーマット書式を自動で推測してフォーマットを行います。フォーマット書式は列の値などのアプリ側の設定や、ユーザーが利用しているデバイスの設定に依存します。数値の形式を統一したい場合などに利用します。


TEXT関数が真価を発揮するのは日時のフォーマットです。第二引数としてフォーマット書式を指定することで、日時のフォーマットを行うことができます。日時のフォーマットとは例えば、「2023/01/02 03:04:05」という日時を「2023年1月2日 3時4分5秒」という書式に変換することです。この変換を行うには TEXT("2023/01/02 03:04:05", "YYYY年M月D日 H時M分S秒") のようにします。この "YYYY年M月D日 H時M分S秒" のような文字列でフォーマット書式を指定します。YYYY や M のような記法をフォーマット文字列と言います。TEXT関数のフォーマット書式で利用できるフォーマット文字列の一覧は以下の通りです。一番右の列は TEXT("2023/01/02 03:04:05", [フォーマット文字列]) の結果を示しています。

表:TEXT関数のフォーマットで利用できるフォーマット文字列一覧

フォーマット文字列
説明

例:"2023/01/02 03:04:05"

YY

年の2桁表記

23
YYYY

年の4桁表記

2023
M

月の短縮表記

1
MM

月の2桁表記

01
MMM

月の名称の短縮表記

01月(英語の場合「Jan」)

MMMM

月の名称の正式表記

01月(英語の場合「January」)

​​​​​​​D

日の短縮表記

2
DD

日の2桁表記

02
DDD

曜日の短縮表記

月(英語の場合「Mon」)

DDDD

曜日の表記正式表記

月曜日月(英語の場合「Monday」)

H

時の短縮表記

3
HH

時の2桁表記

03
M

分の短縮表記

4
MM

分の2桁表記

04
S

秒の短縮表記

5
SS

秒の2桁表記

05
AM/PM

時間が午前か午後か

"AM"
A/P

時間が午前か午後か

"A"

注意事項として、第二引数としてフォーマット書式を指定する場合は、第一引数は日時の値である必要があります。数値をフォーマット書式を指定してフォーマットすることはできません。


画面遷移を行う

「ボタンを押したら別のビュー(または他のアプリ)に遷移したい」「アプリのホーム画面を作成して、そこからいろいろなビューに遷移できるようにしたい」「事前入力されたフォーム画面に遷移したい」「既存のレコードの編集画面に遷移したい」
こういった要件を叶える際に必要なのが、LINKTO系の関数です。


画面遷移の基本

AppSheet で画面遷移を実現するには、アクション(Actions)を利用します。新しくアクションを作成して「Do this」の項目で「App: go to another AppSheet app(他の AppSheet アプリを開く)」か「App: go to another view within this app(このアプリ内の他のビューを開く)」を選択します。これらの項目を選択した後、直下に出現する「Target」の項目で遷移先のアプリやビューの名前を指定するのですが、この際ディープリンクと呼ばれる形式で指定する必要があります。
LINTO系の関数は関数と引数の値に応じたディープリンク(= App型の値)を返します。ディープリンクとは決まった形式の文字列で、アクションを利用して画面遷移を行う際には、Target としてディープリンクを指定する必要があります。LINKTO系の関数はあくまでもディープリンク形式の文字列を返す関数であり、画面遷移はアクションによって行う必要がある点がポイントです。


AppSheet で画面遷移を設定する手順をまとめると以下の通りです。

① 画面遷移するためのアクションを新しく作成する
「Action name」 は分かりやすいものを設定します
「For a record of this table」には画面遷移アクションを設定したいビューに紐づいているテーブルを選択します。AppSheet ではビューやアクションは必ずひとつのテーブルと紐づいています。
「Do this」では「App: go to another AppSheet app」や「App: go to another view within this app」を選択します。
「Target」では遷移先についてのディープリンクを設定します。ここではLINKTO系の関数を利用することができます。


サンプルアプリでは「関数を試す」アクションで関数ごとのページへ遷移するようにしているのですが、その設定は以下のようになっています。

作成したアクションを呼び出す方法を設定する
作成したアクションを呼び出す方法にも複数あります。通常のボタンとして設定して Detailビューから呼び出すこともできますし、ビューの設定から Behavior > Event Actions を開くと「行を選択する」「フォームを保存する」といった特定のイベントによってアクションを呼び出すように設定できます。
サンプルアプリの「関数を試す」アクションは「目次_Detail」ビューのレイアウト設定から 「On Click」でアクションを呼び出すように設定しています。

ここまでを説明した上で、ここからは ① でTarget として指定する「ディープリンク」を生成するためのLINKTO系の関数を4つ紹介します。ただアプリやビューへ遷移するだけでなく、特定のレコードにフォーカスするように指定することができるところがポイントです。


LINKTOAPP関数


LINKTOAPP関数は他の AppSheet へ遷移するためのリンクを作成します。
アプリIDはブラウザでアプリを開いた際のURLに含まれています。例えば https://www.appsheet.com/start/c37bc8a4-6b53-4e71-812c-2348072cbf2e#appName=AppGallery-10305&view=Shared+with+me という AppSheet アプリへのリンクがある場合、 アプリIDは 「AppGallery-10305」 の部分です。


LINKTOVIEW関数

LINKTOVIEW関数は指定したビュー名のビューへ遷移するリンクを作成します。
アプリIDを指定することで他の AppSheet アプリの特定のビューへのリンクを作成することもできます。アプリIDの指定を省略した場合は、現在利用している AppSheet アプリへのリンクを作成します。アプリIDについての挙動は後述するLINKTOFORM関数やLINKTOROW関数でも同様なので、以降は説明を割愛します。

類似の関数としてLINKTOFILTEREDVIEW関数とLINKTOPARENTVIEW関数があります。LINKTOFILTEREDVIEW関数はデータをフィルタリングした状態のビューへ遷移するリンクを作成します。LINKTOPARENTVIEW関数は親ビュー( AppSheet で「戻る」ボタンを押した際に遷移するビュー)へ遷移するリンクを作成します。


LINKTOFORM関数


LINKTOFORM関数で指定するビューはFormビューである必要があります。LINKTOFORM関数で作成したリンクによってFormビューへ遷移した際に、フォーム内の項目を埋めた状態で遷移させることができます。

サンプルアプリでは架空の「商品」テーブルに対して新たに「商品名:メロン、単価:¥ 1000」というレコードを追加する画面に遷移します。

LINKTOFORM関数は新規レコードを作成する際に用いる関数です。既存レコードを編集するような画面遷移を行う際にはLINKTOROW関数を利用します。


LINKTOROW関数


AppSheet ではテーブルを追加すると自動で Detailビュー と Formビューが自動で生成されます。これはテーブルのレコード(一行ごとのデータ)に注目してデータを見たり編集したりするためのビューです。また、テーブルのレコードにはユニーク(一意)なキーを設定する必要があります。

LINKTOROW関数は注目するレコードをキーで指定した上で、FormビューやDetailビューへ遷移するためのリンクを作成する関数です。Formビューでは既存レコードを編集することができます。Detailビューではレコードの詳細を表示できます。

サンプルアプリでは架空の「商品」テーブルの既存のレコード(商品ID=0001)を編集するForm画面へと遷移します。


まとめ

本記事では AppSheet でよく使う関数として、
条件分岐を行うためのIF関数・IFS関数・SWITCH関数
フォーマットを行うためのTEXT関数
画面遷移を行うためのLINKTO系の関数
を紹介しました。
また、それらの関数を実際に試すことができるサンプルアプリを紹介しました。

AppSheet に関する実績やサービス詳細、価格表等についてもっと詳しく知りたい場合は、資料もご用意しておりますのでお問い合わせください。

AppSheet 資料のダウンロードへ(吉積情報サイトへ)

​​​​​​​

石野 耀久
石野 耀久
吉積情報株式会社、アプリケーション開発部に所属。Google Apps ScriptやAppSheet等を用いたアプリケーション開発について、日々勉強中
12/7(木)14:00-15:00 オンライン
グループウェアを刷新して、業務効率化とコスト削減を実現!
Google Workspace と rakumo を使った移行事例セミナー
12/12(火)14:00-15:00 オンライン
新時代のビジネスツール
Duet AI for Google Workspace 活用セミナー
12/20(水)14:00-15:00 オンライン
Google Workspace で実現する
情報漏えい対策の決定版セミナー
1/12(金)14:00-15:00 オンライン
非エンジニア歓迎!
基礎から活用シーンまで学べる!
AppSheet を使った現場DX入門セミナー
1/18(木)14:00-15:00 オンライン
働き方を革新し、AIを有効活用すれば
日常業務はもっと効率化できる!
Google Workspace の効果的利活用の促進セミナー
1/25(木)14:00-15:00 オンライン
データはすべてドライブへ
Googleドライブ運用 まるわかりセミナー

オンラインセミナー開催中

関連記事