CONTEXT関数とは?6つの情報名を具体例付きで解説CONTEXT関数とは?

関数
AppSheet関数

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, DeviceWebとアプリでの挙動変更
"AppName"営業アプリ, 管理アプリ複数アプリでデータを共用する場合の条件分岐
"FormMode"Add, Editフォームモードによる初期表示・制御

まとめ

CONTEXT() を活用すれば、ユーザーやアプリの操作状況に応じた柔軟なUIやロジック制御が可能になります。

  • Add/Editの使い分け
  • 管理者用ビューの切り替え
  • スマホ・PCでのUI最適化
  • アプリ間の条件分岐