フォームの自動計算フィールドで使用可能な式・関数を教えて下さい
使用可能な変数・定数
種類 | 説明 | 使用例 |
変数 |
フォームへの入力値 ※変数として使用可能なフィールドは、テキスト、整数、数値、プルダウン、日付、汎用マスタのみです。汎用マスタ使用時は、アイテムのJSON文字列が代入されます。 ※明細内で自動計算で変数を使用すると、同じ明細行のセルへの入力で置換されます。 |
$123 |
変数(明細列の合計) |
明細列の合計値 ※汎用フォームでのみ使用可能 |
$sum$123 |
変数(グローバル変数) | $foo | |
定数(数値) | 固定の整数や実数 | 123, 123.45 |
定数(文字列) | 固定の文字列 | "Hello" |
使用可能な演算子・関数
演算子・関数 |
説明 |
使用例と出力例 |
a + b | 加算 | 1 + 2 # 3 |
a - b | 減算 | 1 - 2 # -1 |
a * b | 乗算 | 2 * 3 # 6 |
a / b | 除算 | 4 / 2 # 2 |
a == b | 等号 ※数値の比較のみ可能 | 123 == 456 # false |
a != b | 不等号 ※数値の比較のみ可能 | 123 != 456 # true |
a > b | より大きい ※数値の比較のみ可能 | 123 > 456 # false |
a >= b | 以上 ※数値の比較のみ可能 | 123 >= 456 # false |
a < b | より小さい ※数値の比較のみ可能 | 123 < 456 # true |
a <= b | 以下 ※数値の比較のみ可能 | 123 <= 456 # true |
() | カッコ | (1 + 2) * 3 # 9 |
round(x,[y]) | 四捨五入 |
round(3.14) # 3 round(3.144, 2) # 3.14 round(3.145, 2) # 3.15 ※ y はゼロ以上の値のみ |
ceil(x,[y]) | 切り上げ |
ceil(3.14) # 4 ceil(3.144, 2) # 3.15 ceil(3.145, 2) # 3.15 ※ y はゼロ以上の値のみ |
floor(x,[y]) | 切り捨て |
floor(3.14) # 3 floor(3.144, 2) # 3.14 floor(3.145, 2) # 3.14 ※ y はゼロ以上の値のみ |
max(x,y,...) | 最大値 | max(1,2,3) # 3 |
min(x,y,...) | 最小値 | min(1,2,3) # 1 |
mod(x, y) | 剰余 | mod(10, 3) # 1 |
if(条件式, trueの場合の値, falseの場合の値) | 条件式 | if(123 > 0, 1, 0) # 1 |
concat(x,y,...) | 文字列の結合 | concat("a", "b", "c") # abc |
equalText(x,y) | 文字列の一致検証 ※数値の比較には==や!=を使用してください。 |
equalText("hoge", "hoge") # true equalText("hoge", "fuga") # false |
datedif(from, to, unit) |
2つの日付の間の日数・月数・年数 ※単位はD, M, Yが指定可能 ※第2引数は第1引数と同じか、後の日付のみ入力可能です |
datedif("2022-01-01", "2022-01-31", "D") # 30 datedif("2022-01-01", "2022-04-01", "M") # 3 datedif("2022-01-01", "2023-01-01", "Y") # 1 |
today() | 本日の日付 |
today() # 2022-01-01 |
json_lookup(json, path) | JSON文字列からJSONPathで値を抽出 |
json_lookup($1, "$[0].name") |
よくある計算式の例
単価(税抜)と数量から合計金額(税込)を計算する
変数名が単価: $1、数量: $2の場合
($1 * $2) * 1.10
初期費用(税抜)と月額料金(税抜)から年間でかかる費用(税込)を計算する
変数名が初期費用: $1、月額料金: $2の場合
($1 + ($2 * 12)) * 1.10
米ドルでの請求金額を1ドル110.0円で日本円に変換する(端数は切り捨て)
変数名が請求金額: $1の場合
floor($1 * 110.0)
日本円での金額と米ドルでの金額のうち、日本円に変換して金額が大きい方を採用する
変数名が日本円での金額: $1、米ドルでの金額: $2、ドル円レート: $3の場合
max($1, $2 * $3)
プルダウンで「ドル」を選択した場合は、ドル円レートを掛けて円に変換する
変数名が「円」「ドル」を選択するプルダウン: $1、単価が$2の場合
if(equalText($1, "ドル"), $2 * 110.0, $2)
取引先マスタ(汎用マスタ)から名前を抽出する
取引先マスタ: $1の場合
json_lookup($1, "$[0].name")
取引先マスタ(汎用マスタ)から住所を抽出する
取引先マスタ: $1、住所のカスタムフィールドのコードが"address"の場合
json_lookup($1, "$[0].address")
チケットのタイトル用に「契約稟議_<取引先名>_<今日の日付>」という文字列を出力する
取引先マスタ: $1の場合
concat("契約稟議_", json_lookup($1, "$[0].name"), "_", today())