コミュニティ · ヘルプ

Sheetward ユーザーガイド

Excel / OpenDocument ワークブック(または Google スプレッドシート)を、フォーム・検証・ルックアップ・インポート/エクスポートなどを備えたマルチユーザー Web アプリに変換します。

数式:計算フィールド

経費の合計、明細の金額、走行距離の支給額 — こうした値は、手で入力するものではありません。Formula_ シートを使うと計算フィールドを追加できます。アプリが値を自動で算出するので、合計の打ち間違いが起こりません。(複数形の Formulas_Logic_ も使えますが、推奨の綴りは Formula_ です。)数式は 1 行に 1 つ、次の列に沿って記述します:Output FieldFormulaDescriptionSectionForm。出力フィールドは読み取り専用で、レコードの入力中にライブで更新されます。

フィールドは、スプレッドシートと同じ感覚で名前で参照します。3 つの経費フィールドを足す合計なら hotel + meals + transport と書くだけです。LINE ITEMS セクションのあるフォームでは、数式で列をヘッダーフィールドに集計することもできます — sum of amount(合計)、count of amount(件数)、average of amount(平均)。明細の数式からヘッダーの値を読むこともできます:miles_driven * mileage_rate from HEADER。これらの集計は常にそのレコード自身の明細を読むため、LINE ITEMS セクションのないフォームでは使えません。多数のレコードにまたがる数値(たとえば全レビューの平均評価)はダッシュボードの役割です。そうした数式の行はスキップされ、ビルド時に警告でお知らせします。

セルに入力した Excel の数式は読み取られません。 Sheetward はワークブックを値として読み込みます — =B2*C2 と書かれたセルは、Excel が最後に保存した数値として届き、ロジックとしては扱われず、アプリ内で再計算されることもありません。計算は Formula_ シート(または calc ルール)に書いてください。サンプル行には普通の例示値を入れておきます。
使う道具こんなときに更新されるタイミング
数式 — Formula_ シート算術や IF による判定をしたいとき:合計、フラグ、区分など画面上でライブに更新 — レコードを入力するそばから
calc ルール — ルールシート金額や単位を換算したいとき:ドルからユーロへ、ポンドからキログラムへレコードの保存のたびに — 換算後の値はレコードと一緒に保存されます
数式と calc ルールの違い。 Formula_ のフィールドはブラウザーで計算され、入力するそばから表示されます — 合計や画面上のロジックに最適です。calc ルール(ルールシートに記述)は、サーバーが計算して保存する通貨・単位の換算です。算術や IF・真偽の判定には数式を、金額や単位の換算には calc を使ってください。

数式は数を足すだけでなく、判断を下すこともできます。IF(condition, value_if_true, value_if_false)ANDORNOT と組み合わせて、データに応じた値を選びます。たとえば IF(total > 100, "High", "Low") と書けば、金額の大きい申請を自動で、しかも毎回同じ基準でマークできます。

計算フィールドは、レコードを保存するたびにサーバー側でも再計算されます。ブラウザーに表示されるのはライブプレビューであり、保存される値は常にサーバー上で実行された同じ数式の結果です。手で書き換えた合計が送信されることは、フォームでも公開ページでもありません。

数式リファレンスには、すべての演算子と関数を、そのまま写して使える実例付きで掲載しています。