数学関数

  • 作成者:ayuan0625
  • 編集回数:26次
  • 最終更新:ayuan0625 于 2021-08-19
  • 一.ABS

    1.概要


    書式ABS(number)

    引数の絶対値を返す

    絶対値はプラス/マイナス記号のない数値

    パラメータnumber

    絶対値を求めたい任意の実数

    戻り値number-



    2.使用例

    数式結果
    ABS(-1.5)1.5
    ABS(0)0
    ABS(2.5)2.5

    二. BITNOT

    1.概要

    書式ABS(number)引数のビット単位の否定を表す整数を返す
    パラメータnumber

    転換した10進数

    戻り値number-


    2.使用例

    数式結果
    BITNOT(3)-4
    BITNOT(12)-13


    三. BITOPERATION

    1.概要

    書式BITOPERATIOIN(int,int,op)

    ビット演算、二つの10進整数がopに基づいて計算した結果を返す

    int:10進整数

    op:ビット演算子

    例:"&"(AND),"|"(OR),"^"(XOR),"<<"(左シフト),">>"(右シフト)。

    パラメータnumber

    転換した10進数

    戻り値number-


    2.使用例

    数式結果備考
    BITOPERATION(4,2,"&")04と2がAND演算をする
    BITOPERATION(4,2,"|")6
    4と2がOR演算をする
    BITOPERATION(4,2,"^")64と2がXOR演算をする
    BITOPERATION(4,2,"<<")164と2が左シフト演算をする
    BITOPERATION(4,2,">>")14と2がシフト演算をする
    BITOPERATION(4,2,"^~")-74と2がXNOR演算をする


    四.CEILING

    1.概要

    書式CEILING(number)

    引数の倍数のうち、引数にもっとも近い値に切り上げられる

    パラメータnumber

    丸めの対象となる数値

    戻り値number整数


    2.使用例

    数式結果
    CEILING(-2.5)-3
    CEILING(0.5)1


    五.COMBIN

    1.概要

    書式COMBIN(number,number_chosen)

    指定された個数を選択するときの組み合わせの数を返す

    パラメータ1number

    抜き取る対象の全体の正整数

    パラメータ2number_chosen抜き取る組み合わせ 1 組に含まれる項目の正整数
    戻り値number整数

    注:Number>=numberは必須条件、さもなければ、計算する時にエラーが発生してしまうことになります。仮にnumber=n、number_chosen= kとすると、COMBIN(n,k)=Cnk=n!/(k!(n-k)!)

    2.使用例

    数式結果備考
    COMBIN(5,2)10説明:5人の選手から、2 人 1 組のチームを作る場合の組み合わせの数を求めます。


    六.COUNT

    1.概要

    書式COUNT(value1,value2,…)

    引数リストの各項目に含まれる数値の個数の合計を返

    パラメータvalue

    個別の値、または配列値

    戻り値number整数

    注1:数値、日付、またはテキストで評される数字引数は計算されます。

    注2:数値に変換できないエラー値またはテキスト値パラメータは計算されません。 

    注3:配列または参照パラメーターに解析可能なテキスト値、論理値、ゼロ値、または空白セルが含まれている場合、これらの値は計算されます、解析できないテキスト値は計算されません。 

    2.使用例

    数式結果
    COUNT(0,0,0,0,0,0)6


    七.EVEN

    1.概要

    書式EVEN(number)

    引数を最も近い偶数に切り上げた数値を返す

    パラメータnumber

    丸めの対象となる数値

    戻り値number偶整数

    注:数値が偶数の場合、切り上げは行われません。

    2.使用例

    数式結果
    EVEN(1.5)4
    EVEN(2)2
    EVEN(-1)‐2


    八.EXP

    1.概要

    書式EXP(number)

    e を底とする引数のべき乗を返す

    パラメータnumber

    e を底とするべき乗の実数

    戻り値number

    注:常数 e=2.71828182845904、EXP関数はLN関数は逆関数です。

    2.使用例

    数式結果
    EXP(0)1
    EXP(3)20.08553692
    EXP(LN(2))2

    九.FACT

    FACT(number):返回数的阶乘,一个数的阶乘等于 0!*1*2*3*...*number(其中0!=1)。 number:要计算其阶乘的非负数。如果输入的 number不是整数,则截尾取整。

    示例:

    FACT(1)等于 1 。

    FACT(1.9)等于 FACT(1) 等于 1。

    FACT(5)等于 1*2*3*4*5 等于 120。

    11. FLOOR

    FLOOR(number):将参数number去尾舍入,即舍弃掉参数 number 后面的小数部分的数值。

    注: 当number为非数值型的参数时,函数 FLOOR 返回 0。

    示例:

    FLOOR(2.5)等于 2。

    FLOOR(-3.5)等于 -3。

    FLOOR(0.143,0.03)等于 0。

    FLOOR(hello)等于 0。

    12. INT

    INT(number):返回数字下舍入(数值减小的方向)后最接近的整数值。 Number:需要下舍入为整数的实数。

    示例:

    INT(4.8)等于 4。

    INT(-4.8)等于 -5。

    INT(4.3)等于 4。

    公式 INT(A1) 将返回 A1 单元格中的一个正实数的整数数部分

    13. LN

    LN(number):返回一个数的自然对数。自然对数以常数项 e(2.71828182845904)为底。 number:是用于计算其自然对数的正实数。

    示例:

    LN(86)等于 4.45437。

    LN(2.7182818)等于 1。

    LN(EXP(3))等于 3。

    14. LOG

    LOG(number,base):按指定的任意底数,返回数值的对数。Number:需要求对数的正实数。 Base:对数的底数。缺省默认值为 10。

    示例:

    LOG(16,2)等于 4。

    LOG(10)等于 1。

    LOG(24,3)等于 2.892789261。

    15. LOG10

    LOG10(number):LOG10(number):返回以 10 为底的对数。number:用于常用对数计算的正实数。

    示例:

    LOG10(86)等于 1.934498451。

    LOG10(10)等于 1。

    18. MOD

    MOD(number,divisor):返回两数相除的余数。结果的正负号与除数相同。 number:为被除数。 divisor:为除数。

    示例:

    MOD(3, 2)等于 1 。

    MOD(-3, 2)等于 1 。

    MOD(3, -2)等于 -1 。

    MOD(-3, -2)等于 -1。

    注:小数的情况比较特殊。例:mod(49.5, 5.5)=4,并非我们的期望值 0,我们可以采取其变通的方法:mod(49.5*10, 5.5*10)=0;mod(49.6, 5.5)=4,并非我们的期望值 0.1,同理:mod(49.6*10, 5.5*10)/10=0.1  //将其先取整再求余!

    19. ODD

    ODD(number):是将一个不是奇数的数值向上舍入为最接近的奇数。 number:是要舍入求奇的数值。 

    注:不论正负号如何,数值都朝着远离0的方向舍入。如果 number恰好是奇数,则不须进行任何舍入处理。

    示例:

    ODD(1.5)等于 3。

    ODD(3)等于 3。

    ODD(2)等于 3。

    ODD(-1)等于  -1。

    20. PI

    PI:是一个数学常量,函数返回精确到 15 位的数值 3.141592653589793。

    示例:

    SIN(PI()/2)等于 1。( 计算圆的面积的公式: S=PI()*(r^2),其中 S 为圆的面积,R 为圆的半径。)

    21. POWER

    POWER(number,power):返回指定数字的乘幂。 Number:底数,可以为任意实数。 Power:指数。参数 number 按照该指数次幂乘方。

    注: 可以使用符号“^”代替 POWER,如: POWER(5,2) 等于 5^2。

    示例:

    POWER(6,2)等于 36。(6^2=6*6)

    POWER(14,5)等于 537824。(14^5=14*14*14*14*14)

    POWER(4,2/3)等于 2.519842100。(=3√(4^2)即3√16

    POWER(3,-2.3)等于 0.079913677。(3√(1/9)

    22. PRODUCT

    PRODUCT(number1,number2, ...):将所有以参数形式给出的数相乘,并返回乘积值。 number1, number2, ...:为 1 到 n个需要相乘的数字参数。(参数个数的上限为 30) 。

    示例:

    PRODUCT(3,4)等于 12。(3*4)

    PRODUCT(3,4,5)等于 60。(3*4*5)

    23. PROMOTION

    PROMOTION(value1,value2):返回 value2 在 value 1上提升的比例. 

    示例:

    PROMOTION(12, 14)等于 0.166666666(即提升了 16.6666666%.)。=(14-12)/12

    PROMOTION(-12, 14)等于 2.166666666(即提升了 216.6666666%)。=(14-(-12))/12

    24. RAND

    RAND():返回一个随机数。数值位于区域[0,1],每计算一次工作表,函数都会返回一个新的随机数值。

    注: 要生成一个位于 a 和 b 之间的随机数,可以使用以下的公式: =RAND()*(b-a)+a。 

    示例:

    RAND()*60(生成一个大于等于0,小于60的随机数。)

    RAND()*19(生成一个大于等于0,小于19的随机数。)

    RAND()*50(生成一个大于等于0,小于50的随机数。)

    其他变形生成方法:

    ①生成 A 与 B 之间的随机数字(A随机数<B)

    在第一个格子中输入:RAND()*(B-A)+A

    如,生成 1 到 10 之间的随机数字,输入:=RAND()*9+1

    ②生成 A 与 B 之间的随机整数(A随机数<B)

    在第一个格子中输入:=INT(RAND9()*(B-A)+A)

    如,生成 1 到 10 之间的随机整数,输入:=INT(RAND()*9+1)

    其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。

    生成 与 之间的随机整数的另一种方法(A≤随机数≤B

    在第一个格子中输入:RANDBETWEEN(A,B) 即可。

    如,生成 1 到 10 之间的随机整数,输入:=RANDBETWEEN(1,10)

    如想得到1位随机小数,则输入:=RANDBETWEEN(1,100)/10,2 位、3 位依此类推=RANDBETWEEN(1,1000)/100=RANDBETWEEN(1,10000)/1000

    25. RANDBETWEEN

    RANDBETWEEN(value1,value2):返回 value1 和 value2 之间的一个随机整数。

    示例:

    RANDBETWEEN(12.333, 13.233)只会返回 13。

    RANDBETWEEN(11.2, 13.3)有可能返回 12 或者 13。

    26. ROUND

    ROUND(number,num_digits):返回某个数字按指定位数舍入后的数字。number:需要进行舍入的数字。

    如果 num_digits 大于 0,则舍入到指定的小数位。

    如果 num_digits 等于 0,则舍入到最接近的整数。

    如果 num_digits 小于 0,则在小数点左侧进行舍入。

    因浮点数存在精度计算丢失问题,导致计算结果里可能带上 9999,0000 这些,因此加入第三个参数来控制是否需要去除9999,0000,false 表示需要过滤 9999,0000这些数据,true 表示保留,参数为空则默认为 false。

    注1:2020-07-08 及之后版本的 JAR 包才会有第三个参数。

    注2:2020-07-08 及之后版本的 JAR 包 number 参数支持字符串。

    示例:

    ROUND(2.15, 1)等于 2.2。

    ROUND(2.149, 1)等于 2.1。

    ROUND(-1.475, 2)等于 -1.48。

    ROUND(21.5, -1)等于 20。

    ROUND(1.99999999, 8)等于2。

    ROUND(1.99999999, 8, true)等于 1.99999999。

    27. ROUND5

    ROUND5(number,num_digits):这个是四舍五入,奇数进位偶数不进位。number:需要进行舍入的数字。num_digits:指定的位数,按此位数进行舍入。

    如果 num_digits 大于 0,则舍入到指定的小数位。

    如果 num_digits 等于 0,则舍入到最接近的整数。

    如果 num_digits 小于 0,则在小数点左侧进行舍入。

    因浮点数存在精度计算丢失问题,导致计算结果里可能带上 9999,0000 这些,因此加入第三个参数来控制是否需要去除9999,0000,false 表示需要过滤 9999,0000这些数据,true 表示保留,参数为空则默认为 false。

    注1:2020-07-08 及之后版本的 JAR 包才会有第三个参数。

    注2:2020-07-08 及之后版本的 JAR 包 number 参数支持字符串。

    示例:

    ROUND5(2.125, 2)等于 2.12。

    ROUND5(2.135, 2) 等于 2.14。

    ROUND5(1262.135, -1)等于1260。

    ROUND5(1.99999999, 8) 等于2。

    ROUND5(1.99999999, 8, true) 等于 1.99999999 。

    28. ROUNDDOWN

    ROUNDDOWN(number,num_digits):靠近零值,向下(绝对值减小的方向)舍入数字。 number:为需要向下舍入的任意实数。 num_digits:舍入后的数字的位数。

    注: 函数 ROUNDDOWN 和函数 ROUND 功能相似,不同之处在于函数 ROUNDDOWN 总是向下舍入数字。

    示例:

    ROUNDDOWN(3.2, 0)等于 3 。

    ROUNDDOWN(76.9,0)等于 76。

    ROUNDDOWN(3.14159, 3)等于 3.141 。

    ROUNDDOWN(-3.14159, 1)等于 -3.1 。

    ROUNDDOWN(31415.92654, -2)等于 31,400。

    29. ROUNDUP

    ROUNDUP(number,num_digits):远离零值,向上(绝对值增大的方向)舍入数字。 number:为需要向上舍入的任意实数。 num_digits:舍入后的数字的位数。 备注:函数 ROUNDUP 和函数 ROUND 功能相似,不同之处在于函数 ROUNDUP总是向上舍入数字。

     示例:

    ROUNDUP(3.2,0)等于 4

    ROUNDUP(76.9,0)等于 77

    ROUNDUP(3.14159, 3)等于 3.142

    ROUNDUP(-3.14159, 1)等于 -3.2

    ROUNDUP(31415.92654, -2)等于 31,500

    30. SIGN

    SIGN(number):返回数字的符号。当数字为正数时返回 1,为零时返回 0,为负数时返回 -1。 Number:为任意实数。

    示例:

    SIGN(10)等于 1。

    SIGN(4-4)等于 0 。

    SIGN(-0.00001)等于 -1。

    31. SQRT

    SQRT(number):返回一个正数的平方根。 Number:要求平方根的数。

    注: Number 必须是一个正数,否则函数返回错误信息 NAN。

    示例:

    SQRT(64)等于 8。

    SQRT(-64)返回 NAN。

    33. SUMPRECISE

    1)概述

    语法
    SUMPRECISE(number1,number2,…)

    当对精度有要求时,比如整数位大于16位时,求一个指定单元格区域中所有数字之和,需要使用这个函数

    参数Number1,number2,…1 到 30 个参数或指定单元格区域中所有数字。
    返回值number-

    2)注意事项

    • 函数将直接键入参数中的数值、逻辑值及文本表达式计算在内。 若参数是数组或引用,则只有数组或单元格引用中的数值进行计算。

    3)示例

    公式
    结果
    SUMPRECISE(59300000000000000000.23,59300000000000003400.23)118600000000000003400.46

    34. SUMSQ

    SUMSQ(number1,number2, ...):返回所有参数的平方和。 number1, number2, ...:为 n 个需要求平方和的参数(n 的上限为 30),也可以使用数组或对数组的引用来代替以逗号分隔的参数。

    示例:

    SUMSQ(3, 4)等于 25。(3^2+4^2=9+16)

    35. TOBINARY

    1)概述

    语法TOBINARY(int)将一个十进制整型数转换成二进制表示的字符串。
    参数int表示需要进行转换的十进制整数。
    返回值String
    -

    2)注意事项

    int 参数支持范围:0 ~ Integer.MAX_VALUE。

    3)示例

    公式
    结果备注
    TOBINARY(10)1010-
    TOBINARY(20)10100

    -

    36. TOHEX

    TOHEX(int):将一个十进制整型数转换成十六进制表示的字符串。 int:表示需要进行转换的十进制整数。

    示例:

    TOHEX(15)等于"f"。

    TOHEX(20)等于"14"。

    37. TOOCTAL

    1)概述

    语法TOOCTAL(int)将一个十进制整型数转换成八进制表示的字符串。
    参数int表示需要进行转换的十进制整数。
    返回值String-

    2)注意事项

    int 参数支持范围:0 ~ Integer.MAX_VALUE。

    3)示例

    公式
    结果备注
    TOOCTAL(10)12-
    TOOCTAL(20)24

    -

    38. TRUNC

    TRUNC(number,num_digits):取整。将数字的小数部分截去,返回整数。 number:需要截尾取整的数字。 num_digits:用于指定取整精度的数字。

    示例:

    TRUNC(8.9)等于 8。

    TRUNC(-8.9)等于 -8。

    TRUNC(PI())等于 3。

    39. WEIGHTEDAVERAGE

    WEIGHTEDAVERAGE(cell1,cell2):返回指定单元格数据的加权平均值。

    加权平均值:是不同比重数据的平均数,即将各数值乘以相应的权数,然后加总求和得到总体值,再除以权数和得到的值。

    参数
    含义参数格式
    cell1数值单元格单元格名称,例如:A1:A4
    cell2权数单元格单元格名称,例如:B1:B4

    示例:

    报表中, A1,A2,A3,A4 单元格值分别为 10,9,8,7;B1,B2,B3,B4 单元格值分别为 0.2,0.1,0.3,0.4 

    求加权平均值:WEIGHTEDAVERAGE(A1:A4,B1:B4) 等于 8.1,即(10*0.2+9*0.1+8*0.3+7*0.4)/(0.2+0.1+0.3+0.4)=8.1。

    注:求加权平均值时涉及到的所有单元格中数据必须都是数值型。

    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read