类别:FineReport文档

日期:2020-12-03 浏览:2712 评论:0

1. ABS-求绝对值

1)概述

语法
ABS(number)

返回指定数字的绝对值

绝对值是指没有正负符号的数值

参数number需要求出绝对值的任意实数
返回值number-

2)示例

公式
结果
ABS(-1.5)1.5
ABS(0)0
ABS(2.5)2.5

2. AVERAGE

AVERAGE(number1,number2,…):返回指定数据的平均值。 Number1,number2…:用于计算平均值的参数。

注: 参数必须是数字,或是含有数字的名称,数组或引用。 如果数组或引用参数中含有文字,逻辑值,或空白单元格,这些值将被忽略;但是,单元格中的零值则参与计算。

示例:

如果 A1:A6 被命名为“ages”,分别等于 10,23,14,24,33 及 25,则:

AVERAGE(A1:A6)等于 21.5。

AVERAGE(ages)等于 21.5。

如果还有一个年龄为 18 的,求所有年龄的平均值为:

AVERAGE(A1:A6,18)等于 21。

(即对数组:10,23,14,24,33,25,18 进行取平均值运算

3. BITNOT

BITNOT(int):将一个十进制整数进行二进制取反运算。 int:需要进行转换的十进制数。

示例:

BITNOT(3)等于 -4。

BITNOT(12)等于 -13。

4. BITOPERATION

BITOPERATIOIN(int,int,op):位运算,返回两个整数根据 op 进行位运算后的结果。 int:十进制整数。 op:位运算操作符,支持"&"(与),"|"(或),"^"(异或),"<<"(左移),">>"(右移)。

示例:

BITOPERATION(4,2,"&")等于 0。(表示 4 与 2 进行"与"运算。)

BITOPERATION(4,2,"|")等于 6。(表示 4 与 2 进行"或"运算。)

BITOPERATION(4,2,"^")等于 6。(表示 4 与 2 进行"异或"运算。)

BITOPERATION(4,2,"<<")等于 16。(表示 4 按位左移 2 位。4 的二进制为:100,左移 2 位变成:10000;即十进制 16)

BITOPERATION(4,2,">>")等于 1。(表示 4 按位右移 2 位。4 的二进制 100 右移 2 为变成:1;即十进制 1)

BITOPERATION(4,2,"^~")等于 -7。(表示 4 与 2 进行"同或"运算。)

5. CEILING

CEILING(number):将参数 number 沿绝对值增大的方向,舍入为最接近的整数

示例:

CEILING(-2.5)等于 -3。

CEILING(0.5)等于 1。

6. COMBIN

COMBIN(number,number_chosen):返回若干个指定对象的组合数。函数中的 number 指对象总数,number_chosen 指对象总数中某一组合的数量。该函数与数学表达式为 Cnk 功能相同, 数学表达式中的"n"指对象总数。,"k"指在对象总数中某一组合的数量。

注: Number与number_chosen 必须是非负整数,且 Number>=number_chosen.否则返回*VALUE?。 对象组合是对象总体的子集。与排列不同的是,组合不涉及对象内部排序。 假设 number=n,number_chosen= k,则:COMBIN(n,k)=Cnk=n!/(k!(n-k)!)。

示例:

COMBIN(5,2)等于 10。

意思是 5 个元素进行排列组合,每组 2 个元素,共有 10 种排法。如下图所示:


7. COUNT

COUNT(value1,value2,…):计算数组或数据区域中所含数字项的个数。 Value1,value2,…:可包含任何类型数据的参数,但此函数只将数字类型的数据计算在内。 备注:数字、日期或以文字代表的数字参数将被计算在内;但无法转换成数字的错误值或文本值参数将忽略不计。 如果数组或引用参数中包含可解析文本值、逻辑值、零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

注: 数字、日期或以文字代表的数字参数将被计算在内;但无法转换成数字的错误值或文本值参数将忽略不计。 如果数组或引用参数中包含可解析文本值、逻辑值、零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

COUNT(0,0,0,0,0,0)等于6。

8. EVEN

EVEN(number):返回沿绝对值增大方向取整后最接近的偶数。使用该函数可以处理那些成对出现的对象。 number:所要取整的数值。

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

示例:

EVEN(1.5)等于 2。

EVEN(3)等于 4。

EVEN(2)等于 2。

EVEN(-1)等于 -2。

9. EXP

EXP(number):返回 e 的 n 次幂。常数 e 为自然对数的底数,等于 2.71828182845904。 Number:为任意实数,作为常数 e 的指数。

注: 如果要返回其他常数作为底数的幂,可以使用指数运算符(^)。例如:在 4^2 中,4 是底数,而2是指数。 EXP 函数与 LN 函数互为反函数。

示例:

EXP(0)等于 1。

EXP(3)等于 20.08553692。

EXP(LN(2))等于 2。

10. 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。

16. MAX

MAX(number1,number2,…):返回参数列表中的最大值。 Number1,number2,…:1 到 30 个需要找出最大值的参数。

注: 参数可以是数字、空白单元格、逻辑值或数字的文本表达式。 如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。 如果参数中没有任何数字,MAX 将返回 0。

示例:

MAX(0.1,0,1.2)等于 1.2。

17. MIN

MIN(number1,number2,…):返回参数列表中的最小值。 Number1,number2,…:1 到 30 个需要找出最小值的参数。

注: 若参数中没有数字,函数 MIN 将返回 0。 参数应为数字、空白单元格、逻辑值或是表示数值的文本串。如果参数是错误值时,MIN 将返回错误信息。 如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

示例:

如果 B1:B4 包含 3,6,9,12,则:

MIN(B1:B4)等于 3。

MIN(B1:B4,0)等于 0。

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。

32. SUM

SUM(number1,number2,…):求一个指定单元格区域中所有数字之和。 Number1,number2,…:1 到 30 个参数或指定单元格区域中所有数字。

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

示例:

SUM(70,80)等于 150。

SUM("70",80,TRUE)等于 151。(逻辑值“TRUE”作为1来计算;“FALSE”作为 0 计算;文本“70”作为 70 来计算。)

SUM(A1:A5)对 A1 到 A5 之间的格子中的数值求和。 

SUM(A1:A5,50)对 A1 到 A5 之间的格子中的数值和数值 50 求和。

33. SUMSQ

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

示例:

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

34. TOBINARY

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

示例:

TOBINARY(10)等于"1010"。

TOBINARY(20)等于"10100"。

35. TOHEX

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

示例:

TOHEX(15)等于"f"。

TOHEX(20)等于"14"。

36. TOOCTAL

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

示例:

TOOCTAL(10)等于"12"。

TOOCTAL(20)等于"24"。

37. TRUNC

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

示例:

TRUNC(8.9)等于 8。

TRUNC(-8.9)等于 -8。

TRUNC(PI())等于 3。

38. 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。

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


本文标题:FineReport数学函数
本文链接:https://vtzw.com/post/479.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。