Formia

計算と条件 7 / 8

式のエラーと見直し

式を保存できない、計算結果が空になるといったときの原因と直しかたを説明します。よくあるエラーの一覧、未入力の伝わりかた、循環参照、式の長さの上限、見直しの手順を紹介します。

約4分で読めます

Formia マニュアルの目次(章と記事の一覧)
はじめに
アプリを使う
アプリをつくる
入力項目ガイド
計算と条件
一覧とビュー
ワークフロー(承認)
自動化
帳票(PDF・印刷)
権限とユーザー
公開フォームと連携
現場・オフライン
運用・管理
この記事の内容

式が思ったとおりに動かないときは、原因が大きく2つに分かれます。保存のときにエラーになる場合と、保存はできるが結果が空や意外な値になる場合です。この記事では、それぞれの見つけかたと直しかたを説明します。

保存のときに出るエラー

式は、設計画面で保存するときに読み取りと型の検査を受けます。書き方に問題があると保存できず、何が問題かが日本語で表示されます。位置が分かるものは、何文字目かも添えられます。

エラーの内容よくある原因直しかた
項目「○○」は存在しませんkeyの書き間違い。項目名(ラベル)を書いている「構成」でkeyを確かめて書き直す
関数「○○」は存在しません関数名の書き間違いよく使う関数で名前を確かめる
解釈できない文字があります全角の括弧・記号・空白が混ざっている式の記号は半角で書く
文字列が閉じられていません引用符(‘)が足りない引用符を対にする
「○○」が必要ですが、式の終わりがありました閉じ括弧が足りない括弧の数を合わせる
型が合わない数と文字を比べている(1 == '1')、文字に+を使っている型をそろえる。文字は&でつなぐ
計算式が循環していますAの計算がBを使い、Bの計算がAを使っている片方を、元になる項目から計算するように直す
式が複雑すぎます式が長すぎる計算用の項目に分ける
@itemはFILTER / ANYなどの中でのみ使えます関数の外で@itemを使った関数の条件の中に移す
入れ子になっている(保存できない)FILTERの中にANYを入れた1段までにして、途中の結果を別の項目に分ける

保存はできるが、結果が空・意外になるとき

未入力が計算に混ざっている

未入力は0ではありません。足し算の片方が未入力だと、答えも未入力になります。

=a + b          ← b が未入力だと、答えも未入力
=a + COALESCE(b, 0)   ← 未入力を 0 として扱う

合計のSUMは、空のときに0を返します。平均のAVGと最大・最小のMAX・MINは、空のときは未入力です。

0で割っている

1 / 0は「計算できません」になり、結果は未入力です。割る数が0や未入力になりうるときは、IFで守ります。

=IF(ISNOTBLANK(count) && count != 0, total / count, null)

表示条件が効かない

項目を隠す条件が働かないときは、使える項目が「その項目より前にあるもの」かを確かめてください。表示条件には、サーバーだけで評価する関数(IS_UNIQUE・IS_BUSINESS_DAY)は使えません。

式の上限

式は、安全のために次の上限があります。通常の業務で届くことはほとんどありません。

  • 式の大きさ: 500個の要素まで
  • リストの長さ: 10,000件まで
  • 計算の手数: 100,000回まで

上限を超えると、計算を中断してエラーになります。

見直しの手順

  1. エラーの文を読み、位置を確かめる
  2. 項目をkeyで書いているか、記号が半角かを確かめる
  3. 式を短く分け、途中の結果を計算用の項目に出して確かめる
  4. 左のペインの「ロジック」タブで、どの項目がどの項目に影響しているかを見る
  5. プレビューで、値を入れて動きを確かめる

関連する記事

Formia マニュアルの一覧へ

Formia

ノーコードで、業務アプリを作ろう。

どんな業務をアプリにしたいか、お聞かせください。ひな形から、Formia でどんなアプリになるかをその場で試作してお見せします。

資料請求・デモの相談 →

トライアルは法人のお客様向けです。個人の方は、有料プランのお申し込みをご利用ください。