导图社区 帆软11.0全部公式汇总
帆软11.0全部公式汇总,包括:ABS(number):返回指定数字的绝对值;AcOS(number):返回指定数值的反余弦值;ACOSH(number):返回给定数值的反双曲余弦;ASIN(number):返回指定数值的反正弦值;ASINH(number):返回指定数值的反双曲正弦值。
编辑于2023-02-03 11:05:38 浙江省全部函数
常用函数
SUM: 求一个单元格区域内的数字之和
SUM(number1,number2,…):求一个指定单元格区域中所有数字之和。 Number1,number2,…:1到n个参数或指定单元格区域中所有数字。 备注: 函数将直接键入参数中的数值、逻辑值及文本表达式计算在内。若参数是数组或引用,则只有数组或单元格引用中的数值进行计算。 示例: SUM(70,80)等于150。 SUM("70",80,TRUE)等于151,逻辑值“TRUE”作为1来计算;“FALSE”作为0计算;文本“70”作为70来计算。
COUNT:返回数组个数
COUNT(value1,value2,…):计算数组或数据区域中所含项的个数。 Value1,value2,…:可包含任何类型数据的参数。
AVERAGE:返回制定数据的平均值
AVERAGE(number1,number2,…,countstring):返回指定数据的平均值。 Number1,number2…:用于计算平均值的参数; countString:文字、逻辑值是否参与计数。 备注: 参数必须是数字,或是含有数字的名称,数组或引用。 如果数组或引用参数中含有文字,逻辑值,默认参与计数,countString为false则不参与计数;空单元格始终不参与计数,但是,单元格中的零值参与。空字符串也会参与计数。 示例: 如果A1:A6被命名为“ages”,分别等于10,23,文字,29,33及25,则:AVERAGE(A1:A6)等于20。 AVERAGE(A1:A6,false)等于24。 AVERAGE(ages)等于20。 如果还有一个年龄为27的,求所有年龄的平均值为:AVERAGE(A1:A6,27)等于21。
CHAR:返回指定数字对应的字符
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。 Number:用于指定字符的数字,介于1~65535之间(包括1和65535)。 示例: CHAR(88)等于“X”。 CHAR(45)等于“-”。
DATE:返回特定日期的系列数(DATE(1211,12,1)等于1211-12-01)
DATE(year,month,day):返回一个表示某一特定日期的系列数。 Year:代表年,可为一到四位数。 Month: 代表月份。若month<12,则函数把参数值作为月。若month>12,则函数从年的一月份开始往上累加。 例如:DATE(2000,25,2)等于2002年1月2日的系列数。 Day: 代表日。若日期小于等于某指定月的天数,则函数将此参数值作为日。若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。 例如:DATE(2000,3,35)等于2000年4月4日的系列数。 备注: 若需要处理公式中日期的一部分,如年或月等,则可用此公式。若年,月和日是函数而不是函数中的常量,则此公式最能体现其作用。 示例: DATE(1978,9,19)等于1978-09-19. DATE(1211,12,1)等于1211-12-01.
MAX:返回参数列表中的最大值
MAX(number1,number2,…):返回参数列表中的最大值。 Number1,number2,…:1到n个需要找出最大值的参数。 备注: 参数可以是数字、空白单元格、逻辑值或数字的文本表达式。如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。如果参数中没有任何数字,MAX将返回0。 示例:MAX(0.1,0,1.2)等于1.2。
MIN:返回参数列表中的最小值
MIN(number1,number2,…):返回参数列表中的最小值。 Number1,number2,…:1到n个需要找出最小值的参数。 备注: 若参数中没有数字,函数MIN将返回0。参数应为数字、空白单元格、逻辑值或是表示数值的文本串。 如果参数是错误值时,MIN将返回错误信息。 如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。 示例: 如果B1:B4包含3,6,9,12,则:MIN(B1:B4)等于3。MIN(B1:B4,0)等于0。
TIME(hour,minute,second):返回指定的日期和时间
TIME(hour,minute,second):返回指定的日期和时间,日期为当天的日期。时间为介于0:00:00与23:59:59之间的时间,可返回0到0.99999999之间的对应数值 Hour:小时数,介于0到23之间的数。 Minute:分钟数,介于0到59之间的数。 Second:秒钟数,介于0到59之间的数。 示例: TIME(14,40,0)等于2020-06-22 14:40:00。 TIME(19,43,24)等于2020-06-22 19:43:24。
RANGE(from,to,step):返回从整数from开始 以step为步频,直到整数to的一个数字序列
RANGE(to): 返回从1开始,步频为1,直到整数to的一个数字序列
RANGE(from,to): 返回从from开始,步频为1,直到整数to的一个数字序列
RANGE(from,to,step)函数表示从整数from开始,以step为每一步的大小,直到整数to的一个数字序列。 例如: RANGE(1,5,1)表示从1开始,直到5(包括5),每一步大小为1,那么它返回一个数字序列为[1,2,3,4,5]。 RANGE(-1,6,2)表示从-1开始,直到6(包括6),每一步大小为2,那么它返回一个数字序列为[-1,1,3,5]。 备注:RANGE函数有三种参数形式: 1. RANGE(to),默认的from为1,step为1,例如:RANGE(4)返回[1,2,3,4]。RANGE(-5)返回[]。 2. RANGE(from,to),默认的step为1,例如:RANGE(-1,3)返回[-1,0,1,2,3]。RANGE(0,5)返回[0,1,2,3,4,5]。 3. RANGE(from,to,step),三个参数的情况参照上面的注释,例如:RANGE(6,-1,-2)返回[6,4,2,0]。RANGE(4,1,1)返回[]。
新增函数
ENDOFMONTH(date,number):返回指定日期所在月份之前或之后月份的最后一天日期值
ENDOFMONTH(date,number)返回指定日期所在月份之前或之后月份的最后一天的日期值 date:指定日期,可缺省;缺省时默认为本月; number:指定月份前/后月份的数量,整数,可缺省;缺省或者为0时,默认为date参数当月;正整数时,为date之后的月份,负整数时为date之前的月份; 备注: 不支持第一个参数缺省时第二个参数不缺省 示例: ENDOFMONTH("2021-12-22")等于2021-12-31 ENDOFMONTH("2021-12-22",12)等于2022-12-31 ENDOFMONTH("2021-12-22",-12)等于2020-12-31 ENDOFMONTH("2021-12-22",36)等于2024-12-31
NUMTOZH(number,type):将数字转换成中文形式
NUMTOZH(number,type)将数字转换成中文形式 number:需要处理的具体数字,可以是具体的数字、可转义为数字的字符串可解析为数字及数字字符串的参数; type:1/2/3;1为中文小写数值,2为中文大写数值,3为中文小写数字;可缺省,缺省时默认为type1,即:中文小写数值 示例: NUMTOZH(1234)等于一千二百三十四 NUMTOZH(1234,1)等于一千二百三十四 NUMTOZH(1234,2)等于壹仟贰佰叁拾肆 NUMTOZH(1234,3)等于一二三四
MIDCHAR(string,char,number,bool):截取某字符前或后所有的字符
MIDCHAR(string,char,number,bool)截取某字符前或后所有的字符 string:被截取的元素,可以是数字、字符等 char:截取标识符,可以是数字、字符;未找到截取标识符时,返回null number:字符串中第几次出现的标识符,为非0整数,正整数时,为正数第number个截取标识符;负整数时,为倒数第number个截取标识符;number绝对值超出字符串中个数时,返回原字符串;可缺省,缺省时默认按照正数第一个截取 bool:ture/false,向前截取还是向后截取;ture为向后,false为向前;可缺省,缺省时默认向后截取 示例: MIDCHAR("1234666", '6')等于"66" MIDCHAR("1234666", '6',1,true)等于"66" MIDCHAR("1234666", '6',1,false)等于"1234"
ISWORKDAY(date):判断某日期是工作日还是周末,不支持法定节假日
ISWORKDAY(date)判断某日期是工作日还是周末;工作日返回ture,非工作日返回false; data:具体的日期值,可以是日期型、可转换为日期的字符型;可缺省,缺省时默认为当前日期 备注: 暂时仅支持周末和工作日判断,暂时不支持法定节假日 示例: ISWORKDAY("2021-12-30")等于ture ISWORKDAY("2021-01-02")等于false
ENBYSTRNUM(string,number):单元格按照指定字数换行显示
ENBYSTRNUM(string,number)单元格按照指定字数换行显示 string:需要换行显示的元素,可以是数字、字符等 number:指定换行字数的数值,为正整数;为负数或0时,公式不生效,按原换行方式换行; 示例: ENBYSTRNUM("帆软软件有限公司",4)等于 帆软软件 有限公司 ENBYSTRNUM("帆软软件有限公司",2)等于 帆软 软件 有限 公司
TEXTGETNUM(string):提取字符串中的数字,并按照原数字顺序显示
TEXTGETNUM(string)提取字符串中的数字,并按照原数字顺序显示 string:需要提取数字的字符串 备注: 若字符串中没有数字时,返回null 示例: TEXTGETNUM("asf2d45g6r7742e")等于24567742 TEXTGETNUM("asfwddfgyruurwe")等于null
GETCHARNUM(string1,string2):计算字符串中指定字符个数
GETCHARNUM(string1,string2)计算字符串中指定字符个数 string1:原始字符串 string2:需要计算个数的指定字符,可以是数字、单个字符、多个字符; 备注: 需要寻找的字符串在目标字符串中匹配不到时,直接返回0 示例: GETCHARNUM("2021-03-23",-) 等于2 GETCHARNUM("abccccccccdef","cc")等于4 GETCHARNUM("abccccccccdef","ccc")等于2
GCD(number1,number2,number3,........):求1-255个数的最大公约数
GCD(number1,number2,number3,........)求1-255个数的最大公约数 number:可以是具体的数字、参数、表格区域、可转义为数字的字符串; 备注:1.参数最终值、表格区域最终值必须为数字或可以转义为数字的字符串 2.number元素个数为1-255个,超过255个时,取前255个元素,0个时返回错误#VALUE 示例: GCD()等于#VALUE GCD(16,12)等于4
LCM(number1,number2,number3,........):求1-255个数的最小公倍数
LCM(number1,number2,number3,........)求1-255个数的最小公倍数 number:可以是具体的数字、参数、表格区域; 备注: 1.参数最终值、表格区域最终值必须为数字或可以转义为数字的字符串,若存在非数字元素,则自动忽略该元素 2.number元素个数为1-255个,超过255个时,取前255个元素,0个时返回错误#VALUE 示例: LCM()等于#VALUE LCM(4,5)等于20
数字和三角函数
ABS(number):返回指定数字的绝对值
ABS(number):返回指定数字的绝对值。绝对值是指没有正负符号的数值。 Number:需要求出绝对值的任意实数。 示例: ABS(-1.5)等于1.5。 ABS(0)等于0。 ABS(2.5)等于2.5。
ACOS(number):返回指定数值的反余弦值
ACOS(number):返回指定数值的反余弦值。反余弦值为一个角度,返回角度以弧度形式表示。 Number:需要返回角度的余弦值。 备注: 函数的参数必须在-1和1之间,包括-1和1。返回的角度值在0和Pi之间。如果要把返回的角度用度数来表示,用180/PI()乘返回值即可。 示例: ACOS(1)等于0(弧度)。 ACOS(0.5)等于1.047197551(Pi/3弧度)。 ACOS(0.5)*180/PI()等于60(度)。
ACOSH(number):返回给定数值的反双曲余弦
ACOSH(number):返回给定数值的反双曲余弦。 Number:返回值的双曲余弦。 备注: 参数number的值必须大于或等于1。ACOSH(COSH(number))=number。 示例: ACOSH(1)等于0。 ACOSH(8)等于2.768659383。 ACOSH(5.5)等于2.389526435。
ASIN(number):返回指定数值的反正弦值
ASIN(number):返回指定数值的反正弦值。反正弦值为一个角度,返回角度以弧度形式表示。 Number:需要返回角度的正弦值。 备注: 指定数值必须在-1到1之间(含1与-1)。返回角度在-pi/2到pi/2之间(含-pi/2与pi/2)。用角度形式返回数值时,返回数值乘以180/PI()。 示例: ASIN(0.5)等于0.523598776(pi/6弧度)。 ASIN(1)等于1.570796327(pi/2弧度)。 ASIN(0.5)*180/PI()等于30(度)。
ASINH(number):返回指定数值的反双曲正弦值
ASINH(number):返回指定数值的反双曲正弦值。反双曲正弦值的双曲正弦等于指定数值。即:ASINH(SINH(number))=number。 Number:任意实数。 示例: ASINH(-5)等于-2.312438341。 ASINH(8)等于2.776472281。 ASINH(16)等于3.466711038。
ATAN(number):计算指定数值的反正切值
ATAN(number):计算指定数值的反正切值。指定数值是返回角度的正切值,返回角度以弧度形式表示。 Number:返回角度的正切。备注:返回角度在-pi/2到pi/2之间。如果返回角度等于-pi/2或pi/2,ATAN将返回错误信息#NAME?。用角度形式返回数值时,返回数值乘以180/PI()。 示例: ATAN(-1)等于-0.785398163(-pi/4弧度)。 ATAN(0)等于0(弧度)。 ATAN(2)*180/PI()等于63.43494882(度)。
ATAN2(x_num,y_num):返回x、y坐标的反正切值
ATAN2(x_num,y_num):返回x、y坐标的反正切值。返回角度为x轴与过(x_num,y_num)与坐标原点(0,0)的一条直线形成的角度。该角度以弧度显示。 X_num:指定点的x坐标。 Y_num:指定点的y坐标。 备注: 正值表示从x轴开始以逆时针方式所得的角度;负值表示从x轴开始以顺时针方式所得的角度。 a>0,b>0 or a>0,b<0时,公式直接成立; a<0,b>0,ATAN2(a,b)=PI()-ABS(ATAN(b/a)) a<0,b<0,ATAN2(a,b)=ABS(ATAN(b/a))-PI() 当x_num与y_num都为0时,ATAN2返回错误信息*DIV/0!。 用角度制显示返回数值时,把返回数值乘以180/PI()。 返回值以弧度表示(返回值大于-pi且小于等于pi)。 示例: ATAN2(-2,2)等于2.356194490192345(弧度制的3*pi/4)。 ATAN2(2,2)等于0.785398163(弧度制的pi/4)。 ATAN2(-2,2)*180/PI()等于135(角度制)。
ATANH(number):返回数字的反双曲正切值,该函数的参数值即为反双曲正切值的双曲正切值
ATANH(number):返回数字的反双曲正切值,该函数的参数值即为反双曲正切值的双曲正切值。 Number:指介于-1~1之间的任意实数。 备注: 指定的number必须介于-1~1之间(不包括-1,1)。 ATANH(TANH(number))=number,例如,ATANH(TANH(0.5))=0.5。 示例: ATANH(-0.5)等于-0.549306144。 ATANH(0)等于0。 ATANH(0.7)等于0.867300528。
AVERAGE(number1,number2,…,countstring):返回指定数据的平均值
AVERAGE(number1,number2,…,countstring):返回指定数据的平均值。 Number1,number2…:用于计算平均值的参数; countString:文字、逻辑值是否参与计数。 备注: 参数必须是数字,或是含有数字的名称,数组或引用。 如果数组或引用参数中含有文字,逻辑值,默认参与计数,countString为false则不参与计数;空单元格始终不参与计数,但是,单元格中的零值参与。空字符串也会参与计数。 示例: 如果A1:A6被命名为“ages”,分别等于10,23,文字,29,33及25,则:AVERAGE(A1:A6)等于20。 AVERAGE(A1:A6,false)等于24。 AVERAGE(ages)等于20。 如果还有一个年龄为27的,求所有年龄的平均值为:AVERAGE(A1:A6,27)等于21。
CEILING(number):将参数number沿绝对值增大的方向,舍入为最接近的整数。
CEILING(number):将参数number沿绝对值增大的方向,舍入为最接近的整数。 Number:指待舍入的数值。 示例: CEILING(-2.5)等于-3。 CEILING(0.5)等于1。
COMBIN(number,number_chosen):返回若干个指定对象的组合数
COMBIN(number,number_chosen):返回若干个指定对象的组合数。该函数与数学表达式为Cnk功能相同。 Number或数学表达式中的“n”指对象总数。 Number_chosen或数学表达式中的“k”指在对象总数中某一组合的数量。 备注: Number必须是正整数,number_chosen必须是非负整数。如果number和number_chosen小于0或number小于number_chosen,函数返回错误信息#VALUE?。 对象组合是对象的子集。与排列不同的是,组合不涉及对象内部的先后顺序,而顺序对排列是非常重要的。 假设number=n,number_chosen=k,则:COMBIN(n,k)=Cnk=n!/(k!(n-k)!)。 示例: COMBIN(5,6)等于#VALUE?。 COMBIN(5,2)等于10。
COS(number):返回一个角度的余弦值。
COS(number):返回一个角度的余弦值。 Number:以弧度表示的需要求余弦值的角度。 备注: 要把一个角度转换成弧度值,将角度乘于PI()/180。COS(n*2*PI()+number)=COS(number)(其中n为整数,number从-pi到pi)。 示例: COS(0.5)等于0.877582562。 COS(30*PI()/180)等于0.866025404。
COSH(number):返回一个数值的双曲线余弦值。
COSH(number):返回一个数值的双曲线余弦值。 Number:需要求其双曲线余弦值的一个实数。 备注: 双曲线余弦值计算公式为: COSH(number)=(e^x+e^(-x))/2,其中e是自然对数的底,e=2.71828182845904。 示例: COSH(3)等于10.06766200。 COSH(5)等于74.20994852。 COSH(6)等于201.7156361。
COUNT(value1,value2,…):计算数组或数据区域中所含项的个数。
COUNT(value1,value2,…):计算数组或数据区域中所含项的个数。 Value1,value2,…:可包含任何类型数据的参数。
DECIMAL(number):返回number的大数类型
DECIMAL(number):返回number的大数类型,常用于精确计算,函数入参会进行trim处理(去除字符串的首尾空格)。
DEGREES(angle):将弧度转化为度。
DEGREES(angle):将弧度转化为度。 angle:待转换的弧度角。 示例: DEGREES(PI()/2)等于90。 DEGREES(3.1415926)等于179.9999969。
EVEN(number):返回沿绝对值增大方向取整后最接近的偶数。
EVEN(number):返回沿绝对值增大方向取整后最接近的偶数。使用该函数可以处理那些成对出现的对象。 number:所要取整的数值。不论正负号如何,数值都朝着远离0的方向舍入。如果number恰好是偶数,则不须进行任何舍入处理。 示例: EVEN(1.5)等于2 EVEN(3)等于4 EVEN(2)等于2 EVEN(-1)等于-2
EXP(number):返回e的n次幂。
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。
FACT(number):返回数的阶乘,一个数的阶乘等于1
2 3 ... 该数。
FACT(number):返回数的阶乘,一个数的阶乘等于1*2*3*...*该数。 number:要计算其阶乘的非负数。如果输入的number不是整数,则截尾取整。 示例: FACT(1)等于1 FACT(1.9)等于FACT(1)等于1 FACT(0)等于1 FACT(5)等于1*2*3*4*5等于120
FLOOR(number):将参数number沿绝对值减小的方向去尾舍入。
FLOOR(number):将参数number沿绝对值减小的方向去尾舍入。 Number:待舍入的数值。 示例: FLOOR(-2.5)等于-2。FLOOR(2.5)等于2。
GCD(number1,number2,number3,........)求1-255个数的最大公约数
GCD(number1,number2,number3,........)求1-255个数的最大公约数 number:可以是具体的数字、参数、表格区域、可转义为数字的字符串; 备注:1.参数最终值、表格区域最终值必须为数字或可以转义为数字的字符串 2.number元素个数为1-255个,超过255个时,取前255个元素,0个时返回错误#VALUE 示例: GCD()等于#VALUE GCD(16,12)等于4
INT(number):返回数字下舍入(数值减小的方向)后最接近的整数值。
INT(number):返回数字下舍入(数值减小的方向)后最接近的整数值。 Number:需要下舍入为整数的实数。 示例: INT(4.8)等于4。 INT(-4.8)等于-5。 INT(4.3)等于4。 INT(-4.3)等于-5。 公式INT(A1)将返回A1单元格中的一个正实数的整数数部分。
LCM(number1,number2,number3,........)求1-255个数的最小公倍数
LCM(number1,number2,number3,........)求1-255个数的最小公倍数 number:可以是具体的数字、参数、表格区域; 备注: 1.参数最终值、表格区域最终值必须为数字或可以转义为数字的字符串,若存在非数字元素,则自动忽略该元素 2.number元素个数为1-255个,超过255个时,取前255个元素,0个时返回错误#VALUE 示例: LCM()等于#VALUE LCM(4,5)等于20
LN(number):返回一个数的自然对数。
LN(number):返回一个数的自然对数。自然对数以常数项e(2.71828182845904)为底。 number:是用于计算其自然对数的正实数。 示例: LN(86)等于4.45437 LN(2.7182818)等于1 LN(EXP(3))等于3 EXP(LN(4))等于4
LOG(number,base):按指定的任意底数,返回数值的对数。
LOG(number,base):按指定的任意底数,返回数值的对数。 Number:需要求对数的正实数。 Base:对数的底数。如果省略底数,默认值为10。 示例: LOG(16,2)等于4。 LOG(10)等于1。 LOG(24,3)等于2.892789261。
LOG10(number):返回以10为底的对数。
LOG10(number):返回以10为底的对数。 number:用于常用对数计算的正实数。 示例: LOG10(86)等于1.934498451 LOG10(10)等于1 LOG10(1E5)等于5
MAX(number1,number2,…):返回参数列表中的最大值。
MAX(number1,number2,…):返回参数列表中的最大值。 Number1,number2,…:1到n个需要找出最大值的参数。 备注: 参数可以是数字、空白单元格、逻辑值或数字的文本表达式。如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。如果参数中没有任何数字,MAX将返回0。 示例:MAX(0.1,0,1.2)等于1.2。
MIN(number1,number2,…):返回参数列表中的最小值。
MIN(number1,number2,…):返回参数列表中的最小值。 Number1,number2,…:1到n个需要找出最小值的参数。 备注: 若参数中没有数字,函数MIN将返回0。参数应为数字、空白单元格、逻辑值或是表示数值的文本串。 如果参数是错误值时,MIN将返回错误信息。 如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。 示例: 如果B1:B4包含3,6,9,12,则:MIN(B1:B4)等于3。MIN(B1:B4,0)等于0。
MOD(number,divisor):返回两数相除的余数。
MOD(number,divisor):返回两数相除的余数。结果的正负号与除数相同。 number:为被除数。 divisor:为除数。 示例: MOD(3,2)等于1 MOD(-3,2)等于1 MOD(3,-2)等于-1 MOD(-3,-2)等于-1
ODD(number):返回对指定数值进行舍入后的奇数。
ODD(number):返回对指定数值进行舍入后的奇数。 number:是要舍入求奇的数值。不论正负号如何,数值都朝着远离0的方向舍入。如果number恰好是奇数,则不须进行任何舍入处理。 示例: ODD(1.5)等于3 ODD(3)等于3 ODD(2)等于3 ODD(-1)等于-1
PI(number):是一个数学常量函数(圆周率)
PI(number):是一个数学常量函数,当number为空时,函数返回精确到15位的数值3.141592653589793;当参数不为空时,number表示PI的整数倍数。 示例: SIN(PI()/2)等于1。 计算圆的面积的公式:S=PI()*(r^2),其中S为圆的面积,R为圆的半径。PI(3)等于9.42477796076938。
POWER(number,power):返回指定数字的乘幂。
POWER(number,power):返回指定数字的乘幂。 Number:底数,可以为任意实数。 Power:指数。参数number按照该指数次幂乘方。 备注: 可以使用符号“^”代替POWER,如:POWER(5,2)等于5^2。 示例: POWER(6,2)等于36。 POWER(14,5)等于537824。 POWER(4,2/3)等于2.519842100。 POWER(3,-2.3)等于0.079913677。
PRODUCT(number1,number2,...):将所有以参数形式给出的数字相乘,并返回乘积值。
PRODUCT(number1,number2,...):将所有以参数形式给出的数字相乘,并返回乘积值。 number1,number2,...:为1到n个需要相乘的数字参数。 示例:PRODUCT(3,4)等于12PRODUCT(3,4,5)等于60
PROMOTION(value1,value2):返回value2在value1上提升的比例。
PROMOTION(value1,value2):返回value2在value1上提升的比例。 示例: PROMOTION(12,14)等于0.166666666,即提升了16.6666666%. PROMOTION(-12,14)等于2.166666666,即提升了216.6666666%.
RADIANS(angle):将角度转换成弧度。
RADIANS(angle):将角度转换成弧度。 Angle:需要转换为弧度的角度。 示例:RADIANS(90)等于1.570796327。
RAND():返回均匀分布的随机数。
RAND():返回均匀分布的随机数。每计算一次工作表,函数都会返回一个新的随机数值。 备注: 要生成一个位于a和b之间的随机数,可以使用以下的公式:C=RAND()*(b-a)+a。 如果要使一个随机产生的数值不随单元格的重计算而改变,可以在编辑框中输入=RAND()并保持编辑状态,然后按F9,将公式永久性地改为随机数。 示例: 假如需要生成一个大于等于0,小于60的随机数,使用公式:=RAND()*60。 假如需要生成一个大于等于0,小于19的随机数,使用公式:=RAND()*19。 假如需要生成一个大于等于0,小于50的随机数,使用公式:=RAND()*50。
RANDBETWEEN(value1,value2):返回value1和value2之间的一个随机整数。
RANDBETWEEN(value1,value2):返回value1和value2之间的一个随机整数。 示例: RANDBETWEEN(12.333,13.233)只会返回13。 RANDBETWEEN(11.2,13.3)有可能返回12或者13。
ROUND(number,num_digits):返回某个数字按指定位数舍入后的数字。
ROUND(number,num_digits):返回某个数字按指定位数舍入后的数字。 number:需要进行舍入的数字。 num_digits:指定的位数,按此位数进行舍入。如果num_digits大于0,则舍入到指定的小数位。如果num_digits等于0,则舍入到最接近的整数。如果num_digits小于0,则在小数点左侧进行舍入。 示例: ROUND(2.15,1)等于2.2 ROUND(2.149,1)等于2.1 ROUND(-1.475,2)等于-1.48 ROUND(21.5,-1)等于20 因浮点数存在精度计算丢失问题,导致计算结果里可能带上9999,0000这些,因此加入第三个参数来控制是否需要去除9999,0000. false表示需要过滤9999,0000这些数据,true表示保留,参数为空则默认为false.
ROUND5(number,num_digits):这个是四舍五入,奇进偶不进。
ROUND5(number,num_digits):这个是四舍五入,奇进偶不进。 number:需要进行舍入的数字。 num_digits:指定的位数,按此位数进行舍入。如果num_digits大于0,则舍入到指定的小数位。如果num_digits等于0,则舍入到最接近的整数。如果num_digits小于0,则在小数点左侧进行舍入。 示例: ROUND5(2.125,2)等于2.12 ROUND5(2.135,2)等于2.14 因浮点数存在精度计算丢失问题,导致计算结果里可能带上9999,0000这些,因此加入第三个参数来控制是否需要去除9999,0000. false表示需要过滤9999,0000这些数据,true表示保留,参数为空则默认为false.
ROUNDDOWN(number,num_digits):靠近零值,向下(绝对值减小的方向)舍入数字。
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
ROUNDUP(number,num_digits):远离零值,向上(绝对值增大的方向)舍入数字。
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
SIGN(number):返回数字的符号。
SIGN(number):返回数字的符号。当数字为正数时返回1,为零时返回0,为负数时返回-1。 Number:为任意实数。 示例: SIGN(10)等于1 SIGN(4-4)等于0 SIGN(-0.00001)等于-1
SIN(number):计算给定角度的正弦值。
SIN(number):计算给定角度的正弦值。 Number:待求正弦值的以弧度表示的角度。 备注: 如果参数的单位是度,将其乘以PI()/180即可转换成弧度。 示例: SIN(10)等于-0.5440211108893698。 SIN(45*PI()/180)等于0.707106781。
SINH(number):返回某一数字的双曲正弦值。
SINH(number):返回某一数字的双曲正弦值。 number:为任意实数。 示例: SINH(1)等于1.175201194 SINH(-1)等于-1.175201194
SQRT(number):返回一个正数的平方根。
SQRT(number):返回一个正数的平方根。 Number:要求其平方根的任一正数。 备注: Number必须是一个正数,否则函数返回错误信息NaN。 示例: SQRT(64)等于8。 SQRT(-64)返回NaN。
SUM(number1,number2,…):求一个指定单元格区域中所有数字之和。
SUM(number1,number2,…):求一个指定单元格区域中所有数字之和。 Number1,number2,…:1到n个参数或指定单元格区域中所有数字。 备注: 函数将直接键入参数中的数值、逻辑值及文本表达式计算在内。若参数是数组或引用,则只有数组或单元格引用中的数值进行计算。 示例: SUM(70,80)等于150。 SUM("70",80,TRUE)等于151,逻辑值“TRUE”作为1来计算;“FALSE”作为0计算;文本“70”作为70来计算。
SUMPRECISE(number1,number2,…):当对精度有要求时,比如整数位大于16位时,需要使用这个函数
SUMPRECISE(number1,number2,…):当对精度有要求时,比如整数位大于16位时,需要使用这个函数。满足大精度的需要。使用同 SUM
SUMSQ(number1,number2,...):返回所有参数的平方和。
SUMSQ(number1,number2,...):返回所有参数的平方和。 number1,number2,...:为1到n个需要求平方和的参数,也可以使用数组或对数组的引用来代替以逗号分隔的参数。 示例:SUMSQ(3,4)等于25
TAN(number):返回指定角度的正切值。
TAN(number):返回指定角度的正切值。 Number:待求正切值的角度,以弧度表示。如果参数是以度为单位的,乘以Pi()/180后转换为弧度。 示例: TAN(0.8)等于1.029638557。 TAN(45*Pi()/180)等于1。
TANH(number):返回某一数字的双曲正切值。
TANH(number):返回某一数字的双曲正切值。 number:为任意实数。双曲正切的计算公式如下: 示例: TANH(-2)等于-0.96403 TANH(0)等于0 TANH(0.5)等于0.462117
TOBINARY(int):将一个十进制整型数转换成二进制表示的字符串。
TOBINARY(int):将一个十进制整型数转换成二进制表示的字符串。 int:表示需要进行转换的十进制整数。支持范围:0 ~ Integer.MAX_VALUE。 示例: TOBINARY(10)等于"1010"。 TOBINARY(20)等于"10100"。
TOHEX(int):将一个十进制整型数转换成十六进制表示的字符串。
TOHEX(int):将一个十进制整型数转换成十六进制表示的字符串。 int:表示需要进行转换的十进制整数。 示例: TOHEX(15)等于"f"。 TOHEX(20)等于"14"。
TOOCTAL(int):将一个十进制整型数转换成八进制表示的字符串。
TOOCTAL(int):将一个十进制整型数转换成八进制表示的字符串。 int:表示需要进行转换的十进制整数。支持范围:0 ~ Integer.MAX_VALUE。 示例: TOOCTAL(10)等于"12"。 TOOCTAL(20)等于"24"。
TRUNC(number,num_digits):将数字的小数部分截去,返回整数。
TRUNC(number,num_digits):将数字的小数部分截去,返回整数。 number:需要截尾取整的数字。 num_digits:用于指定取整精度的数字。 示例: TRUNC(8.9)等于8 TRUNC(-8.9)等于-8 TRUNC(PI())等于3
WEIGHTEDAVERAGE(A1:A4,B1:B4):返回指定数据的加权平均值。
WEIGHTEDAVERAGE(A1:A4,B1:B4):返回指定数据的加权平均值。加权平均数是不同比重数据的平均数,加权平均数就是把原始数据按照合理的比例来计算。 A1:A4,B1:B4:用于计算平均值的参数,A1~A4为数据,B1~B4为权值。 示例: 如果A1:A4为10,9,8,7,B1:B4为0.2,0.1,0.3,0.4 则:WEIGHTEDAVERAGE(A1:A4,B1:B4)等于8.1。
文本函数
CHAR(number):根据指定数字返回对应的字符。
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。 Number:用于指定字符的数字,介于1~65535之间(包括1和65535)。 示例: CHAR(88)等于“X”。 CHAR(45)等于“-”。
CNMONEY(number,unit)返回人民币大写。
CNMONEY(number,unit)返回人民币大写。 number:需要转换的数值型的数。 unit:单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。 备注:单位可以为空,如果为空,则直接将number转换为人民币大写,否则先将number与单位的进制相乘,然后再将相乘的结果转换为人民币大写。 示例: CNMONEY(1200)等于壹仟贰佰圆整。 CNMONEY(12.5,"w")等于壹拾贰万伍仟圆整。 CNMONEY(56.3478,"bw")等于伍仟陆佰叁拾肆万柒仟捌佰圆整。 CNMONEY(3.4567,"y")等于叁亿肆仟伍佰陆拾柒万圆整。
CODE(text):计算文本串中第一个字符的数字代码。
CODE(text):计算文本串中第一个字符的数字代码。返回的代码对应于计算机使用的字符集。 Text:需要计算第一个字符代码的文本或单元格引用。 示例: CODE("S")等于83。 CODE("Spreadsheet")等于83。
CONCATENATE(text1,text2,...):将数个字符串合并成一个字符串。
CONCATENATE(text1,text2,...):将数个字符串合并成一个字符串。 Text1,text2,...:需要合并成单个文本的文本项,可以是字符,数字或是单元格引用。 示例: CONCATENATE("Average","Price")等于“AveragePrice”。 CONCATENATE("1","2")等于12。
ENBYSTRNUM(string,number)单元格按照指定字数换行显示
ENBYSTRNUM(string,number)单元格按照指定字数换行显示 string:需要换行显示的元素,可以是数字、字符等 number:指定换行字数的数值,为正整数;为负数或0时,公式不生效,按原换行方式换行; 示例: ENBYSTRNUM("帆软软件有限公司",4)等于 帆软软件 有限公司 ENBYSTRNUM("帆软软件有限公司",2)等于 帆软 软件 有限 公司
ENDWITH(str1,str2):判断字符串str1是否以str2结束。
ENDWITH(str1,str2):判断字符串str1是否以str2结束。 备注: str1和str2都是大小写敏感的。 示例: ENDWITH("FineReport","Report")等于true。 ENDWITH("FineReport","Fine")等于false。 ENDWITH("FineReport","report")等于false。
ENMONEY(value):将给定的BigDemical类型的数字转换成英文金额字符串。
ENMONEY(value):将给定的BigDemical类型的数字转换成英文金额字符串。 示例: ENMONEY(23.49)等于TWENTYTHREEANDCENTSFORTYNINE
ENNUMBER(value):将给定的BigDecimal类型的数字(100以内)取整后转化成英文金额的字符串。
ENNUMBER(value):将给定的BigDecimal类型的数字(100以内)取整后转化成英文金额的字符串。 注:若出现结果为空,需要将数字强制转换为BigDecimal类型,例如:ENNUMBER(DECIMAL(80)) 示例: ENNUMBER(23.49)等于TWENTYTHREE。
EXACT(text1,text2):检测两组文本是否相同。
EXACT(text1,text2):检测两组文本是否相同。如果完全相同,EXACT函数返回TRUE;否则,返回FALSE。EXACT函数可以区分大小写,但忽略格式的不同。同时也可以利用EXACT函数来检测输入文档的文字。 Text1:需要比较的第一组文本。 Text2:需要比较的第二组文本。 示例: EXACT("Spreadsheet","Spreadsheet")等于TRUE。 EXACT("Spreadsheet","S preadsheet")等于FALSE。 EXACT("Spreadsheet","spreadsheet")等于FALSE。
FIND(find_text,within_text,start_num):从指定的索引(start_num)处开始,返回第一次出现的指定子字符串(find_text)在此字符串(within_text)中的索引。
FIND(find_text,within_text,start_num):从指定的索引(start_num)处开始,返回第一次出现的指定子字符串(find_text)在此字符串(within_text)中的索引。 Find_text:需要查找的文本或包含文本的单元格引用。 Within_text:包含需要查找文本的文本或单元格引用。 Start_num:指定进行查找字符的索引位置。within_text里的索引从1开始。如果省略start_num,则假设值为1。 备注: 如果find_text不在within_text中,FIND函数返回值为0。如果start_num不大于0,FIND函数返回错误信息#VALUE?。如果start_num大于within_text的长度,FIND函数返回值为0。如果find_text是空白文本,FIND函数将在搜索串中匹配第一个字符(即编号为start_num或1的字符)。 示例: FIND("I","Information")等于1。 FIND("i","Information")等于9。 FIND("o","Information",2)等于4。 FIND("o","Information",12)等于0。 FIND("o","Information",-1)等于#VALUE?。
FORMAT(object,format):返回object的format格式。
FORMAT(object,format):返回object的format格式。 object:需要被格式化对象,可以是String,数字,Object(常用的有Date,Time)。 format:格式化的样式。 示例: FORMAT(1234.5,"#,##0.00")=>1,234.50 FORMAT(1234.5,"#,##0")=>1,234 FORMAT(1234.5,"¥#,##0.00")=>¥1,234.50 FORMAT(1.5,"0%")=>150% FORMAT(1.5,"0.000%")=>150.000% FORMAT(6789,"##0.0E0")=>6.789E3 FORMAT(6789,"0.00E00")=>6.79E03 FORMAT(date(2007,1,1),"EEEEE,MMMMMdd,yyyy")=>星期一,一月01,2007 FORMAT(date(2007,1,13),"MM/dd/yyyy")=>01/13/2007 FORMAT(date(2007,1,13),"M-d-yy")=>1-13-07 FORMAT(time(16,23,56),"h:mm:ssa")=>4:23:56下午
GETCHARNUM(string1,string2)计算字符串中指定字符个数
GETCHARNUM(string1,string2)计算字符串中指定字符个数 string1:原始字符串 string2:需要计算个数的指定字符,可以是数字、单个字符、多个字符; 备注: 需要寻找的字符串在目标字符串中匹配不到时,直接返回0 示例: GETCHARNUM("2021-03-23",-) 等于2 GETCHARNUM("abccccccccdef","cc")等于4 GETCHARNUM("abccccccccdef","ccc")等于2
INDEXOF(str1,index):返回字符串str1在index位置上的字符。
INDEXOF(str1,index):返回字符串str1在index位置上的字符。 备注: index是从0开始计数的。 示例: INDEXOF("FineReport",0)等于'F'。 INDEXOF("FineReport",2)等于'n'。 INDEXOF("FineReport",9)等于't'。 INDEXOF(array,index):返回数组在index位置上的元素。 备注: index是从1开始计数的。 示例: INDEXOF(ARRAY("a","b","c"), 1)等于"a".
LEFT(text,num_chars):根据指定的字符数返回文本串中的第一个或前几个字符。
LEFT(text,num_chars):根据指定的字符数返回文本串中的第一个或前几个字符。 Text:包含需要选取字符的文本串或单元格引用。 Num_chars:指定返回的字符串长度。 备注: Num_chars的值必须等于或大于0。如果num_chars大于整个文本的长度,LEFT函数将返回所有的文本。如果省略num_chars,则默认值为1。 示例: LEFT("Fine software",8)等于“Fine sof”。 LEFT("Finesoftware")等于“F”。 如果单元格A3中含有“China”,则LEFT(A3,2)等于“Ch”。
LEN(args):返回文本串中的字符数或者数组的长度。
LEN(args):返回文本串中的字符数或者数组的长度。需要注意的是:参数args为文本串时,空格也计为字符。参数args为数组时,直接返回数组长度。 示例: LEN("Evermore software")等于17。 LEN(" ")等于1。LEN(['a','b'])等于2。
LOWER(text):将所有的大写字母转化为小写字母。
LOWER(text):将所有的大写字母转化为小写字母。 Text:需要转化为小写字母的文本串。LOWER函数不转化文本串中非字母的字符。 示例: LOWER("A.M.10:30")等于“a.m.10:30”。 LOWER("China")等于“china”。
MID(text,start_num,num_chars):返回文本串中从指定位置开始的一定数目的字符,该数目由用户指定。
MID(text,start_num,num_chars):返回文本串中从指定位置开始的一定数目的字符,该数目由用户指定。 Text:包含要提取字符的文本串。 Start_num:文本中需要提取字符的起始位置。文本中第一个字符的start_num为1,依此类推。 Num_chars:返回字符的长度。 备注: 如果start_num大于文本长度,MID函数返回“”(空文本)。 如果start_num小于文本长度,并且start_num加上num_chars大于文本长度,MID函数将从start_num指定的起始字符直至文本末的所有字符。 如果start_num小于1,MID函数返回错误信息#NAME?。 如果num_chars是负数,MID函数返回错误信息#NAME?。 示例: MID("Finemoresoftware",9,8)返回“software”。 MID("Finemoresoftware",30,5)返回“”(空文本)。 MID("Finemoresoftware",0,8)返回#NAME?。 MID("Finemoresoftware",5,-1)返回#NAME?。
MIDCHAR(string,char,number,bool)截取某字符前或后所有的字符
MIDCHAR(string,char,number,bool)截取某字符前或后所有的字符 string:被截取的元素,可以是数字、字符等 char:截取标识符,可以是数字、字符;未找到截取标识符时,返回null number:字符串中第几次出现的标识符,为非0整数,正整数时,为正数第number个截取标识符;负整数时,为倒数第number个截取标识符;number绝对值超出字符串中个数时,返回原字符串;可缺省,缺省时默认按照正数第一个截取 bool:ture/false,向前截取还是向后截取;ture为向后,false为向前;可缺省,缺省时默认向后截取 示例: MIDCHAR("1234666", '6')等于"66" MIDCHAR("1234666", '6',1,true)等于"66" MIDCHAR("1234666", '6',1,false)等于"1234"
NUMTO(number,bool)或NUMTO(number):返回number的中文表示。
NUMTO(number,bool)或NUMTO(number):返回number的中文表示。其中bool用于选择中文表示的方式,当没有bool时采用默认方式显示。 示例: NUMTO(2345,true)等于二三四五。 NUMTO(2345,false)等于二千三百四十五。 NUMTO(2345)等于二千三百四十五。
NUMTOZH(number,type)将数字转换成中文形式
NUMTOZH(number,type)将数字转换成中文形式 number:需要处理的具体数字,可以是具体的数字、可转义为数字的字符串可解析为数字及数字字符串的参数; type:1/2/3;1为中文小写数值,2为中文大写数值,3为中文小写数字;可缺省,缺省时默认为type1,即:中文小写数值 示例: NUMTOZH(1234)等于一千二百三十四 NUMTOZH(1234,1)等于一千二百三十四 NUMTOZH(1234,2)等于壹仟贰佰叁拾肆 NUMTOZH(1234,3)等于一二三四
PROPER(text):将文本中的第一个字母和所有非字母字符后的第一个字母转化成大写,其他字母变为小写。
PROPER(text):将文本中的第一个字母和所有非字母字符后的第一个字母转化成大写,其他字母变为小写。 Text:需要转化为文本的公式、由双引号引用的文本串或是单元格引用。 示例: PROPER("Finemore Integrated Office")等于“Finemore Integrated Office”。 PROPER("100 percent")等于“100 Percent”。 PROPER("SpreaDSheEt")等于“Spreadsheet”。
REGEXP(str,pattern):字符串str是否与正则表达式pattern相匹配。
REGEXP(str,pattern):字符串str是否与正则表达式pattern相匹配。 示例: REGEXP("aaaaac","a*c")等于true。 REGEXP("abc","a*c")等于false。 REGEXP(str,pattern,intNumber):字符串str是否与具有给定模式intNumber的正则表达式pattern相匹配。 示例: intNumber=1 UNIX_LINES 启用Unix行模式,在此模式下,"."、"^"、"$"的行为中仅识别"\n"行结束符 intNumber=2 CASE_INSENSITIVE 启用不区分大小写的匹配。默认情况下,不区分大小写的匹配假定仅匹配US-ASCII字符集中的字符。可以通过指定UNICODE_CASE模式连同此模式来启用Unicode感知的、不区分大小写的匹配。 intNumber=4 COMMENTS 启用允许使用空格和注释模式。此模式将忽略空格和在结束行之前以#开头的嵌入式注释。 intNumber=8 MULTILINE 启用多行模式 intNumber=16 LITERAL 启用文本分析的模式。启用此模式后,输入字符串就会作为字面值字符序列来对待。输入序列中的元字符或转义序列不具有任何特殊意义。CASE_INSENSITIVE模式和UNICODE_CASE模式在与此模式一起使用时将对匹配产生影响。其他模式下无影响。 intNumber=32 DOTALL 启用dotall模式,表达式"."可以匹配任何字符,包括行结束符。默认情况下,此表达式不匹配行结束符。 intNumber=64 UNICODE_CASE 启用Unicode感知的大小写折叠。指定此模式并同时制定CASE_INSENSITIVE模式时,不区分大小写的匹配将以符合Unicode标准的方式完成。 intNumber=128 CANON_EQ 启用规范等效模式,启用此模式后,当且仅当其完整规范分解匹配时,两个字符才可视为匹配。 通过设置intNumber为两种模式之和可以同时开启多种模式,如intNumber=3则表示同时开启 Unix行模式及不区分大小写的匹配模式 实际示例: REGEXP("Aaaaabbbbc","a*b*c",3)等于true。 REGEXP("Aaaaabbbbc","a*b*c",1)等于false。
REPEAT(text,number_times):根据指定的次数重复显示文本。
REPEAT(text,number_times):根据指定的次数重复显示文本。REPEAT函数可用来显示同一字符串,并对单元格进行填充。 Text:需要重复显示的文本或包含文本的单元格引用。 Number_times:指定文本重复的次数,且为正数。如果number_times为0,REPEAT函数将返回“”(空文本)。如果number_times不是整数,将被取整。REPEAT函数的最终结果通常不大于32767个字符。 备注: 该函数可被用于在工作表中创建简单的直方图。 示例: REPEAT("$",4)等于“$$$$”。 如果单元格B10的内容为“你好”,REPEAT(B10,3)等于“你好你好你好”。
REPLACE(text,texttoreplace,replacetext):根据指定字符串,用其他文本来代替原始文本中的内容。
REPLACE(text,texttoreplace,replacetext):根据指定字符串,用其他文本来代替原始文本中的内容。 text:需要被替换部分字符的文本或单元格引用。 texttoreplace:指定的字符串。 replacetext:需要替换部分旧文本的文本。 示例: REPLACE("abcd","a","re")等于"rebcd"。 REPLACE("a**d","**d","rose")等于"arose"。 REPLACE(old_text,start_num,num_chars,new_text):根据指定的字符数,用其他文本串来替换某个文本串中的部分内容。 Old_text:需要被替换部分字符的文本或单元格引用。 Start_num:需要用new_text来替换old_text中字符的起始位置。 Num_chars:需要用new_text来替换old_text中字符的个数。 New_text:需要替换部分旧文本的文本。 示例: REPLACE("0123456789",5,4,"*")等于“0123*89”。 REPLACE("1980",3,2,"99")等于“1999”。
RIGHT(text,num_chars):根据指定的字符数从右开始返回文本串中的最后一个或几个字符。
RIGHT(text,num_chars):根据指定的字符数从右开始返回文本串中的最后一个或几个字符。 Text:包含需要提取字符的文本串或单元格引用。 Num_chars:指定RIGHT函数从文本串中提取的字符数。Num_chars不能小于0。如果num_chars大于文本串长度,RIGHT函数将返回整个文本。如果不指定num_chars,则默认值为1。 示例: RIGHT("Itisinteresting",6)等于“esting”。 RIGHT("ShareHolder")等于“r”。 RIGHT("Hugesale",4)等于“sale”。
SPLIT(String1,String2):返回由String2分割String1组成的字符串数组。
SPLIT(String1,String2):返回由String2分割String1组成的字符串数组。 String1:以双引号表示的字符串。 String2:以双引号表示的分隔符。例如逗号"," 示例: SPLIT("hello,world,yes",",")=["hello","world","yes"]。 SPLIT("this is very good"," ") = ["this","is","very","good"]。 备注: 如果只有一个参数,则返回一个错误。如果有多个参数,则只有前两个起作用。
STARTWITH(str1,str2):判断字符串str1是否以str2开始。
STARTWITH(str1,str2):判断字符串str1是否以str2开始。 备注: str1和str2都是大小写敏感的。 示例: STARTWITH("FineReport","Fine")等于true。 STARTWITH("FineReport","Report")等于false。 STARTWITH("FineReport","fine")等于false。
SUBSTITUTE(text,old_text,new_text,instance_num):用new_text替换文本串中的old_text。
SUBSTITUTE(text,old_text,new_text,instance_num):用new_text替换文本串中的old_text。 Text:需要被替换字符的文本,或含有文本的单元格引用。 Old_text:需要被替换的部分文本。 New_text:用于替换old_text的文本。 Instance_num:指定用new_text来替换第几次出现的old_text。如果指定了instance_num,则只有指定位置上的old_text被替换,否则文字串中出现的所有old_text都被new_text替换。 备注: 如果需要替换文本串中的指定文本,则使用SUBSTITUTE函数;如果需要替换文本串中指定位置上的任意文本,则使用REPLACE函数。 示例: SUBSTITUTE("database","base","model")等于“datamodel”。 SUBSTITUTE("July28,2000","2","1",1)等于“July18,2000”。 SUBSTITUTE("July28,2000","2","1")等于“July18,1000”。 SUBSTITUTE("July28,2000","2","1",2)等于“July28,1000”。
TEXTGETNUM(string)提取字符串中的数字,并按照原数字顺序显示
TEXTGETNUM(string)提取字符串中的数字,并按照原数字顺序显示 string:需要提取数字的字符串 备注: 若字符串中没有数字时,返回null 示例: TEXTGETNUM("asf2d45g6r7742e")等于24567742 TEXTGETNUM("asfwddfgyruurwe")等于null
TODOUBLE(text):将文本转换成Double对象。
TODOUBLE(text):将文本转换成Double对象。 Text:需要转换的文本。 示例:TODOUBLE("123.21")等于newDouble(123.21)。
TOINTEGER(text):将文本转换成Integer对象,可以返回Long范围内的整数。
TOINTEGER(text):将文本转换成Integer对象,可以返回Long范围内的整数。 text:需要转换的文本。 示例:TOINTEGER("123")等于new Integer(123)。
TRIM(text):清除文本首尾所有的空格、转义字符。
TRIM(text):清除文本首尾所有的空格、转义字符。 Text:需要清除的文本。 示例:TRIM(" Monthly Report")等于Monthly Report。
UPPER(text):将文本中所有的字符转化为大写。
UPPER(text):将文本中所有的字符转化为大写。 Text:需要转化为大写字符的文本,或是包含文本的单元格引用。 示例: UPPER("notes")等于“NOTES”。 如果单元格E5的值为“Examples”,则UPPER(E5)等于“EXAMPLES”。
DATE(year,month,day):返回一个表示某一特定日期的系列数。
DATE(year,month,day):返回一个表示某一特定日期的系列数。 Year:代表年,可为一到四位数。 Month: 代表月份。若month<12,则函数把参数值作为月。若month>12,则函数从年的一月份开始往上累加。 例如:DATE(2000,25,2)等于2002年1月2日的系列数。 Day: 代表日。若日期小于等于某指定月的天数,则函数将此参数值作为日。若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。 例如:DATE(2000,3,35)等于2000年4月4日的系列数。 备注: 若需要处理公式中日期的一部分,如年或月等,则可用此公式。若年,月和日是函数而不是函数中的常量,则此公式最能体现其作用。 示例: DATE(1978,9,19)等于1978-09-19. DATE(1211,12,1)等于1211-12-01.
DATEDELTA(date,deltadays):返回一个日期date后deltadays的日期。
DATEDELTA(date,deltadays):返回一个日期date后deltadays的日期。deltaDays可以为正值,负值,零。 示例: DATEDELTA("2008-08-08",-10)等于2008-07-29。 DATEDELTA("2008-08-08",10)等于2008-08-18。
DATEDIF(start_date,end_date,unit,method):返回两个指定日期间的天数、月数或年数。
DATEDIF(start_date,end_date,unit,method):返回两个指定日期间的天数、月数或年数。 Start_date:代表所指定时间段的初始日期。 End_date:代表所指定时间段的终止日期。 Unit:函数返回信息的类型。 method:可选参数,默认返回日期差值的绝对值。 若unit="Y",则DATEDIF返回指定时间段的年差数。 若unit="M",则DATEDIF返回指定时间段的月差数。 若unit="D",则DATEDIF返回指定时间段的日差数。 若unit="MD",则DATEDIF忽略年和月,返回指定时间段的日差数。 若unit="YM",则DATEDIF忽略年和日,返回指定时间段的月差数。 若unit="YD",则DATEDIF忽略年,返回指定时间段的日差数。 若method=1,则DATEDIF返回日期差值的绝对值。 若method=-1,则DATEDIF返回日期差值时,会考虑正负情况。 示例: DATEDIF("2001/2/28","2004/3/20","Y")等于3,即在2001年2月28日与2004年3月20日之间有3个整年。 DATEDIF("2001/2/28","2004/3/20","M")等于37,即在2001年2月28日与2004年3月20日之间有36个整月。 DATEDIF("2001/2/28","2004/3/20","D")等于1116,即在2001年2月28日与2004年3月20日之间有1116个整天。 DATEDIF("2001/2/28","2004/3/20","MD")等于8,即忽略月和年后,2001年2月28日与2004年3月20日的差为8天。 DATEDIF("2001/1/28","2004/3/20","YM")等于2,即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月。 DATEDIF("2001/2/28","2004/3/20","YD")等于21,即忽略年后,2001年2月28日与2004年3月20日的差为21天。
DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。
DATEINMONTH(date,number):函数返回在某一个月当中第几天的日期。 示例: DATEINMONTH("2008-08-08",20)等于2008-08-20。 DATEINMONTH("2008-08-08",-1)等于2008-08-31。
DATEINQUARTER(date,number):函数返回在某一个季度当中第几天的日期。
DATEINQUARTER(date,number):函数返回在某一个季度当中第几天的日期。 示例: DATEINQUARTER("2009-05-05",20)等于2009-04-20。
DATEINWEEK(date,number):函数返回在某一个星期当中第几天的日期。
DATEINWEEK(date,number):函数返回在某一个星期当中第几天的日期。 示例: dateInWeek("2008-08-28",2)等于2008-08-26。 dateInWeek("2008-08-28",-1)等于2008-08-31。如果最后一个参数为-1,返回该日期所在星期的最后一天。
DATEINYEAR(date,number):函数返回在一年当中第几天的日期。
DATEINYEAR(date,number):函数返回在一年当中第几天的日期。 示例: DATEINYEAR(2008,100)等于2008-04-09,等价于DATEINYEAR("2008-08-08",100),也返回2008-04-09. DATEINYEAR(2008,-1)等于2008-12-31,等价于DATEINYEAR("2008-08-08",-1),也返回2008-12-31。
DATESUBDATE(date1,date2,op):返回两个日期之间的时间差。
DATESUBDATE(date1,date2,op):返回两个日期之间的时间差。 op表示返回的时间单位:"s",以秒为单位。"m",以分钟为单位。"h",以小时为单位。"d",以天为单位。"w",以周为单位。 示例: DATESUBDATE("2008-08-08","2008-06-06","h")等于1512。
DATETONUMBER(date):返回自1970年1月1日00:00:00GMT经过的毫秒数。
DATETONUMBER(date):返回自1970年1月1日00:00:00GMT经过的毫秒数。 示例: DATETONUMBER("2008-08-08")等于1218124800000。
DAY:(serial_number)返回日期中的日。
DAY:(serial_number)返回日期中的日。DAY是介于1和31之间的一个数。 Serial_number:含有所求的年的日期. 备注: FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 示例: DAY("2000/1/1")等于1。 DAY("2006/05/05")等于5。 DAY("1997/04/20")等于20。 DAY("2000-1-1","yyyy-MM-dd")等于1。 DAY("2006-05-05","yyyy-MM-dd")等于5。 DAY("1997-04-20","yyyy-MM-dd")等于20。 DAY(35796)等于1。
DAYS360(start_date,end_date,method):按照一年360天的算法(每个月以30天计,一年共计12个月),返回两日期间相差的天数,这在会计计算中将会用到。
DAYS360(start_date,end_date,method):按照一年360天的算法(每个月以30天计,一年共计12个月),返回两日期间相差的天数,这在会计计算中将会用到。如果财务系统是基于一年12个月,每月30天,可用此函数帮助计算支付款项。 Start_date和end_date:是用于计算期间天数的起止日期。 Method:它指定了在计算中是采用欧洲方法还是美国方法。 Method定义:FALSE或忽略美国方法(NASD)。如果起始日期是一个月的31号,则等于同月的30号。如果终止日期是一个月的31号,并且起始日期早于30号,则终止日期等于下一个月的1号,否则,终止日期等于本月的30号。TRUE欧洲方法。无论是起始日期还是终止日期为一个月的31号,都将等于本月的30号。 备注: FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 示例: DAYS360("1998/1/30","1998/2/1")等于1
DAYSOFMONTH(date):返回从1900年1月后某年某月包含的天数。
DAYSOFMONTH(date):返回从1900年1月后某年某月包含的天数。 示例: DAYSOFMONTH("1900-02-01")等于28。 DAYSOFMONTH("2008/04/04")等于30。
DAYSOFQUARTER(date):返回从1900年1月后某年某季度的天数。
DAYSOFQUARTER(date):返回从1900年1月后某年某季度的天数。 示例: DAYSOFQUARTER("2009-02-01")等于90。 DAYSOFQUARTER("2009/05/05")等于91。
DAYSOFYEAR(year):返回某年包含的天数。
DAYSOFYEAR(year):返回某年包含的天数。 示例: DAYSOFYEAR(2008)等于366,等价于DAYSOFYEAR("2008-01-01")。
DAYVALUE(date):返回1900年至date日期所经历的天数。
DAYVALUE(date):返回1900年至date日期所经历的天数。如果date参数不合法,则返回1900年1月1日至当前时间所经历的天数。如果date是数字类型,当date大于1000000时,会被当作是unix时间;当date小于或等于1000000时,会被当作是距1900年1月1日的天数。 示例: DAYVALUE("2008/08/08")等于39667,DAYVALUE("1000001")等于25568。
ENDOFMONTH(date,number)返回指定日期所在月份之前或之后月份的最后一天的日期值
ENDOFMONTH(date,number)返回指定日期所在月份之前或之后月份的最后一天的日期值 date:指定日期,可缺省;缺省时默认为本月; number:指定月份前/后月份的数量,整数,可缺省;缺省或者为0时,默认为date参数当月;正整数时,为date之后的月份,负整数时为date之前的月份; 备注: 不支持第一个参数缺省时第二个参数不缺省 示例: ENDOFMONTH("2021-12-22")等于2021-12-31 ENDOFMONTH("2021-12-22",12)等于2022-12-31 ENDOFMONTH("2021-12-22",-12)等于2020-12-31 ENDOFMONTH("2021-12-22",36)等于2024-12-31
HOUR(serial_number):返回某一指定时间的小时数。
HOUR(serial_number):返回某一指定时间的小时数。函数指定HOUR为0(0:00)到23(23:00)之间的一个整数。 Serial_number:包含所求小时的时间。 示例: HOUR("11:32:40")等于11。 HOUR("11:32:40","HH:mm:ss")等于11。
ISWORKDAY(date)判断某日期是工作日还是周末;
ISWORKDAY(date)判断某日期是工作日还是周末;工作日返回ture,非工作日返回false; data:具体的日期值,可以是日期型、可转换为日期的字符型;可缺省,缺省时默认为当前日期 备注: 暂时仅支持周末和工作日判断,暂时不支持法定节假日 示例: ISWORKDAY("2021-12-30")等于ture ISWORKDAY("2021-01-02")等于false
LUNAR (year, month, day):返回当前日期对应的农历时间。
LUNAR (year, month, day):返回当前日期对应的农历时间。 year,month,day:分别对应年月日。 示例: 如果需要查询2011年7月21日对应的农历时间,则只需输入LUNAR(2011,7,21)结果将显示为:辛卯年六月廿一 同样,如输入LUNAR(2001,7,21),则显示:辛巳年六月初一。 本公式支持的时间段为1900-2100年。
MINUTE(serial_number):返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。
MINUTE(serial_number):返回某一指定时间的分钟数,其值是介于0与59之间的一个整数。 serial_number:包含所求分钟数的时间。 示例: MINUTE("15:36:25")等于36。 MINUTE("15:36:25","HH:mm:ss")等于36。
MONTH:(serial_number)返回日期中的月。
MONTH:(serial_number)返回日期中的月。月是介于1和12之间的一个数。 Serial_number:含有所求的月的日期. 备注: FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。 在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 示例: MONTH("2000/1/1")等于1。 MONTH("2006/05/05")等于5。 MONTH("1997/04/20")等于4。 MONTH("2000-1-1","yyyy-MM-dd")等于1。 MONTH("2006-05-05","yyyy-MM-dd")等于5。 MONTH("1997-04-20","yyyy-MM-dd")等于4。 MONTH(35796)等于1。
MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。
MONTHDELTA(date,delta):返回指定日期date后delta个月的日期。 示例: MONTHDELTA("2008-08-08",4)等于2008-12-08。
NOW():获取当前时间。
NOW():获取当前时间。 示例: 如果系统时间是2012年5月12日15点18分38秒则NOW()等于2012-05-1215:18:38。
SECOND(serial_number):返回某一指定时间的秒数,其值是介于0与59之间的一个整数。
SECOND(serial_number):返回某一指定时间的秒数,其值是介于0与59之间的一个整数。 Serial_number:包含所求秒数的时间。 示例: SECOND("15:36:25")等于25。 SECOND("15:36:25","HH:mm:ss")等于25。
TIME(hour,minute,second):返回指定的日期和时间,日期为当天的日期。
TIME(hour,minute,second):返回指定的日期和时间,日期为当天的日期。时间为介于0:00:00与23:59:59之间的时间,可返回0到0.99999999之间的对应数值 Hour:小时数,介于0到23之间的数。 Minute:分钟数,介于0到59之间的数。 Second:秒钟数,介于0到59之间的数。 示例: TIME(14,40,0)等于2020-06-22 14:40:00。 TIME(19,43,24)等于2020-06-22 19:43:24。
TODATE()函数可以将各种日期形式的参数转换为日期类型。
TODATE()函数可以将各种日期形式的参数转换为日期类型。 它有三种参数的形式: 1. 参数是一个日期型的参数,那么直接将这个参数返回。 示例:TODATE(DATE(2007,12,12))返回2007年12月12日组成的日期。 2. 如果date是数字类型,当date大于1000000时,会被当作是unix时间;当date小于或等于1000000时,会被当作是距1900年1月1日的天数。 示例:TODATE(1023542354746)返回2002年6月8日。 3. 参数是日期格式的文本,那么返回这个文本对应的日期。 示例: TODATE("2007/10/15")返回2007年10月5日组成的日期。 TODATE("2007-6-8")返回2007年6月8日组成的日期。 4. 第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式,第三个参数为解析日期的语言,如:zh(中文),en(英文),其中第三个参数为可选参数,默认使用服务器的语言作为解析日期的语言。 示例:TODATE("星期一1/15/07","EEEMM/dd/yy","zh")返回07年1月15日组成的日期,使用“zh(中文)”才能够正常解析“星期一”这个字符串。注:如果EEE 和 MM/dd/yy 不一致, 以 MM/dd/yy 为主。 示例:TODATE("星期三1/15/07","EEEMM/dd/yy","zh")返回07年1月15日组成的日期,实际是星期一,而不是星期三。
TODAY():获取当前日期。
TODAY():获取当前日期。示例:如果系统日期是2005年9月10日则TODAY()等于2005-09-10。
WEEK(serial_num):返回一个代表一年中的第几周的数字,可以在决策平台中设置以周天还是周一为一周的开始。
WEEK(serial_num):返回一个代表一年中的第几周的数字,可以在决策平台中设置以周天还是周一为一周的开始。 Serial_num:表示输入的日期。 备注: 1.FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 2.最后一个参数取值"F1"代表以一月一号为第一周,"F7"表示完整的一周为第一周。 3.如果不传任何参数,算的是当前日期的。 4.超过1000000按照毫秒数算,小于这个值则按照天数算,100万天的话大概是273年,按照毫秒数算的话,大概是16分钟,如果传0的话返回的就是1970年1月1号。 5.入参分析: 0入参的时候,取当前时间。 1个入参的时候,如果只传"F1"/"F7" 则取当前时间,如果传其他字符串,按照改字符串转换后的时间来。 2个入参的时候,如果第二个参数是"F1"/"F7" ,转换日期的时候只用第一个参数,如果第二个参数是其他字符串,则根据两个参数转日期,一般第二个参数是格式化字符串。 3个入参的时候,如果第三个参数是"F1"/"F7" ,转换日期的时候前两个参数(字符串以及格式化),如果第二个参数是其他字符串,则根据3个参数转日期,地3个参数被认为是国际化。 4以及以上的参数:最后一个如果是"F1"/"F7",去掉最后一个参数参与日期转换,如果不是"F1"/"F7",全部参与日期转换。 示例: WEEK("2010/1/1")等于52。 WEEK("2010/1/6")等于1。WEEK(35796)等于52。
weekdate(year,month,weekOfMonth,dayOfWeek):返回指定年月的指定周的周几的具体日期。
weekdate(year,month,weekOfMonth,dayOfWeek):返回指定年月的指定周的周几的具体日期。 示例: weekdate(2009,10,2,1)返回的是2009年的10月的第二个周的第一天即星期天的日期,返回的是2009-10-04 最后一个参数dayOfWeek为-1时,表示这个周的最后一天 示例: weekdate(2009,12,1,-1)返回的是2009年的12月的第一个周的最后一天即星期六的日期,返回的是2009-12-05
WEEKDAY(Serial_number):获取日期并返回星期数。
WEEKDAY(Serial_number):获取日期并返回星期数。返回值为介于0到6之间的某一整数,分别代表星期中的某一天(从星期日到星期六)。 Serial_number:输入的日期备注:FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 举例: WEEKDAY("2005/9/10")等于6(星期六)。 WEEKDAY("2005/9/11")等于0(星期日)。 WEEKDAY(35796)等于4(星期四)。
YEAR:(serial_number)返回日期中的年。
YEAR:(serial_number)返回日期中的年。 Year是介于1900和9999之间的一个数。 Serial_number:含有所求的年的日期. 备注: FineReport将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在1900年日期系统中,FineReport电子表格将1900年1月1日保存为系列数2,将1900年1月2日保存为系列数3,将1900年1月3日保存为系列数4……依此类推。如在1900年日期系统,1998年1月1日存为系列数35796。 示例: YEAR("2000/1/1")等于2000。 YEAR("2006/05/05")等于2006。 YEAR("1997/04/20")等于1997。 YEAR("2000-1-1","yyyy-MM-dd")等于2000。 YEAR("2006-05-05","yyyy-MM-dd")等于2006。 YEAR("1997-04-20","yyyy-MM-dd")等于1997。 YEAR(35796)等于1998。
YEARDELTA(date,delta):返回指定日期后delta年的日期。
YEARDELTA(date,delta):返回指定日期后delta年的日期。 示例:YEARDELTA("2008-10-10",10)等于2018-10-10。
逻辑函数
AND(logical1,logical2,…):当所有参数的值为真时,返回TRUE;
AND(logical1,logical2,…):当所有参数的值为真时,返回TRUE;当任意参数的值为假时,返回FALSE。Logical1,logical2,…:指1到30个需要检验TRUE或FALSE的条件值。 备注: 参数必须是逻辑值,或是含有逻辑值的数组或引用。如果数组或引用中含有文本或空的单元格,则忽略其值。如果在指定的单元格区域中没有逻辑值,AND函数将返回错误信息#NAME?。 示例: AND(1+7=8,5+7=12)等于TRUE。 AND(1+7=8,5+7=11)等于FALSE。 如果单元格A1到A4的值分别为TRUE、TRUE、FALSE和TRUE,则:AND(A1:A4)等于FALSE。 如果单元格A5的值在0~50之间,则:AND(0<A5,A5<50)等于TRUE。
BITNOT(int):将一个十进制整数进行二进制取反运算。
BITNOT(int):将一个十进制整数进行二进制取反运算。 int:需要进行转换的十进制数。 示例: BITNOT(3)等于-4。 BITNOT(12)等于-13。
BITOPERATIOIN(int,int,op)位运算,返回两个整数根据op进行位运算后的结果。
BITOPERATIOIN(int,int,op)位运算,返回两个整数根据op进行位运算后的结果。 int:十进制整数。 op:位运算操作符,支持"&"(与),"|"(或),"^"(异或),"<<"(左移),">>"(右移)。 示例: BITOPERATION(4,2,"&")表示4与2进行"与"运算,结果等于0。 BITOPERATION(4,2,"|")表示4与2进行"或"运算,结果等于6。 BITOPERATION(4,2,"^")表示4与2进行"异或"运算,结果等于6。 BITOPERATION(4,2,"<<")表示4按位左移2位,结果等于16。 BITOPERATION(4,2,">>")表示4按位右移2位,结果等于1。 BITOPERATION(4,2,"^~")表示4与2进行"同或"运算,结果为-7。
IF(boolean,number1/string1,number2/string2):判断函数,boolean为true时返回第二个参数,为false时返回第三个。
IF(boolean,number1/string1,number2/string2):判断函数,boolean为true时返回第二个参数,为false时返回第三个。 boolean:用于判断的布尔值,true或者false。 number1/string1:第一个参数,如果boolean为true,返回这个值。 number2/string2:第二个参数,如果boolean为false,返回这个值。 示例: IF(true,2,8)等于2 IF(false,"first","second")等于second IF(true,"first",7)等于first
OR(logical1,logical2,…):当所有参数的值为假时,返回FALSE;当任意参数的值为真时,返回TRUE。
OR(logical1,logical2,…):当所有参数的值为假时,返回FALSE;当任意参数的值为真时,返回TRUE。 Logical1,logical2,…:指1到n个需要检验TRUE或FALSE的条件值。 备注: 参数必须是逻辑值,或是含有逻辑值的数组或引用。如果数组或引用中含有文本或空的单元格,则忽略其值。如果在指定的单元格区域中没有逻辑值,AND函数将返回错误信息#NAME?。 示例: OR(1+7=9,5+7=11)等于FALSE。 OR(1+7=8,5+7=11)等于TRUE。
REVERSE(value):返回与value相反的逻辑值。
REVERSE(value):返回与value相反的逻辑值。示例:REVERSE(true)等于false。
switch(表达式,值1,结果1,值2,结果2,...):
switch(表达式,值1,结果1,值2,结果2,...): 如果表达式的结果是值1,整个函数返回结果1 如果表达式的结果是值2,整个函数返回结果2 如果表达式的结果是值3,整个函数返回结果3等等
数组函数
ADD2ARRAY(array, insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
ADD2ARRAY(array, insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。 示例: ADD2ARRAY([3, 4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].? ADD2ARRAY([3, 4, 1, 5, 7], "测试", 3)返回[3, 4, "测试", 1, 5, 7]. 注意: 如果start为小于1的数或者不写start参数,则默认从数组的第一位开始插入数组元素。
ARRAY(arg1,arg2...):返回一个由arg1,arg2,...组成的数组.arg1,arg2,...:字符串或者数字.
ARRAY(arg1,arg2...):返回一个由arg1,arg2,...组成的数组.arg1,arg2,...:字符串或者数字. 示例: ARRAY("hello")=["hello"]. ARRAY("hello","world")=["hello","world"]. ARRAY("hello",98)=["hello",98]. ARRAY(67,98)=[67,98]. 注:当使用公式嵌套数组单元格时,如果数组单元格内实际是单值,会作为单值处理,需要嵌套 ARRAY 公式确保单元格始终作为数组计算。 比如 B2=ARRAY(1), INARRAY(1,ARRAY(B2))。
GREPARRAY(array,fn):函数(返回true或者false)是条件,过滤此数组,最后形成一个新数组。
GREPARRAY(array,fn):函数(返回true或者false)是条件,过滤此数组,最后形成一个新数组。其中,如果fn参数不合法或者元素的名称没有定义成item,会返回原数组。 示例: GREPARRAY([3,4,2,3,6,8,7],item!=3)等于[4,2,6,8,7].
INARRAY(co,array):返回co在数组array中的位置,如果co不在array中,则返回0.
INARRAY(co,array):返回co在数组array中的位置,如果co不在array中,则返回0. 示例: String[]arr={"a","b","c","d"}那么INARRAY("b",arr)等于2.
INDEXOFARRAY(array,index):返回数组array的第index个元素。
INDEXOFARRAY(array,index):返回数组array的第index个元素。 示例: INDEXOFARRAY(["第一个","第二个","第三个"],2)返回"第二个"。
JOINARRAY(array,sepa):返回一个由sepa作为分隔符的字符串。
JOINARRAY(array,sepa):返回一个由sepa作为分隔符的字符串。 array:[arg1,arg2...]格式的数组; sepa:分隔符。 示例: JOINARRAY([1,2],";")=[1;2]. JOINARRAY(["hello","world"],"-")=[hello-world].
MAPARRAY(array,fn):把一个数组中的项目转换到另一个数组中。
MAPARRAY(array,fn):把一个数组中的项目转换到另一个数组中。 array(Array):要转换的数组 fn(Function):处理数组项目的函数 示例: MAPARRAY([3,4,2,3,6,8,7],item!=3)等于[false,true,true,false,true,true,true].
RANGE(from,to,step)函数表示从整数from开始,以step为每一步的大小,直到整数to的一个数字序列。
RANGE(from,to,step)函数表示从整数from开始,以step为每一步的大小,直到整数to的一个数字序列。 例如: RANGE(1,5,1)表示从1开始,直到5(包括5),每一步大小为1,那么它返回一个数字序列为[1,2,3,4,5]。 RANGE(-1,6,2)表示从-1开始,直到6(包括6),每一步大小为2,那么它返回一个数字序列为[-1,1,3,5]。 备注:RANGE函数有三种参数形式: 1. RANGE(to),默认的from为1,step为1,例如:RANGE(4)返回[1,2,3,4]。RANGE(-5)返回[]。 2. RANGE(from,to),默认的step为1,例如:RANGE(-1,3)返回[-1,0,1,2,3]。RANGE(0,5)返回[0,1,2,3,4,5]。 3. RANGE(from,to,step),三个参数的情况参照上面的注释,例如:RANGE(6,-1,-2)返回[6,4,2,0]。RANGE(4,1,1)返回[]。
REMOVEARRAY(array,start,deleteCount):从数组array中删除从第start个元素开始的deleteCount个数组元素,并返回删除后的数组。
REMOVEARRAY(array,start,deleteCount):从数组array中删除从第start个元素开始的deleteCount个数组元素,并返回删除后的数组。 示例:REMOVEARRAY([3,4,4,2,6,7,87],4,2)返回[3,4,4,7,87].
REVERSEARRAY(array):返回数组array的倒序数组。
REVERSEARRAY(array):返回数组array的倒序数组。 示例:REVERSEARRAY(["第一个","第二个","第三个"])返回["第三个","第二个","第一个"].
SLICEARRAY(array,start,end):返回数组从第start个到第end个元素(包括第end个元素)。
SLICEARRAY(array,start,end):返回数组从第start个到第end个元素(包括第end个元素)。 示例: SLICEARRAY([3,4,4,5,1,5,7],3,6)返回[4,5,1,5]. 当不使用end参数时,返回从start开始到数组结束之间的元素。 SLICEARRAY([3,4,4,5,1,5,7],3)返回[4,5,1,5,7].
SORTARRAY(array):返回数组array排过序的数组。当数组元素存在类型不一致或者无法比较时,返回原数组。
SORTARRAY(array):返回数组array排过序的数组。当数组元素存在类型不一致或者无法比较时,返回原数组。 示例: SORTARRAY([3,4,4,5,1,5,7])返回[1,3,4,4,5,5,7]. 注意:数组array的元素类型必须一样,并且要可比较。
UNIQUEARRAY(array):去掉数组array中的重复元素。
UNIQUEARRAY(array):去掉数组array中的重复元素。 示例:UNIQUEARRAY([14,2,3,4,3,2,5,6,2,7,9,12,3])返回[14,2,3,4,5,6,7,9,12].
WRITEARRRAY
报表函数
COL:行
COLCOUNT(tableData):返回tableData中列的个数。
COLCOUNT(tableData):返回tableData中列的个数。 tableData:tableData的名字,字符串形式的。 备注: 先从私有数据源中查找,然后再从公有数据源中查找,返回的是第一个查找到的tableData中列数。 示例: 以我们提供的数据源FRDemo为例新建数据集ds1:SELECT*FROM[CUSTOMER]COLCOUNT("ds1")等于6。
COLNAME(tableData,colIndex)返回的是tableData中列序号colIndex的列名。
COLNAME(tableData,colIndex)返回的是tableData中列序号colIndex的列名。 tableData:表示TableData的名字,字符串形式。 colIndex:表示列序号。 备注: TableData先从私有数据源中查找,再从公有数据源中查找。 示例: COLNAME("Check",3)等于AcceName。 COLNAME("country",4)等于Area。
DECODE
ENCODE
FIELDS(connectionName,tableName):返回tableName这个表中的所有字段名。
FIELDS(connectionName,tableName):返回tableName这个表中的所有字段名。 示例: 数据库BASE中有个名叫task的表的内容如下:name start end a 2008 2009 b 2009 2012,那么FIELDS("BASE","task")等于[name,start,end].
MAP(object,string,int,int):四个参数分别是索引值,数据集的名字,索引值所在列序号,返回值所在列序号。
MAP(object,string,int,int):四个参数分别是索引值,数据集的名字,索引值所在列序号,返回值所在列序号。 提醒: 后两个参数也可以写列名代替。根据数据集的名字,找到对应的数据集,找到其中索引列的值为key所对应的返回值。数据集的查找方式是依次从报表数据集找到服务器数据集。索引列序号与返回值序列号的初始值为1 示例: MAP(1001,"employee",1,2)返回employee数据集,第1列中值为1001那条记录中第2列的值。 MAP(1001,"employee","name","address")返回employee数据集,name列中值为1001那条记录中address列的值。注:只返回第一个找到的值
RECORDS(connection,table,field):返回数据库表table中字段名field下的所有元素。
RECORDS(connection,table,field):返回数据库表table中字段名field下的所有元素。 示例: 数据库BASE中有个名叫task的表的内容如下: name start end a 2008 2009 b 2009 2012 那么RECORDS("BASE","task","end")等于[2009,2012]. RECORDS(connection,table,field,row)返回table中field字段下的第row行的记录,field可以为列名也可以为列号。 RECORDS("BASE","task","end",2)等于2012. RECORDS("BASE","task",2,2)等于2009.
ROW
ROWCOUNT(tableData)返回tableData的行数。
ROWCOUNT(tableData)返回tableData的行数。 tableData:TableData的名字,字符串形式的。 备注: 先从私有数据源中查找,然后再从公有数据源中查找,返回的是tableData的行数。 示例: 以我们提供的数据源FRDemo为例新建数据集ds1:SELECT*FROM[CUSTOMER] ROWCOUNT("ds1")等于20。
SQL(connectionName,sql,columnIndex,rowIndex)返回通过sql语句从connectionName中获得数据表的第columnIndex列第rowIndex行所对应的元素。
SQL(connectionName,sql,columnIndex,rowIndex)返回通过sql语句从connectionName中获得数据表的第columnIndex列第rowIndex行所对应的元素。 connectionName:数据库库的名字,字符串形式; sql:SQL语句,字符串形式; columnIndex:列序号,整型; rowIndex:行序号,整型。 备注: 行序号可以不写,这样返回值为数据列。 示例: 以我们提供的数据源HSQL为例SQL("HSQL","SELECT * FROM CUSTOMER",2,2)等于王先生。
TABLEDATAFIELDS(tableData):返回tableData中所有的字段名。
TABLEDATAFIELDS(tableData):返回tableData中所有的字段名。 备注: 先从报表数据集中查找,然后再从服务器数据集中查找,返回的是tableData的列名组成的数组。 以我们提供的数据源FRDemo为例: 新建数据集ds1:SELECT*FROM[CUSTOMER] TABLEDATAFIELDS("ds1")等于CUSTOMERID,CUSTOMERAME,CITY,COUNTRY,TEL,DISTRICT。
TABLEDATAS():返回报表数据集和服务器数据集名字。
TABLEDATAS():返回报表数据集和服务器数据集名字。 示例: 服务器数据集有:ds1,ds2,ds3; 报表数据集有dsr1,dsr2. TABLEDATAS()等于[dsr1,dsr2,ds1,ds2,ds3]. 而TABLEDATAS(0)返回服务器数据集名字; TABLEDATAS(1)返回报表数据集名字; TABLEDATAS(0)等于[ds1,ds2,ds3]; TABLEDATAS(1)等于[dsr1,dsr2].
TABLEAS(connectionName):返回名为connectionName的数据库中的所有表名。
TABLEAS(connectionName):返回名为connectionName的数据库中的所有表名。 示例: 假设在FRDemo这个数据库中,有3个表:a,b,c; 那么TABLES("FRDemo")等于[a,b,c].
VALUE(tableData,col,row)返回tableData中列号为col的值,行号为row。
VALUE(tableData,col,row)返回tableData中列号为col的值,行号为row。 tableData:tableData的名字,字符串形式的。 row:行号。 col:列号。 备注: 先从报表数据集中查找,然后再从服务器数据集中查找,返回的是tableData的行数。 示例: VALUE("country",5,3)等于SouthAmerica。 VALUE("Simple",8,3)等于jonnason。 VALUE("country",5,"大陆")等于SouthAmerica。 VALUE(tableData,col)返回tableData中列号为col的一列值。 VALUE(tableData,targetCol,orgCol,element)返回tableData中第targetCol列中的元素,这些元素对应的第orgCol列的值为element。 示例: tableData:co 国家 省份 中国 江苏 中国 浙江 中国 北京 美国 纽约 美国 新泽西 VALUE("co",2,1,"中国")等于["江苏","浙江","北京"]。 特别说明: 列号也可以写为列名。VALUE(tableData,targetCol,orgCol,element,idx)返回VALUE(tableData,targetCol,orgCol,element)数组的第idx个值。 特别说明: idx的值小于0时,会取数组的第一个值,idx的值大于数组长度时,会取数组的最后一个值。
i18n为本软件内置的国际化公式,可以对一些常用的词语进行国际化.
i18n为本软件内置的国际化公式,可以对一些常用的词语进行国际化. 示例: i18n('File'),则会在中文语言环境下显示为:文件,而在英文语言环境下显示为:File
TREEDEFAULTPATH(value)根据节点的实际值,在当前下拉树数据字典中找出节点的完整路径,辅助设置下拉树默认值。
TREEDEFAULTPATH(value)根据节点的实际值,在当前下拉树数据字典中找出节点的完整路径,辅助设置下拉树默认值。该公式返回值为完整路径的字符串。如果返回值有多组数据,则单选下拉树只匹配第一组数据,多选下拉树匹配所有数据。 value:为节点的值,只能是实际值。传入单个值时,以 value 格式传入;传入多个值时,以数组格式 ARRAY(value1,value2,.....) 传入;value 为字符串时需要加 "" 。 示例: TREEDEFAULTPATH("南京") 等于"华东","江苏省","南京" TREEDEFAULTPATH(["南京","武汉"])等于"华东","江苏省","南京";"华中","湖北省","武汉"
其他函数
CLASS(object):返回object对象的所属的类。
CORREL(array1,array2):求两个相同长度数据系列的相关系数(与Excel的同名函数作用相同)。
CORREL(array1,array2):求两个相同长度数据系列的相关系数(与Excel的同名函数作用相同)。 如果数组或引用参数包含文本、逻辑值或空白单元格,则这些值将被忽略;但包含零值的单元格将计算在内。 函数计算结果出现负数表示负相关。相关系数的取值范围是[-1,1]之间的数。相关系数的绝对值越大,表示误差越小。 Array1和Array2的数据点的个数必须相同,例如:CORREL([1,2,3],[2,4,6])=1。
EVAL(exp)返回表达式exp计算后的结果。
EVAL(exp)返回表达式exp计算后的结果。 exp:一个表达式形式字符串。 备注: 只要EVAL中的参数exp最终可以转化成一表达式形式的字符串,比如"sum(2,4)","2+7"等等,那么它就可以被计算。 示例: EVAL("2+5")等于7。 EVAL("count(2,3)")等于2。 EVAL("sum"+"(2,3,5)")等于10。 EVAL(IF(true,"sum","count")+"(1,2,3,4)")等于10。 EVAL(IF(false,"sum","count")+"(1,2,3,4)")等于4。
filename(file)获取文件的文件名。当file为单文件时,返回文件名字符串,当file为多文件时,返回文件名的字符串数组。
filename(file)获取文件的文件名。当file为单文件时,返回文件名字符串,当file为多文件时,返回文件名的字符串数组。如果file不为文件类型,则返回错误信息。 示例: 假设文件控件在B2单元格,而B2单元格依次上传了三个不同类型文件{A.doc,C.xls,B.cpt},则filename(B2)返回值为[“A.doc”,“C.xls”,“B.cpt”]。
filesize(file)获取文件的大小,单位为Kb。当file为单文件时,返回文件大小,当file为多文件时,返回文件大小的数组。
filesize(file)获取文件的大小,单位为Kb。当file为单文件时,返回文件大小,当file为多文件时,返回文件大小的数组。如果file不为文件类型,则返回错误信息。 示例: 假设文件控件在B2单元格,而B2单元格依次上传了两个大小分别为100字节和10240字节的文件,则filesize(B2)返回值为[0.098,10.0]。
filetype(file)获取文件的类型。当file为单文件时,返回文件类型字符串,当file为多文件时,返回文件类型的字符串数组。
filetype(file)获取文件的类型。当file为单文件时,返回文件类型字符串,当file为多文件时,返回文件类型的字符串数组。如果file不为文件类型,则返回错误信息。 示例: 假设文件控件在B2单元格,而B2单元格依次上传了三个不同类型文件{A.doc,C.xls,B.txt},则filetype(B2)返回值为[“doc”,“xls”,“txt”]。
GETUSERDEPARTMENTS():返回角色部门
GETUSERDEPARTMENTS():返回角色部门 示例: GETUSERDEPARTMENTS():返回角色所有部门,若多个部门则数组 GETUSERDEPARTMENTS(3,2):返回角色该部门的第三层和第二层名字,若多个部门则返回数组,若没有第三层则只显示第二层
GETUSERJOBTITLES():返回角色职务
GETUSERJOBTITLES():返回角色职务 示例: GETUSERJOBTITLES():返回角色所有职务,若多个部门职务则返回职务数组
INDEX(key,val1,val2,...):返回key在val1,val2,...所组成的序列中的位置,不存在于序列中则返回参数的个数.
INDEX(key,val1,val2,...):返回key在val1,val2,...所组成的序列中的位置,不存在于序列中则返回参数的个数. 备注: key和valn可以是任意类型 如果key在valn中有重复值,则返回找到的第一个值 示例: INDEX(2,2)等于1。 INDEX(2,1,2)等于2。 INDEX(2,4,5,6)等于4。 INDEX("b","b","o","y")等于1。 INDEX(2,2,2)等于1
ISNULL(object):判断对象中所有的值是否全部都是NULL或者为空字符串。
LET(变量名,变量值,变量名,变量值,...,表达式):局部变量赋值函数,参数的个数N必须为奇数,最后一个是表达式,前面是N-1(偶数)为局部变量赋值对。
LET(变量名,变量值,变量名,变量值,...,表达式):局部变量赋值函数,参数的个数N必须为奇数,最后一个是表达式,前面是N-1(偶数)为局部变量赋值对。 变量名:必须是合法的变量名,以字母开头,可以包括字母,数字和下划线。 表达式:根据前面的N-1个参数赋值后计算出来的结果,这些变量赋值只在这个表达式内部有效。 示例: LET(a,5,b,6,a+b)等于11
MEDIAN(array1):返回数据系列的中值(与Excel的同名函数作用相同)。
MEDIAN(array1):返回数据系列的中值(与Excel的同名函数作用相同)。 示例:MEDIAN([1,2,3])=2。
NVL(value1,value2,value3,...):在所有参数中返回第一个不是null的值
NVL(value1,value2,value3,...):在所有参数中返回第一个不是null的值 value1:可以为任意数,也可以为null。 value2:可以为任意数,也可以为null。当字符串长度为0时,返回也为null 示例: NVL(12,20)等于12。 NVL(null,12)等于12。 NVL(null,null)等于null。 NVL(20,null)等于20。 NVL(null,null,10)等于10。
QUERY
RANK(number,ref,order):返回一个数在一个数组中的秩。
RANK(number,ref,order):返回一个数在一个数组中的秩。(如果把这个数组排序,该数的秩即为它在数组中的序号。) Number所求秩的数。(可以是Boolean型,true=1,false=0) Ref可以是数组,引用,或一系列数,非实数的值被忽略处理(接受Boolean型,true=1,false=0)。 Order指定求秩的参数,非零为升序,零为降序 备注 1.RANK对重复的数返回相同的秩,但重复的数影响后面的数的秩,比如,在一组升序排列的整数中,如果5出现了2次,并且秩为3,那么6的秩为5(没有数的秩是4). 示例 A1:A5=6,4.5,4.5,2,4 RANK(A1,A1:A5,1)即6的秩为5. RANK(3,1,2,"go",3,4,1)=3,"go"被忽略。
SEQ():返回数值,在整个报表执行过程中,返回该函数被第几次执行了。
SEQ():返回数值,在整个报表执行过程中,返回该函数被第几次执行了。 示例: SEQ()在第一次执行时,结果为1。 SEQ()在第二次执行时,结果为2。
STDEV(array1):计算数据系列的标准偏差(与Excel的同名函数作用相同)。
STDEV(array1):计算数据系列的标准偏差(与Excel的同名函数作用相同)。 示例:STDEV([1,2,3])=1。
TOIMAGE(path):显示指定路径下的图片。
TOIMAGE(path):显示指定路径下的图片。此处默认开启了图片缓存功能以加速报表的生成.如不需要缓存,请在参数后面追加值FALSE,例如:TOIMAGE("D:/fr.png",false).如需要指定图片大小,拉伸显示,则需要添加参数,TOIMAGE(patch,true,width,height). 示例: TOIMAGE("d:/1.jpg",true,"50%",300),第三个参数为指定宽度,第四个参数为指定高度.如果参数为整数,则直接写数字,如果为百分比,则需要加上引号,如"300%"
UUID():返回随机的UUID。
UUID():返回随机的UUID。 示例: UUID()返回36位随机机器数。 UUID(32)返回32位随机机器数。
TREELAYER
WEBIMAGE(path):显示网页上的图片。
WEBIMAGE(path):显示网页上的图片。可以提升 Web 图片加载速度。 示例:WEBIMAGE('http://www.fanruan.com/images/index2.jpg')。
LUNAR (year, month, day):返回当前日期对应的农历时间。
LUNAR (year, month, day):返回当前日期对应的农历时间。 year,month,day:分别对应年月日。 示例: 如果需要查询2011年7月21日对应的农历时间,则只需输入LUNAR(2011,7,21)结果将显示为:辛卯年六月廿一 同样,如输入LUNAR(2001,7,21),则显示:辛巳年六月初一。 本公式支持的时间段为1900-2100年。
层次坐标函数
ACCSUM(number,range):根据不同的分组对数据进行累计值计算。
ACCSUM(number,range) 函数介绍: 根据不同的分组对数据进行累计值计算。 参数介绍: number:需要进行计算的数据范围 range:累计的分组依据,可以为空 举例: 单元格 A2为年份;B2为月份;C2 为应付金额;A2、B2均纵向扩展,默认父格 ACCSUM(C2),表示对「应付金额」的所有数据进行累计 ACCSUM(C2,A2),表示对「应付金额」按照年份累计,统计每年的应付金额累计值 详细用法外网用户可参见帮助文档:https://help.fanruan.com/finereport/doc-view-4580.html?source=3
COUNTIFS(number,boolean):统计满足某些条件的单元格数量
COUNTIFS(number,boolean) 函数介绍: 统计满足某些条件的单元格数量 参数介绍: number:要计数的数据范围 boolean:判断条件,结果为布尔值true或者false,可使用 &&、|| 进行多个条件的判断;为空时等同于count 举例: 例如:单元格A2 为年份 B2 为月份 C2为应付金额 COUNTIFS(C2,C2>2500),同时公式父格设置为A2,表示不同年份应付金额大于2500的月份个数 COUNTIFS(C2,C2>2500),同时公式无父格,表示所有年份应付金额大于2500的月份个数 详细用法外网用户可参见帮助文档:https://help.fanruan.com/finereport/doc-view-4581.html?source=3 公式本身与计算对象避免有父子格关系,否则可能计算结果错误
SUMIFS(number,boolean):统计满足多个条件的数据总量。
SUMIFS(number,boolean) 函数介绍: 统计满足多个条件的数据总量。 参数介绍: number:要计数的数据范围 boolean:判断条件,结果为布尔值true或者false,可使用 &&、|| 进行多个条件的判断;为空时等同于sum。 举例:例如:单元格A2 为年份 B2 为月份 C2为应付金额 SUMIFS(C2,C2>2500),公式父格设置为A2,表示不同年份应付金额大于2500的月份之和 SUMIFS(C2,C2>2500),公式无父格,表示所有年份应付金额大于2500的月份之和 详细用法外网用户可参见帮助文档:https://help.fanruan.com/finereport/doc-view-4582.html?source=3 公式本身与计算对象避免有父子格关系,否则可能计算结果错误
MOM(range,number,shift,boolean):计算同比或者环比
MOM(range,number,shift,boolean) 函数介绍: 计算同比或者环比 参数介绍: range:判断分组的依据单元格 number:需要进行计算的数据范围 shift: 偏移量,默认为 -1 ,可省略 例如计算每个月与上上个月环比,则输入-2 boolean: 表示横向或纵向扩展,可省略;若不填则默认跟随参数2所在单元格的扩展方向扩展 ture表示纵向扩展,false表示横向扩展 举例: 例如: A1表示年所在列、B1表示月份所在列,C1表示月度产值数据 MOM(B1, C1),表示每月与上月的环比,默认首月环比为0, MOM(A1,C1),由于报表的扩展性质,表示每年与上一年相同月份的比值,即同比,首年同比为0 详细用法外网用户可参见帮助文档:https://help.fanruan.com/finereport/doc-view-4584.html?source=3
PROPORTION(number):计算扩展单元格的各个扩展值在汇总值中的占比
PROPORTION(number) 函数介绍: 计算扩展单元格的各个扩展值在汇总值中的占比 参数介绍:number:要计算占比的数据范围 举例: 例如:A1是纵向扩展的各区域销售额 PROPORTION(A1)则表示各区域的销售额相对于总销售额的占比 详细用法外网用户可参见帮助文档https://help.fanruan.com/finereport/doc-view-4583.html?source=3
SORT(number,boolean,boolean2,range):排名。
SORT(number,boolean,boolean2,range) 函数介绍: 排名。 参数介绍: number:需要进行排名的数据范围 boolean1:设置升降序,可省略 默认 true :即降序排名 false:升序排名 boolean2:设置并列排名后是否跳号,可省略 默认true:即不跳号 即并列排名后,后续排名不跳号,例如1,2,3,3,4 false:跳号,即并列排名后,后续排名跳号,例如1,2,3,3,5 range: 设置分组的依据,即是否需要组内排名,可省略 默认省略:无分组依据,对所有数据进行排名 不省略:按照分组依据进行组内排名 举例: B1表示学生成绩 SORT(B1):基于A1不跳号排名(即并列排名后,后续排名不跳号,例如1,2,3,3,4) SORT(B1,false):基于A1升序不跳号排名 SORT(B1,ture,false):基于A1降序跳号排名 SORT(B1,ture,false,A1):基于B1按照A1分组进行组内降序跳号排名 详细用法外网用户可参见帮助文档:https://help.fanruan.com/finereport/doc-view-4585.html?source=3
插件函数
DecryptDes
DES解密。第一个参数为要解密的文本,第二个参数为解密所需要的key。
EncryptDes
DES加密。第一个参数为要加密的文本,第二个参数为加密的key。
EncryptMD5Hex
MD5加密
EncryptSha256Hex
SHA256加密
EncryptSha384Hex
Sha384加密
EncryptSha512Hex
Sha512加密
EncryptShaHex
SHA加密
HtmlFinders:Html页面元素查找函数
Html页面元素查找函数。第一个参数为要查找的html页面的地址,第二个参数为查询的dom标记。HtmlFinder("http://www.baidu.com", "a[href]")可以查找到baidu首页的所有超级链接内容。其他语法规则可以参看这里:https://jsoup.org/cookbook/extracting-data/selector-syntax
Image:将给定的参数转换为图片
将给定的参数转换为图片,支持本地文件、远程文件以及相对路径。
JSONPathFinder:根据JSON查询语句从给定的JSON内容中查询出结果
根据JSON查询语句从给定的JSON内容中查询出结果。
MathFrequency: 统计单词出现的次数和频率
统计单词出现的次数和频率。MathFrequency([1, 3, 2, 4, 2], 3)返回1,表示数组中3出现了一次,如果给定了第三个参数(可以为任意值,比如:1),则返回0.2,表示3出现的频率为0.2。
MathGeometricMean:求数组中元素的几何平均数
求数组中元素的几何平均数。
MathMean:求数组中元素的算术平均数。
求数组中元素的算术平均数。
MathPopulationStandardDeviation: 求数组中元素的总体标准差。
求数组中元素的总体标准差。
MathStandardDeviation:求数组中元素的样本标准差。
求数组中元素的样本标准差。
MathSumOfSquares: 求数组中元素的平方和。
求数组中元素的平方和。
MathVariance:求数组中元素的方差。
求数组中元素的方差。
ProcessErrorValue: 处理返回错误值的公式
处理返回错误值的公式。ProcessErrorValue(SQRT(), "错误的值"),由于SQRT函数没有给定参数,直接使用的情况下是会返回#NAME的,而用了这个函数,就会返回第二个参数给定的值了(默认为空字符串)。
NumberToEnglish: 将数字翻译成英文
将数字翻译成英文。NumberToEnglish("1234567")将返回One Million, Two Hundred And Thirty-Four Thousand, Five Hundred And Sixty-Seven。
ScriptEval:函数中支持JavaScript脚本。ScriptEval()
函数中支持JavaScript脚本。ScriptEval()
StringConditionConcat([]):根据条件拼接给定数组中的符合条件的元素,内置参数index表示索引位置,item表示元素值。
根据条件拼接给定数组中的符合条件的元素,内置参数index表示索引位置,item表示元素值。StringConditionConcat(["两个", "b", "黄鹂", "asd", "鸣翠柳"], index % 2 = 1)将会输出两个黄鹂鸣翠柳。
StringFetch:根据正则表达式提取符合的字符串,最终返回一个数组
根据正则表达式提取符合的字符串,最终返回一个数组,如果有第三个参数,则表示返回数组中第三个参数表示的索引位置的值。StringFetch("2012-08-12 2012-12 abcde 2012-08-23", "\\d{4}[ /-]{1}\\d{2}([ /-]{1}\\d{2})?")将返回2012-08-12,2012-12,2012-08-23。StringFetch("2012-08-12 2012-12 abcde 2012-08-23", "\\d{4}[ /-]{1}\\d{2}([ /-]{1}\\d{2})?", 2)将返回2012-08-23。
StringFind:查找字符串包含的字字符串的索引。
查找字符串包含的字字符串的索引。StringFind("have a good time", "a"),返回a在字符串中第一次出现的位置,函数可以传递第三个参数,false表示从尾部开始查找。
StringMatch:判断字符串是否符合特定的正则表达式。
判断字符串是否符合特定的正则表达式。StringMatch("abcdefg", "(.*)abc(.*)")返回true。
StringPinyin:输出给定字符串的拼音。
输出给定字符串的拼音。StringPinyin("你好啊", " ", 1)返回这个字符串的拼音。第二个参数表示拼音之间的间隔符,第三个参数表示拼音的输出格式,1表示不输出音调,-1表示音调用数字表示。
StringReverse:反转字符串
反转字符串
StringShortPinyin:输出给定字符串的拼音首字母(小写)。
输出给定字符串的拼音首字母(小写)。
StringSwapCase: 交换字符串中字母的大小写。
交换字符串中字母的大小写。StringSwapCase("abcDeFg", "bc")返回ABCdEfG。