よくある質問
なんか問題がある?心配しないで、答えは全部ここにいる。
全サイト検索

数式が反映されない/正しく動作しないのはなぜ?

Ragic で数式を使用していると、以下のような疑問に直面することがあります:

「最初はうまく動いていたのに、途中から更新されなくなったのはなぜ?」

「インポートや『他のフォーム内のフィールド値を更新』、『データコンバート』を使ったのに数式が反映されない?」

これらの現象の主な原因は、Ragic の基本的な仕様である:

「数式は、データが入力されたときのみ発動する」というルールにあります。

1. 数式は「データ入力時」のみ発動

レコード作成後に数式を追加・変更した場合、その時点ですでに存在しているレコードには新しい数式は自動適用されません。

これは、数式がそのシート(画面)上で手動入力・編集されたときにのみ発動するためです。

この仕組みは、システムのパフォーマンス維持と、既存データの意図しない変化を防ぐために設計されています。

数式を既存レコードに反映させたい場合: 以下のいずれかの方法を用いて再計算を発動する必要があります:

手動で各レコードを編集し直す(どれかの値を上書き保存する)

「数式の再計算」処理を実行する(手入力なしでバックエンドから再計算が可能)

詳しい操作方法については、数式ドキュメントをご参照ください。

2. 数式は「同じシート(画面)」上でデータが入力されたときのみ発動します

数式は、その数式が設定されている同じシート(インターフェース)上で変更が発生しない限り、発動しません。

たとえば、数式が「注文」シートに設定されている場合、「商品」シートなど別のシートで価格などの関連データを編集しても、注文シート側の数式は発動しません。

数式が再計算されるのは、注文シートで直接データを編集したとき(例:数量の変更)に限られます。

また、注文シートのデータが手動入力以外の方法で更新された場合も、数式は自動的に発動しない場合があります。

その場合は、以下で説明するように追加の設定が必要です。

アクションボタンやインポートで他シートを更新する場合

他のフォーム内のフィールド値を更新データコンバートなどのアクションボタン、あるいは インポートを通じて他のシートのフィールドを更新した場合でも、 高度な設定で「すべての関数を再計算」にチェックを入れていないと、数式は発動しません。

リストページとフォームページは別インターフェースとして扱われます

Ragic では、フォームページとリストページ異なる画面(UI)として扱われます。 したがって、数式がフォームページのみに設定されている場合、リストページで同じフィールドを編集しても数式は発動しません(逆も同様です)。

よくリストページで編集を行う運用の場合は、該当のフィールドをリストページにも追加し、同じ数式を設定することを推奨します。これにより、どちらの画面からデータを編集しても数式が正しく動作するようになります。

マルチバージョンシートでの注意点

マルチシートが設定されているシートでは、それぞれのバージョンごとに数式設定は独立しています。必要に応じて、各バージョンに個別で数式を設定する必要があります。

同じフィールドに対してバージョンごとに異なる数式を設定している場合は、切り替え時に値が上書きされる可能性があるため、計算結果が一致するよう注意してください。

各バージョンでの数式設定を確認したい場合は、フィールド情報を利用すると便利です。

子テーブルから作成されたシート/参照子テーブル

子テーブルから新しいフォームを作成や、他のフォームからのリンクを表示においては、フォームページの設計モード左側にあるフォーム設定から「保存時に元のフォームの全ての関数を再計算」を有効にしてください。 詳しくはこちらの文書をご参照ください。

3. その他、数式が発動しない原因

(1) 数式の構文エラー

数式の記述ミスが原因で発動しないことがあります。特に条件式(IF関数)を使う際は注意が必要です:

.RAW の使用が必要なケースかどうか確認してください。

TODAY() や NOW() は IF の中で直接使用できません。別フィールドで計算させて、それを参照する形にしてください。こちらの例も参考に。

(2) フィールド型と数式の不一致

数式によっては、特定のフィールド種類でしか機能しないものもあります。たとえば、計算や比較演算子は 数値型・金額型・日付型にのみ対応しています。

(3) 自動生成フィールドを参照した数式が保存時にズレる

自動生成フィールドは、複数ユーザーが同時にレコードを作成した場合、入力中に一時的に同じ番号が表示されることがあります。保存時に自動でユニーク化されるため、参照している数式の値が保存後に変わってしまうことがあります。

この問題を回避するには、保存後にバックエンドで数式を再計算するワークフローの設定がおすすめです。

(4) TODAY() を使った日付の再計算が日次で反映されない

この場合はこちらのガイドに沿って、トラブルシューティングを行ってください。

既存レコードの数式を再計算する方法

以下のいずれかの方法で、既存レコードに対して数式を再適用できます:

設計モードに入り、シート全体で 数式の再計算を実行する

「すべての数式をこのレコードに適用」アクションボタンを作成する

さらに、TODAYTZ() などを用いて日付に応じて毎日変化する数式がある場合は、日次数式再計算ワークフローを設定することで、毎日自動で数式を更新できます。

Ragic にフィードバックを送る

ご意見をお聞かせください(必須・複数選択可)

上記の項目について、詳細をご記入ください:

フィードバック理解のため、スクリーンショットをご提供ください:

貴重なご意見をありがとうございます!

    無料でRagicを始める

    Googleアカウントに登録

    Ragic 株式会社
    1-888-666-8037
    info@ragic.com
    利用規約 | プライバシーポリシー