Ragicの数式は、他の表計算ソフト(Excelなど)の数式とほとんど同じですが、主な違いは、フィールドがヘッダーの値や数式を直接参照する点です。
数式は数字だけでなく、文字列や日付などにも対応し、どのような数式が必要かを自動的に判断します。ただし、念のため、数式計算をさせたいフィールドの入力タイプ(例:数値、日付)を正しく選択することをお勧めします。例えば、数値計算の数式を適用する場合は、数値フィールドや 金額フィールドを使用してください。 これにより、システムが数式を正しく解釈し、期待どおりの結果を返すことができます。
フィールドタイプが適切でない場合、数式が意図したとおりに動作しない可能性があります。
フォームページのデザインモードフィールドヘッダーをクリックし、左側のデザインパネルでフィールド設定下の関数タブを選択すると、このフィールドの関数の入力を始められます。
以下は、フィールド F9(金額)の計算式が D9*E9(価格*数量)である場合の販売注文の計算例である。 ここで注意するのは、数式に入力するフィールド番号は、ヘッダーがのセルであることです。

数式が設定されたフィールドの右上にfx()アイコンが表示されます。

アイコンをクリックすると、その数式のすべての参照フィールドが表示されるので、すばやく参照することができます。

その他の関数は、Ragicがサポートする関数一覧列表。
注意: 複数選択フィールドタイプでは、一覧に記載されている一部の数式のみを使用できます。
数式の作り方がわからないときは、数式生成器で必要なルールを指定できます。生成はAIにお任せください。
注意:この機能を有効にするには、オンプレミス版 にパラメーターの追加が必要です。詳細はこちらのセクションをご参照ください。
注意事項:
1. ルールを記述し、このフィールドに期待される返り値を指定します。例えば:今日の日付を返す
2. 数式にテキストを含める場合は、二重引用符で囲みます。例えば:"取引日"
3. 数式を設定した後、結果が期待される結果を満たしているか手動で確認してください
数式生成器の画面を開くには、以下のFormula AI Open Linkをクリックしてください。

ルールを入力し、数式生成をクリックします。

以下は、通常の数式と承認数式を含む、シートに基づいてフィールドを選択して入力できるデフォルトのシナリオです。
例えば、「無料配送」フィールドで、「総額」が「無料配送金額」よりも大きい場合は「あり」を返し、そうでない場合は「なし」を返すようにしたい場合は、「A1 が A2 により大きい場合は "Y" を返し、そうでない場合は "N" を返す」を選択し、関連するフィールドと返り値が一致するように修正してください。

入力が完了したら、数式生成をクリックして、以下の対応する数式を生成する。計算式の横にある「コピー」アイコンをクリックすると、計算式が自動的に入力されます。

運算子によって、数式がどのように実行されるかが決まります。 通常の演算では、一定の順序がある(例:掛け算は足し算や引き算より優先)。通常の数学演算と同様に、()を使って演算の順序を変更できます。
ただし、Ragicでは、コロン:を使ってセルの合計値を求めることはできませんので、ご注意ください。
加算、減算、乗算などの基本的な数学演算を行って数値を生成するには、以下の算術演算子を使ってください。
| 演算子 | 意味 | 例 |
|---|---|---|
| + (プラス) | 加算 | 3+3 |
| – (マイナス) | 減算 | 3–1 |
| * (アスタリスク) | 乗算 | 3*3 |
| / (スラッシュ) | 除算 | 3/3 |
| ^ (キャレット) | N乗 | 3^2 |
2つの数値を比較するために、以下の演算子を使用できます。また、これらの運算子を条件式で使用すると、与えられた条件を満たしているかどうかを判断し、TRUE または FALSE を表示することができます。
| 比較演算子 | 意味 | 例 |
|---|---|---|
| = | イコール | A1=B1 |
| == | イコール | A1==B1 |
| > | だいなり/以上 | A1>B1 |
| < | しょうなり/以下 | A1 |
| > = | だいなりイコール | A1>=B1 |
| < = | しょうなりイコール | A1<=B1 |
| != | ノットイコール | IF(A1!=B1,'yes','no') |
| <> | ノットイコール | IF(A1<>B1,'yes','no') |
数式中の文字列を標示するために、「一重引用符」または「二重引用符」を使用することができます。 この文章では「一重引用符」を使って説明しますが、Ragicではどちらの形式もサポートされています。
以下は、Ragic でサポートされている数式とカテゴリの一覧です。
※以下の数式は大文字・小文字を区別するためご注意ください。
1. 数値計算用の関数
2. 日付と時刻関数
3. 文字列関数
4. 条件式関数
5. 子テーブル関数
6. 複数選択フィールド関数
7. 承認関数
合計、平均、最大値・最小値などの数値や金額を計算するための数式です。一部の数式の説明や活用例については、こちらのセクションをご参照ください。
| 関数 | 概要 |
|---|---|
| SUM(value1,[value2],...) | これらのフィールド値の合計値を返す、また、value+value2+...という形式で示すことも可能です |
| AVG(value1, value2,...) | 全てのフィールドの平均値を返す。この関数は子テーブルでも使用できますが、子テーブルの平均値は、子テーブルの1つのフィールド値だけでなく、すべてのフィールド値を含んでいます。AVERAGE 関数と同様に動作します。 |
| AVERAGE(value1, value2,...) | 全てのフィールドの平均値を返す。この関数は子テーブルでも使用できますが、子テーブルの平均値は、子テーブルの1つのフィールド値だけでなく、すべてのフィールド値を含んでいます。AVG 関数と同様に動作します。 |
| MIN(value) | すべてのフィールド値のうち最小の数値を返す。この関数は、子テーブルでも使用できます。 |
| MAX(value) | べてのフィールド値のうち最大の数値を返す。この関数は、子テーブルでも使用できます。 |
| MODE.SNGL(value1,[value2],...) | すべてのフィールド値のうち、最も頻度の高い値を返す。この関数は、一般フィールド、子テーブル、グローバル定数も使用できます |
| MODE.MULT(value1,[value2],...) | すべてのフィールド値のうち、最も頻度の高い値を返す。最頻値が複数ある場合、複数の結果を返すことができる。この関数は、一般フィールド、子テーブル、グローバル定数も使用できます |
| ABS(value) | 絶対値を返す |
| CEILING(value) | その値と同じかそれ以上の最も近い整数値を返す。 |
| FLOOR(value) | その値と同じかそれ以下の最も近い整数値を返す。 |
| ROUND(value) | 四捨五入後の最も近い整数値を返す。 |
| ROUND(value,N) | 指定したNの桁数で四捨五入する。 |
| ROUNDUP(value,N) | 指定したNの桁数で切り上げる。 |
| ROUNDDOWN(value,N) | 指定したNの桁数で切り捨てる。 |
| MROUND(value,multiple) | 指定したmultipleの倍数になるように四捨五入する。 |
| SQRT(value) | 平方根を返す。 |
| COUNT(value1,value2,...) | フィールドの値の総数を返す。一般フィールドで使用する場合、空白値は計算されないが、子テーブルフィールドで使用する場合、空白値は計算される。 |
| PI() | 円周率を返す、約3.14159に相当。 |
| RAND() | 0 から 1 の間のランダム値を返す。詳細はこちら。 |
| POWER(value,power) | 二乗の値を返す。 |
| MOD(value,divisor) | 数値を除数で割った余りを返す。結果の符号は除数と同じになります。詳細はこちら。 |
| GCD(value1,[value2],...) | これらの値の最大公約数を返す。最大公約数とは、これらの値を割ることができる最大の整数である。詳細はこちら。 |
| LCM(value1,[value2],...) | これらの数値の最小公倍数(これらの数値が共有する正の整数の最小の整数倍)を返し、この式を分母の異なる分数の計算に役立てます。詳細はこちら。 |
| PRODUCT() | 指定されたフィールドのすべての値が乗算され、空白値および数値以外の値は無視されます。指定できるのは一般的なフィールドだけではなく、参照子テーブルフィールドは、フィールド内のすべての値を乗算することができる。詳細はこちら。 |
| PMT(rate, nper, pv, [fv], [type]) | この関数は、ローンの各分割払いで投資する金額を計算できます。
rate (必須):利率 |
年・月・日・時刻や、特定の営業日など、日付や時間に関連するデータを取得するための数式です。 一部の数式の説明や活用例については、こちらのセクションをご参照ください。
| 関数 | 概要 |
|---|---|
| TODAY() | 現在の日付を送り返す。 毎日の関数再計算の参照フィールドとして使用するには、TODAY()の代わりにTODAYTZ()を使用する ことを推奨します。 |
| TODAYTZ() | 会社設定に基づき、会社の時間帯で現在の日付を返す。 |
| NOW() | 現在の日付と時刻を返す。 |
| NOWTZ() | 会社設定に基づき、会社の時間帯で現在の日付と時刻を返す。 |
| EDATE(start_date, months) | 指定された時刻(start_date)の前後数ヶ月の日付を表す連続した数値を返す。詳細はこちら。 |
| EOMONTH(start_date, months) | 指定された日付(start_date)の前後の数か月(months)の最終日を表す連続的の数値を返す。詳細はこちら。 |
| YEAR() | 日付フィールドの年を返す。 |
| MONTH() | 日付フィールドの月を返す。 |
| DAY() | 日付フィールドの日を返す。 |
| DATE(year,month,day) | 3 つの参照数値フィールドの値を組み合わせて、日付を返す。 誤りを防ぐため、年フィールドには4桁の値を使用してください。 |
| WEEKDAY() | 一週の何日目を返送、1日目(日曜日)から7日目(土曜日)まで表示する。 |
| WORKDAY(start_date,days,["holidays"], [makeup_workdays]) | 指定された日付(開始日)は、土日や指定された祝日(どの日が営業日か指定する)を含まない前後の営業日数分の日付を返す。詳細はこちら。 |
| WORKDAY.INTL(start_date,days,weekend_no,["holidays"], [makeup_workdays]) | パラメータで、どの日が何日目に週末になるかを指定し(どの日が営業日になるかを指定し)、代表日(開始日)の前後に指定した営業日数を返します。詳細はこちら。 |
| NETWORKDAYS(start_date,end_date,["holidays"], [makeup_workdays])) | start_date から end_date までの営業日のうち、休日(土日、指定休日)以外の日数および営業日として指定された日数を返す。詳細はこちら。 |
| NETWORKDAYS.INTL(start_date,end_date,weekend_no,["holidays"], [makeup_workdays]) | パラメータで、どの日が何日目に週末になるかを示し(どの日が営業日になるかを指定し)、2つの日付の間の全営業日の数を送り返す。詳細はこちら。 |
| ISOWEEKNUM(date) | 指定された日付はその年の何週目、月曜日は週の初日として設定されている。 |
| WEEKNUM(serial_number,[return_type]) | 指定された日付はその年の何週目、週の初日は自分で設定できる。詳しくはこちらの記事をご覧ください。。 |
| DATEVALUE(date_text, date_format) | 日付(時刻)フィールドに適用し、参照文字列を日付(時刻)値に変換する。"date_text "は固定の日付文字列または参照文字列フィールド、"date_format "は参照日付文字列形式を示す。例えば、A1の文字列の値が「2019/02/01」で、これを日付フィールドに変換したい場合、DATEVALUE(A1, "yyyy/MM/dd")という数式を日付フィールドに適用すると、変換された結果が得られます。 |
| HOUR() | この関数は、3つの使い方をサポートします: 1. パラメータを0-1に持ち込み、24時間単位の割合を返す。例:HOUR(0.5)=12。 2. パラメータを日付フィールドに持ち込み、フィールドの時間単位値を返す。例:A9のフィールド値は18:11:19、HOUR(A9)=18。 3. パラメータを日付の文字列に持ち込み、文字列内の時間単位値を返す。例:HOUR("2020/10/13 17:34:56")=17。 |
| MINUTE() | この関数は、3つの使い方をサポートします: 1. パラメータを0-1に持ち込み、ˊ60分単位の割合を返す。例:MINUTE(0.5)=30。 2. パラメータを日付フィールドに持ち込み、フィールドの分単位値を返す。例:A9のフィールド值は18:11:19,MINUTE(A9)=11。 3. パラメータを日付の文字列に持ち込み、文字列内の分単位値を返す。例:MINUTE("2020/10/13 17:34:56")=34。 |
| SECOND() | この関数は、3つの使い方をサポートします: 1. パラメータを0-1に持ち込み、ˊ60秒単位の割合を返す。例:SECOND(0.75)=45。 2. パラメータを日付フィールドに持ち込み、フィールドの秒単位値を返す。例:A9のフィールド値は18:11:19,SECOND(A9)=19。 3. パラメータを日付の文字列に持ち込み、文字列内の秒単位値を返す。例:SECOND("2020/10/13 17:34:56")=56。 |
| TIME(hour, minute, second) | 特定時間の小数を返す、返される小数は 0 から 0.99988426 までの値で、0:00:00 から 23:59:59 までの時間を表しています。
Hourは時間を表し、0から32767の範囲とする。 23以上の値は24で割り、その余りを時間値とする。 例:TIME(27,0,0) = TIME(3,0,0) = 0.125 または午前3時。 Minute は分を表し、0から32767の範囲とする。 59以上の数値は、時・分に変換されます。例:TIME(0,750,0) = TIME(12,30,0) = 0.520833 または 12:30 PM。 Second は秒を表し、0から32767の範囲とする。 59以上の数値は、時・分・秒に変換されます。例:TIME(0,0,2000) = TIME(0,33,22) = 0.023148 または 12:33:20 AM。 |
フィールドの値を文字列として取得したり、内容を確認するための数式です。たとえば、文字の取得、大小文字の変換、空白チェックなどが含まれます。 文字列数式の詳しい説明は、こちらのセクションをご参照ください。
| 関数 | 概要 |
|---|---|
| LEFT(value,length) |
指定した文字数(length)に基づき、文字列の左側から文字を取得します。 例:length が 3 の場合、左から 3 文字を返します。 詳細はこちら。 |
| RIGHT(value,length) |
指定した文字数(length)に基づき、文字列の右側から文字を取得します。 例:length が 3 の場合、右から 3 文字を返します。 詳細はこちら。 |
| MID(value,start,[length]) |
指定した文字列の途中から、指定した文字数を抽出します。開始位置は 0 から数えます。 例:フィールド A1 の値が ABCD の場合、別のフィールドに MID(A1,1,2) を設定すると BC が返されます。 詳細はこちら。 |
| FIND(find_text,within_text,[start_num]) |
文字列内から指定した文字列を検索し、見つかった位置を返します。位置は検索対象文字列の先頭を 0 としてカウントされます。 詳細はこちら。 |
| LEN(value) |
文字列の文字数を返します。 詳細はこちら。 |
| UPPER(value) / TOUPPERCASE(value) |
元の文字列を変更せず、文字列内のすべての小文字を大文字に変換します。 |
| LOWER(value) / TOLOWERCASE(value) |
元の文字列を変更せず、文字列内のすべての大文字を小文字に変換します。 |
| PROPER(value) |
文字列内の各単語の先頭文字、および英字以外の文字に続く英字を大文字にし、それ以外の文字を小文字に変換します。 |
| SUBSTITUTE(text,old_text,new_text,[instance_num]) |
文字列内の特定の文字列(old_text)を、新しい文字列(new_text)に置き換えます。 |
| TEXT() |
数値や日付を、指定した書式に変換します。 詳細はこちら。 |
| REPT(value,number_times) |
指定した値を、指定した回数だけ繰り返して返します。 詳細はこちら。 |
| SPELLNUMBER(number, [lang]) |
数値を英語などの単語表記に変換します。 例:「100」を「one hundred」と表示したい場合に使用します。 詳細はこちら。 |
| TRIM() |
フィールド値の先頭および末尾にある全角・半角スペースを削除します。 また、文字列内に複数の全角・半角スペースがある場合は、最初の 1 つのみを残します。 例:TRIM(" a c ") は "a c" を返します。 |
| CHAR(value) |
指定した文字コードに対応する文字を返します。 例:CHAR(10) は改行、CHAR(32) はスペースを返します。 |
| ISBLANK() |
参照しているフィールドが空かどうかを判定します。 特定のフィールドを直接参照したり、条件式内で使用できます。 例:ISBLANK(A2)、または IF(ISBLANK(A2), 'Y', 'N')。 |
特定の条件に基づいて、フィールドの値を返すための関数です。 詳しい解説については、こちらのセクションをご参照ください。
| 関数 | 概要 |
|---|---|
| IF(value==condition,[value_if_true],[value_if_false]) | IF式は、指定だれた条件に合致すればTRUE、合致しなければFALSEを返す。詳細はこちら。 |
| IFS() | 複数の条件を満たすことを確認し、最初の TRUE 条件に対応する値を返す。詳細はこちら。 |
| LOOKUP(value,lookup_list,[result_list]) | lookup_listから値を検索し、result_listの対応位置に値を返す。詳細はこちら。 |
| AND(logical1, [logical2], ...) | すべての条件を満たす場合に TRUE を、1つ以上の条件を満たさない場合に FALSE を返す。詳細はこちら。 |
| OR(logical1, [logical2], ...) | いずれかの条件を満たしたときに TRUE を、いずれの条件も満たさなかったときに FALSE を返す。詳細はこちら。 |
| NOT(logical) | テスト条件が FALSE の場合は TRUE を、TRUE の場合は FALSE を返します。 詳細はこちら。 |
| COUNTIF(criterai_range,criteria, count_range) | 計算子テーブルの各カラムが判定基準を満たした回数の合計を返す。詳細はこちら。 |
| COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2]...) | 追加範囲のうち、該当する基準を満たす値(回数)の合計を返す。詳細はこちら。 |
| SUMIF(range,criteria,[sum_range]) | 判定基準を満たした子テーブルの各列の値の合計を返す。詳細はこちら。 |
| SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2, criteria2],...) | 複数の判断基準を満たす各列の値の合計を計算し、返す。詳細はこちら。 |
| UPDATEIF(condition,value_if_true) | フィールドの値は、条件を満たしたときのみ更新される。詳細はこちら。 |
| MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) | 指定されたフィールド範囲の最大値を、指定された条件または基準に基づいて返す。詳細はこちら。 |
| MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) | 指定されたフィールド範囲の最小値を、指定された条件または基準に基づいて返す。詳細はこちら。 |
子テーブルフィールドに関連するデータを取得するための関数です。 特定の行の値を返したり、ユニークな行数や空白でない行数を取得することができます。 詳しくは、こちらのセクションをご参照ください。
| 関数 | 概要 |
|---|---|
| FIRST(value) | 子テーブル内の指定した列における最初のデータを返します。詳細はこちら。 |
| FIRSTA(value) | 子テーブル内の指定した列において、空でない最初のデータを返します。詳細はこちら。 |
| LAST(value) | 子テーブル内の指定した列における最後のデータを返します。詳細はこちら。 |
| LASTA(value) | 子テーブル内の指定した列において、空でない最後のデータを返します。詳細はこちら。 |
| SUBTABLEROW(value,nth_row) | 子テーブル内の指定した行(nth_row)にある列のデータを返します。この関数は独立フィールドでのみ設定できます。詳細はこちら。 |
| COUNTA(value) | 指定したフィールドが空でない子テーブルの行数をカウントします。同じ行内の他のフィールドが空であっても、指定フィールドに値があればカウントされます。行全体が入力されている必要はありません。詳細はこちら。 |
| RUNNINGBALANCE(value, [allow_backend_formula_recalculation=false]) | 子テーブル内の指定したフィールドについて、当該行およびそれ以前の行の値を合計した累計値を返します。true に設定すると、この数式に対してバックエンドでの再計算が許可されます。本関数を使用するには、子テーブルのレコードが順番に作成されている必要があります。詳細はこちら。 |
| LARGE(arg, nth, ["arg2"]) | 子テーブルのフィールドを参照し、ある列の順位(nth)を基準に、同じ行にある別の列の値を返します。詳細はこちら。 |
| UNIQUE() | 参照した子テーブルフィールド内の重複しない値を一覧表示します。詳細はこちら。 |
| UNIQUE().length | 参照した子テーブルフィールド内の重複しない値の件数を計算します。詳細はこちら。 |
| VLOOKUP() | 指定した条件を満たす子テーブル内の値を返します。詳細はこちら。 |
複数選択フィールドに対して使用する関数です。 詳しい解説については、このセッションをご参照ください。
| 関数 | 概要 |
|---|---|
| INCLUDES_ALL(複数選択/複数画像/複数ファイルフィールド, value1, value2,...) | 全ての選択肢値の中に、リストされた値 (任意のフィールドタイプや値が可能) をそれぞれ含んでいる場合、true が返されます。使い方の例については、こちらの記事を参照下さい。 |
| NOT_INCLUDES_ALL(複数選択/複数画像/複数ファイルフィールド, value1, value2,..) | 選択肢値の中に、リストされた各値(任意のフィールドタイプや値が可能)を含むものがなければ、true が返され、その結果は INCLUDES_ANY の逆と等しい。使い方の例については、こちらの記事を参照下さい。 |
| INCLUDES_ANY(複数選択/複数画像/複数ファイルフィールド, value1, value2,...) | 全ての選択肢値の中に、 リストされた値 (任意のフィールドタイプや値が可能)のうちの少なくとも1つを含んでいる場合に true を返します。使い方の例については、こちらの記事を参照下さい。 |
| NOT_INCLUDES_ANY(複数選択/複数画像/複数ファイルフィールド, value1, value2,...) | 全ての選択肢値の中に、リストされた値 (任意のフィールドタイプや値が可能)のいずれか 1つを含まない場合は true を返し、これは INCLUDES_ALL の逆と等しい。使い方の例については、こちらの記事を参照下さい。 |
| ITEMS_COUNT(複数選択/複数画像/複数ファイルフィールド) | 複数選択フィールドの値の数を返します。 例えば、複数選択フィールドで3つの選択肢が選択されている場合は3が返され、ファイルアップロードフィールドで2つのファイルがある場合は2が返されます。 |
シートに 承認フロー を設定している場合に、承認プロセスに関連する値を返すための数式です。
詳しい説明については、こちらのセクションを参照してください。
| 関数 | 概要 |
|---|---|
| APPROVAL.COUNT() | 承認ステップの数を返す。 |
| APPROVAL.STATUS() | 承認ステータスを返す。 |
| APPROVAL.SUBMITTER() | 承認プロセスを開始したユーザーのメールアドレスを返す。ユーザー選択フィールドで使用できます。 |
| APPROVAL.SUBMITTERNAME() | 承認プロセスを開始したユーザーの名前を返す。 |
| APPROVAL.SUBMITDATE([true]) | 承認プロセスが開始された日時を返す。日付フィールドで使用できます。詳細は こちらのセクションを参照してください。 |
| APPROVAL.FINISHDATE([true]) | 承認プロセスが終了した日時を返す。すべての承認者が承認した場合、またはいずれかが却下した時点で承認は終了します。日付フィールドで使用できます。詳細は こちらのセクションを参照してください。 |
| APPROVAL.CURRENTSTEPINDEX | 承認プロセスにおける現在のステップを示すインデックス値を返す。
インデックス 0:承認プロセスがまだ開始されていない状態。 インデックス 1:承認プロセスは開始されているが、まだ誰も承認していない状態。 承認者が 1 人承認するごとに、インデックスは「1」ずつ加算されます。 承認プロセスが終了(全員承認/いずれかが却下/キャンセル)すると、インデックスは再び「0」に戻ります。 |
| APPROVAL.STEP([stepIndex]).NAME() | 指定したステップの名前を返す。 |
| APPROVAL.STEP([stepIndex]).STATUS() | 指定したステップのステータスを返す。 |
| APPROVAL.STEP([stepIndex]).USERS() | そのステップのすべての承認者を返す。
例:荻野千尋|饒速水琥珀主|湯婆婆 複数ユーザー選択フィールドで使用できます。 (現在、数式は複数選択フィールドに直接適用できないため、先に数式を設定し、その後で複数選択の設定を行ってください。) |
| APPROVAL.STEP([stepIndex]).UNSIGNEDUSERS() | そのステップでまだ承認していない承認者を返す。
例:荻野千尋|饒速水琥珀主|湯婆婆 複数ユーザー選択フィールドで使用できます。 (現在、数式は複数選択フィールドに直接適用できないため、先に数式を設定し、その後で複数選択の設定を行ってください。) |
| APPROVAL.STEP([stepIndex]).SIGNEDUSERS() | このステップですでに承認した承認者を返す。
例:荻野千尋|饒速水琥珀主|湯婆婆 複数ユーザー選択フィールドで使用できます。 (現在、数式は複数選択フィールドに直接適用できないため、先に数式を設定し、その後で複数選択の設定を行ってください。) |
| APPROVAL.STEP([stepIndex]).ISMULTI() | このステップに「複数の承認者」が設定されている場合、"True" を返す。 |
| APPROVAL.STEP([stepIndex]).THRESHOLD() | このステップのしきい値(承認に必要な人数)を返す。
単一の承認者のみの場合、またはしきい値が設定されていない場合は「-1」を返します。 |
| APPROVAL.STEP([stepIndex]).SIGNEDCOUNT() | このステップですでに承認した承認者の人数を返します。 |
| APPROVAL.STEP([stepIndex]).RESP([email]) | このステップにおける指定した承認者の応答内容を返します。詳細は こちら を参照してください。 |
| APPROVAL.STEP([stepIndex]).COMMENT([email]) | 承認者のコメントを返します。コメントが存在しない場合は null を返します。詳細は こちら を参照してください。 |
| APPROVAL.STEP([stepIndex]).SIG([email]) | このステップにおける承認者の署名を返します。
例:base64 形式の画像 URL。画像アップロードフィールドで使用できます。詳細は こちら を参照してください。 |
| APPROVAL.STEP([stepIndex]).SIGIMG([email], [width], [height]) | このステップにおける承認者の署名を、指定したサイズの画像として返します。
[width] と [height] は任意で、デフォルトは 300px × 150px です。 この数式は、フィールド説明内で BBCode の [formula] として使用できます。詳細は こちら を参照してください。 |
| APPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true]) |
指定した承認ステップにおける、承認または却下が行われた日時を返します。 この数式は 日付フィールド に適用する必要があります。詳細は こちら を参照してください。 |
| APPROVAL.STEP([stepIndex]).COMMENTDATE([email], [true]) | 承認者がコメントを入力した日時を返します。
承認・却下・コメントが存在しない場合は null を返します。 この数式は 日付フィールド に適用できます。詳細は こちら を参照してください。 |
データベースにデータを入力すると、入力した式に従ってデータが計算され、一度保存するとこの値は保存され、変更されることはありません。
つまり、デザインモードで数式を変更しても、すでに保存されているデータが新しい数式に従って再計算されることはありません。
その理由は、以前に古い数式から計算したデータはまだ有効であり、計算式を更新したからといって自動的に変更されることはないはずだからです。
例えば、ある税金の申告書があり、最近税率が上がったので計算式を変更した場合、以前保存されていた税金の情報は、そのまま古い税率で計算されるはずです。
ただし、場合によっては、古いデータをすべて最新の数式で再計算する必要があるかもしれません。フォームページのデザインモードで再計算したい数式のフィールドをクリックすると、左の関数で以下の2つのオプションがあります。 すべてのデータを新しい数式で更新するか、すべてのデータをすべての新しい数式で更新できるようにするか(複数の数式を更新した場合)です。
デザインモードで数式を修正または追加する場合は、数式で再計算する前に、まずデザインを保存してください!

数式を手動で再計算する以外にも、ワークフローを通じて再計算を行うことができます。さらに、数式の変更が頻繁な場合や、TODAY()関数を使用している場合は、毎日自動で再計算を実行するワークフローの利用をご検討ください。
ご注意:
ワークフローによる再計算では、以下の2つのケースでレコード編集履歴に記録が残りません:
1. 再計算後に変更が発生しなかった場合
2. システムパフォーマンス最適化のため、3,500 件を超える再計算は履歴に記録されません(再計算自体は正常に実行されます)
データの入力・保存時に、関連リンクのあるシートの数式を再計算したい場合、フォーム設定 > フォーム設定 保存時に、元シートまたは関連シートの数式を全部再計算のボックスにチェックを入れてください。。

元シートと関連シートの説明は、以下の例を参照してください:

親シート:
上記の例では、A と B が C の親シートです。
関連シート:
B と C は A の関連シートであり、A と C は B の関連シートです。
ご注意:
現在、再計算の対象となるレコード数の上限は 1000 件です。
再計算が必要なレコード数がこの上限を超える場合、関連シートに対する「すべての計算式を再計算する」設定は無視されます。
以下の図では、親シート・子シート・関連シートの設計概念とロジックを表しています。

関数はテキスト記述フィールドでも使用できますが、このフィールドには計算結果のみが表示され、その値はシステムには保存されません。
これは、フォームページに入るたびに、数式の再計算結果を即時に確認する必要がある場合に役立ちます。BBCodes の[formulas]を利用すると便利です。
例:誕生日をもとに今日の年齢を計算したい場合は、テキストフィールドに[formula](TODAY() - A1)/365.25[/formula] と記述し、今日の日付をもとに年齢が再計算されます。
Ragicがサポートする数学記号については、こちらの記事をご覧ください。
サポートされていない数式を使用する必要がある場合は、Ragic Supportにご連絡ください。