AppSheetアプリの条件分岐やUI制御に欠かせないのが CONTEXT() 関数です。CONTEXT() を使うことで、現在のアプリの表示状況や使用端末、フォームのモードなどに応じて表示・非表示やアクションの有効化を制御できます。
この記事では、CONTEXT() に指定可能な6つの情報名について、具体例付きで徹底解説します。
CONTEXT() 関数の基本構文
CONTEXT("情報名")「情報名」の部分に以下のキーワードを指定することで、現在のアプリの状態を取得できます。
1. "View":現在表示しているViewの名前
- 用途例:特定のViewでのみアクションを表示したい
例:View名が "申請一覧" のとき
CONTEXT("View") = "申請一覧"🔍 この条件をアクションの Only if this condition is true に使えば、Viewを限定できます。
2. "ViewType":表示されているViewのタイプ
- 取得できる主なタイプ:
Form,Detail,Deck,Table,Gallery,Chartなど - 用途例:フォーム表示中かどうかを判定する
例:表示中のViewがForm(入力フォーム)のとき
CONTEXT("ViewType") = "Form"例:Detailビューのとき
CONTEXT("ViewType") = "Detail"3. "Device":アクセスしているデバイスの種類
- 取得できる値:
Browser,Tablet,Phone - 用途例:スマホやPCで表示内容を変える
例:PCからアクセスしているときだけ
CONTEXT("Device") = "Browser"スマートフォンでは表示を省略して、UIを簡素に保つことができます。
4. "Host":アプリのホスト環境
- 取得できる値
Browser(ブラウザからのアクセス)DeviceまたはNative(モバイルアプリからのアクセス)
- 用途例:ネイティブアプリかどうかで処理を分ける
例:モバイルアプリからのアクセスのみ
CONTEXT("Host") = "Device"5. "AppName":アプリの名前
- 用途例:同じデータソースを使う複数アプリで表示を切り替える
例:アプリ名が "営業報告アプリ" のとき
CONTEXT("AppName") = "営業報告アプリ"🔄 共通スプレッドシートを複数アプリで使いまわす場合に便利です。
6. "FormMode":フォームのモード
- 取得できる値:
Add(新規作成)、Edit(編集) - 用途例:Add時だけ初期値を表示、Edit時だけ補助入力
例:Add(新規作成)のとき
CONTEXT("FormMode") = "Add"例:Edit(編集)のとき
CONTEXT("FormMode") = "Edit"応用例:複数のCONTEXTを組み合わせる
複数の条件を組み合わせることで、より柔軟な制御が可能です。
例:スマホからのAddモードのとき
AND(
CONTEXT("Device") = "Phone",
CONTEXT("FormMode") = "Add"
)CONTEXT() 早見表
| 情報名 | 取得できる値例 | 用途例 |
|---|---|---|
"View" | 申請一覧, 管理画面 | 特定のViewでのみ列・ボタン表示 |
"ViewType" | Form, Detail, Table | 表示ビューのタイプによる制御 |
"Device" | Browser, Phone, Tablet | デバイスごとのUI切り替え |
"Host" | Browser, Device | Webとアプリでの挙動変更 |
"AppName" | 営業アプリ, 管理アプリ | 複数アプリでデータを共用する場合の条件分岐 |
"FormMode" | Add, Edit | フォームモードによる初期表示・制御 |
まとめ
CONTEXT() を活用すれば、ユーザーやアプリの操作状況に応じた柔軟なUIやロジック制御が可能になります。
- Add/Editの使い分け
- 管理者用ビューの切り替え
- スマホ・PCでのUI最適化
- アプリ間の条件分岐
