数値関数

最終更新日: 2022年8月17日

ADD

ADD(数値,数値)

ADD(数値の文字列表現,数値の文字列表現)

引数の数を加算します。小数を含む厳密な計算に向いています。戻り値は数値の文字列表現になります。

ADDブロック
上の二つは厳密には同じではありません。0.001という浮動小数を表現した段階で、すでに誤差が含まれてます。
より確実な演算を行う場合は、浮動小数部は "0.001" というように文字列を引数とする方がよいでしょう。

下図のように、引数に数値と文字列表現を混在させることもできます。

ADDブロック

ADD関数の戻り値にVALUE関数を適用することで、小数に変換することができます。

注意

次のパターンでは、数値をTOLONGブロックで囲む必要があります。

  • 第一引数と第二引数が両方とも整数の数値表現。
    TOLONGが必要なパターン(1)
  • 文字列表現と数値表現を混在させたパターンで、小数が文字列表現かつもう片方が整数の数値表現。
    TOLONGが必要なパターン(2)

ATAN2

ATAN2(x座標値, y座標値)

指定された x-y 座標のアークタンジェントを返します。
アークタンジェントとは、x 軸から、原点 0 と x 座標、y 座標で表される点を結んだ直線までの角度のことです。

ATAN2ブロック

入力値 item1, item2 には、それぞれ x 点の x 座標および y 点の y 座標を指定します。
戻り値の角度は、-PI 〜 PI (ただし -PI を除く) の範囲のラジアンとなります。

CBRT

CBRT(数値)

引数の数値の立方根を返します。

CBRTブロック

CEILING

CEILING(数値, 基準値)

数値を基準値の倍数に近い値に切り上げます。戻り値の型は小数です。

CEILINGブロック
動作
CEILING(2.5, 1) 3
CEILING(-2.5, -2) -4
CEILING(-2.5, 2) -2.5
CEILING(1.5, 0.1) 1.5

時間にも適用できます。

CEILINGブロックを時刻に適用する例
動作
TEXT(CEILING(${time}, "1:00"), "hh:mm") "12:00"
※ ${time} 項目の型が時刻型で、値が "11:30:00" のとき
DATETIMEVALUE(TEXT(DATE(${datetime}) + CEILING(TOTIME(${datetime}), "1:00"), "yyyy-MM-dd HH:mm:ss")) 2008-3-14 12:00:00
※ ${datetime} 項目の型が日付時刻型で、値が "2008-3-14 11:30:00" のとき

COSH

COSH(双曲線余弦を求める実数)

数値の双曲線余弦 (ハイパーボリック コサイン) を返します。

COSHブロック

DEGREES

DEGREES(数値)

ラジアンを度に変換します。戻り値の型は小数です。

DEGREESブロック
動作
DEGREES(π)180

DIV

DIV(数値,数値,スケール[,丸めモード])

DIV(数値の文字列表現,数値の文字列表現,スケール[,丸めモード])

引数の数を除算します。小数を含む厳密な計算に向いています。戻り値は数値の文字列表現です。

DIVブロック

上記例のように、引数に数値と文字列表現を混在させることもできます。
0.12という浮動小数を表現した段階で、すでに誤差が含まれてしまうため、より確実な演算を行う場合は、浮動小数部は "0.12" というように文字列を引数とする方がよいでしょう。

スケールは小数点以下の桁数です。

DIV関数の戻り値にVALUE関数を適用することで、小数に変換することができます。

注意

次のパターンでは、数値をTOLONGブロックで囲む必要があります。

  • 第一引数と第二引数が両方とも整数の数値表現。
    TOLONGが必要なパターン(1)
  • 文字列表現と数値表現を混在させたパターンで、小数が文字列表現かつもう片方が整数の数値表現。
    (図9も同じ)
    TOLONGが必要なパターン(2)

丸めモードは次のパターンを選択できます。

指定 説明
四捨五入 四捨五入する
五捨六入 五捨六入する
0から離れる 0 から離れるように丸める
0に近づく 0に近づくように丸める
偶数 末尾が偶数のほうに丸める
正の無限大 正の無限大に近づくように丸める
負の無限大 負の無限大に近づくように丸める

EVEN

EVEN(数値)

最も近い偶数に切り上げた値を返します。戻り値の型は整数です。

EVENブロック
動作
EVEN(1.5) 2
EVEN(3) 4
EVEN(-1) -2
EVEN(0) 0

FACT

FACT(数値)

数値の階乗を返します。数値に整数以外の値を指定すると、小数点以下が切り捨てられます。戻り値の型は整数です。

FACTブロック
動作
FACT(5)120

FIXED

FIXED(数値, 桁数, 桁区切り)

指定の桁数で数値を四捨五入し、ピリオド(".") と桁区切りのカンマ(",") から構成される文字列に変換します。
桁数は四捨五入の位置を示します。省略すると小数第三位で四捨五入します。
桁区切りの有無を指定します。

小数第四位で四捨五入とし、桁区切り(3桁毎に "," を挿入する)を有りとした例です。

FIXEDブロック

桁の数え方は下図の通りです。
小数第一位を「0」とし、一の位以降は右から順に負数、小数点以下は左から順に正の数値となります。

桁指定の考え方

この場合、結果は"1,255.513"となります。

結果
動作
FIXED(1235.4, 0, 桁区切り無し) "1235"
FIXED(1234567, -1, 桁区切り有り) "1,234,570"
FIXED(1234.567, 5, 桁区切り無し) "1234.56700"
FIXED(1234.567, , 桁区切り無し) "1234.57"

FLOOR

FLOOR(数値, 基準値)

数値を基準値の倍数に近い値に切り下げます。戻り値の型は小数です。

FLOORブロック
動作
FLOOR(2.5, 1) 2
FLOOR(-2.5, -2) -2
FLOOR(-2.5, 2) -2.5
FLOOR(1.5, 0.1) 1.5
DATETIMEVALUE( TEXT(DATE(${datetime}) + FLOOR(TOTIME(${datetime}), "1:00"), "yyyy-MM-dd HH:mm:ss"))

時間にも適用できます。

FLOORブロックを時刻に適用する例(1)
FLOORブロックを時刻に適用する例(2)
動作
TEXT(FLOOR(${time}, "1:00"), "hh:mm") "11:00"
※ ${time} 項目の型が時刻型で、値が "11:30:00" のとき
DATETIMEVALUE(TEXT(DATE(${datetime}) + FLOOR(TOTIME(${datetime}), "1:00"), "yyyy-MM-dd HH:mm:ss")) 2022-08-09 11:00:00
※ ${datetime} 項目の型が日付時刻型で、値が "2022-08-09 11:30:00" のとき

HYPOT

HYPOT(数値1, 数値2)

中間のオーバーフローやアンダーフローなしに sqrt(x2+y2) が返されます。

HYPOTブロック

IEEEremainder

IEEEremainder(数値1, 数値2)

IEEE 754 標準に従って、2 個の引数について剰余を計算します。

IEEEremainderブロック

INT

INT(数値)

指定した数値を超えない最大の整数を返します。

INTブロック
動作
INT(8.9) 8
INT(-8.1) -9

ISEMPTY

ISEMPTY(数値型項目)

数値型項目に値が入っているかどうかを判定します。未入力の場合は true を、入力済の場合は false を返します。

ISEMPTYブロック

LOG1P

LOG1P(数値)

引数と 1 の合計の自然対数を返します。

LOG1Pブロック

MROUND

MROUND(数値, 基準値)

数値を基準値の倍数に丸めます(四捨五入)。戻り値の型は小数です。

MROUNDブロック
動作
MROUND(10, 3) 9
MROUND(-10, -3) -9
MROUND(1.3, 0.2) 1.4
MROUND(5, -2) 5

時間にも適用できます。

MROUNDブロックを時刻に適用する例
動作
TEXT(MROUND(${time}, "0:30"), "hh:mm") "11:30"
※ ${time} 項目の型が時刻型で、値が "11:31:00" のとき
DATETIMEVALUE(TEXT(DATE(${datetime}) + MROUND(TOTIME(${datetime}), "0:30"), "yyyy-MM-dd HH:mm:ss")) 2022-08-09 11:30:00
※ ${datetime} 項目の型が日付時刻型で、値が "2022-08-09 11:31:00" のとき

MUL

MUL(数値,数値)

MUL(数値の文字列表現,数値の文字列表現)

引数の数を乗算します。小数を含む厳密な計算に向いています。戻り値は数値の文字列表現になります。

MULブロック
上の二つは厳密には同じではありません。123.456という浮動小数を表現した段階で、すでに誤差が含まれています。
より確実な演算を行う場合は、浮動小数部は "123.456" というように文字列を引数とする方がよいでしょう。

下図のように、引数に数値と文字列表現を混在させることもできます。

数値と文字列を混在させた例

MUL関数の戻り値にVALUE関数を適用することで、小数に変換することができます。

注意

次のパターンでは、数値をTOLONGブロックで囲む必要があります。

  • 第一引数と第二引数が両方とも整数の数値表現。
    TOLONGが必要なパターン(1)
  • 文字列表現と数値表現を混在させたパターンで、小数が文字列表現かつもう片方が整数の数値表現。
    (図28と同じ)
    TOLONGが必要なパターン(2)

ODD

ODD(数値)

最も近い奇数に切り上げた値を返します。戻り値の型は整数です。

ODDブロック
動作
ODD(3)3
ODD(2)3
ODD(1.5)3
ODD(0)1
ODD(-2)-3

POWER

POWER(数値, 指数)

数値の指数乗を返します。数値、指数には整数または小数値を指定できます。戻り値の型は小数です。

POWERブロック
動作
POWER(5,2)25.0

QUOTIENT

QUOTIENT(分子, 分母)

除算の商の整数部を返します。戻り値の型は整数です。

QUOTIENTブロック
動作
QUOTIENT(5, 2)2
QUOTIENT(4.5, 3.1)1
QUOTIENT(-10, 3)-3

RADIANS

RADIANS(数値)

度をラジアンに変換します。戻り値の型は小数です。

RADIANSブロック
動作
RADIANS(270) 4.712389

RAND

RAND()

0 以上で 1 より小さい乱数を発生させます。戻り値の型は小数です。

ある項目 A で RAND() を適用し、別の項目 B が A の値を参照する場合、B の値と A の値は同じになります。
ある項目 A で RAND() を複数回用いた場合、最初の RAND() の結果と二つ目以降の RAND() の結果は同じ値となります。

RAND()ブロック

RANDBETWEEN

RANDBETWEEN(最小値, 最大値)

指定された範囲で一様に分布する整数の乱数を返します。戻り値の型は整数です。

RANDBETWEENブロック

RINT

RINT(数値)

引数の値にもっとも近く、計算上の整数に等しい double 値を返します。

RINTブロック

ROUND

ROUND(数値,桁数)

数値を四捨五入して指定された桁数にします。戻り値の型は小数です。

  • 桁数に正の数を指定すると、数値は小数点の右側 (小数点以下) で四捨五入され、小数点以下の桁数が桁数に等しくなります。
  • 桁数に 0 を指定すると、数値は最も近い整数として四捨五入されます。
  • 桁数に負の数を指定すると、数値は小数点の左側 (整数部分) の指定した桁 (1 の位を 0 とする) に四捨五入されます。

小数点2桁に丸める場合の例です。この場合「3.33」を返します。

ROUNDブロック
動作
ROUND(2.15, 1) 2.15 を小数点第 1 位に四捨五入します (2.2)
ROUND(2.149, 1) 2.149 を小数点第 1 位に四捨五入します (2.1)
ROUND(-1.475, 2) -1.475 を小数点第 2 位に四捨五入します (-1.48)
ROUND(21.5, -1) 21.5 を小数点の左側 1 桁の 1 の位で四捨五入します (20)

この関数は、演算誤差をなくすものではありません。 ROUNDと演算精度についての詳細は"計算式>基本的な書き方>演算精度"をお読みください。

ROUNDDOWN

ROUNDDOWN(数値,桁数)

数値を切り捨てて指定された桁数にします。戻り値の型は小数になります。

小数点2桁で切り捨てる場合の例です。この場合「3.33」を返します。

ROUNDDOWNブロック

この関数は、演算誤差をなくすものではありません。
ROUNDと演算精度についての詳細は"計算式>基本的な書き方>演算精度"をお読みください。

ROUNDUP

ROUNDUP(数値,桁数)

数値を切り上げて指定された桁数にします。戻り値の型は小数になります。

小数点2桁に切り上げる場合の例です。この場合「3.34」を返します。

ROUNDUPブロック

この関数は、演算誤差をなくすものではありません。
ROUNDと演算精度についての詳細は"計算式>基本的な書き方>演算精度"をお読みください。

SINH

SINH(双曲線正弦を求める実数)

数値の双曲線正弦 (ハイパーボリック サイン) を返します。

SINHブロック

SIGN

SIGN(数値)

引数の数値が正/負/ゼロかどうかを判定します。 数値が正の数のときは 1, ゼロのときは 0, 負の数のときは -1 を返します。戻り値の型は整数です。

SIGNブロック
動作
SIGN(100)1
SIGN(0)0
SIGN(-100)-1

SIGNUM

SIGNUM(数値)

引数の符号要素を返します。

SIGNUMブロック

SUB

SUB(数値,数値)

SUB(数値の文字列表現,数値の文字列表現)

引数の数を減算します。小数を含む厳密な計算に向いています。戻り値は数値の文字列表現になります。

SUBブロック
上の二つは厳密には同じではありません。0.001という浮動小数を表現した段階で、すでに誤差が含まれています。
より確実な演算を行う場合は、浮動小数部は "0.001" というように文字列を引数とする方がよいでしょう。

下図のように、引数に数値と文字列表現を混在させることもできます。

SUBブロック

SUB関数の戻り値にVALUE関数を適用することで、小数に変換することができます。

注意

次のパターンでは、数値をTOLONGブロックで囲む必要があります。

  • 第一引数と第二引数が両方とも整数の数値表現。
    TOLONGが必要なパターン(1)
  • 文字列表現と数値表現を混在させたパターンで、小数が文字列表現かつもう片方が整数の数値表現。
    (図45と同じ)
    TOLONGが必要なパターン(2)

TANH

TANH(双曲線余弦を求める実数)

数値の双曲線正接 (ハイパーボリック タンジェント) を返します。

TANHブロック

TEXT

TEXT(数値)

TEXT(数値, 書式)

数値を書式設定した文字列に変換します。

第二引数の書式を指定しなかった場合は、TOSTR関数と同じ動きになります。

TEXTブロック
TEXT(1234, "#,###") "1,234"
TEXT(3.33333, "0.0") "3.3"
TEXT(0.1234, "0.0%") "12.3%"
TEXT(0.00001, "0.0E0") "1.0E-5"
TEXT(1234, "\\#,####") "\\1,234"

TRUNC

TRUNC(数値)

数値の小数部を切り捨てて、整数に変換します。戻り値の型は整数です。

TRUNCブロック
動作
TRUNC(8.9) 8
TRUNC(-8.1) -8