反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

数学函数概述

  • 文档创建者:lu123
  • 历史版本:25
  • 最近更新:Roxy 于 2021-12-09
  • 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 种排法。如下图所示:

    222

    7. COUNT

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

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

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

    8. DECIMAL

    1)概述

    语法
    DECIMAL(number)

    返回number的大数类型,常用于精确计算,函数入参会进行trim处理(去除字符串的首尾空格)。

    参数number任意实数
    返回值number-

    2)示例

    公式
    结果
    DECIMAL(number)1.5
    ABS(0)0
    ABS(2.5)2.5

    9. EVEN

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

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

    示例:

    EVEN(1.5)等于 2。

    EVEN(3)等于 4。

    EVEN(2)等于 2。

    EVEN(-1)等于 -2。

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

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

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

    13. INT

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

    示例:

    INT(4.8)等于 4。

    INT(-4.8)等于 -5。

    INT(4.3)等于 4。

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

    14. LN

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

    示例:

    LN(86)等于 4.45437。

    LN(2.7182818)等于 1。

    LN(EXP(3))等于 3。

    15. LOG

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

    示例:

    LOG(16,2)等于 4。

    LOG(10)等于 1。

    LOG(24,3)等于 2.892789261。

    16. LOG10

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

    示例:

    LOG10(86)等于 1.934498451。

    LOG10(10)等于 1。

    17. MAX

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

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

    示例:

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

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

    19. 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  //将其先取整再求余!

    20. ODD

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

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

    示例:

    ODD(1.5)等于 3。

    ODD(3)等于 3。

    ODD(2)等于 3。

    ODD(-1)等于  -1。

    21. PI

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

    示例:

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

    22. 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)

    23. PRODUCT

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

    示例:

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

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

    24. 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

    25. RAND

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

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

    示例:

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

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

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

    其他变形生成方法:

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

    单元格中输入公式:RAND()*(B-A)+A

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

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

    单元格中输入公式:=INT(RAND()*(B-A)+A)

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

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

    3)生成 与 之间的随机整数(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

    26. RANDBETWEEN

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

    示例:

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

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

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

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

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

    30. 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

    31. SIGN

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

    示例:

    SIGN(10)等于 1。

    SIGN(4-4)等于 0 。

    SIGN(-0.00001)等于 -1。

    32. SQRT

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

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

    示例:

    SQRT(64)等于 8。

    SQRT(-64)返回 NAN。

    33. SUM

    1)概述

    语法
    SUM(number1,number2,…)

    求一个指定单元格区域中所有数字之和。

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

    2)注意事项

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

    • 当对精度有要求时,比如整数位大于16位时,需要使用 SUMPRECISE 函数。

    3)示例

    公式
    结果
    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 求和。

    34. SUMPRECISE

    1)概述

    语法
    SUMPRECISE(number1,number2,…)

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

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

    2)注意事项

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

    3)示例

    公式
    结果
    SUMPRECISE(59300000000000000000.23,59300000000000003400.23)118600000000000003400.46

    35. SUMSQ

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

    示例:

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

    36. TOBINARY

    1)概述

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

    2)注意事项

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

    3)示例

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

    -

    37. TOHEX

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

    示例:

    TOHEX(15)等于"f"。

    TOHEX(20)等于"14"。

    38. TOOCTAL

    1)概述

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

    2)注意事项

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

    3)示例

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

    -

    39. TRUNC

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

    示例:

    TRUNC(8.9)等于 8。

    TRUNC(-8.9)等于 -8。

    TRUNC(PI())等于 3。

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

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

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526