润乾常用函数数值计算
函数说明:abs(numberExp)
计算参数的绝对值
语法:
abs(numberExp)
参数说明:
numberExp 待计算绝对值的数据
返回值:
数值型
示例:
例1:abs(-3245.54) 返回:3245.54
例2:abs(-987) 返回:987
函数说明:cos(numberExp)
计算参数的余弦值,其中参数以弧度为单位
相关的函数有sin() 计算参数的正弦值
tan() 计算参数的正切值
语法:
cos(numberExp)
参数说明:
numberExp 待计算余弦值的弧度数
返回值:double型
示例:
例1:cos(pi()) 返回:-1
例2:cos(pi(2)) 返回:1
函数说明:eval( StringExp )
动态解析并计算表达式
语法:
eval( StringExp )
eval( StringExp, SubRptExp )
eval( StringExp, DataSetExp )
参数说明:
StringExp 待计算的表达式串
SubRptExp 嵌入式子报表对象,一般是含有子报表的单元格
DataSetExp 数据集对象,一般是ds函数
返回值:表达式的结果值,数据类型由表达式决定
示例:
例1:eval( "1+5" ) 返回6
例2:eval("B2+10", A1) 其中A1为嵌入式子报表,表示计算A1子报表中的B2+10 例3:eval("salary+100", ds("ds1")) 表示计算数据集ds1中salary加100
函数说明:exp(nExp)
计算e的n次幂
语法:
exp(nExp)
参数说明:
nExp 指定次幂数
返回值:数值型
示例:
例1:exp(4.3) 返回:73.69979369959579
函数说明:fact(nExp)
计算参数的阶乘
语法:
fact(nExp)
参数说明:
nExp 待计算阶乘的数据
返回值:长整数(64位)
示例:
例1:fact(10) 返回:3628800
函数说明:fill(s, n)
获得n个s拼成的字符串
相关函数:space() 产生一个空串
语法:
fill(s, n)
参数说明:
s 用于拼成新串的源串
n 新串中包含源串的个数
返回值:字符型
示例:
例1:fill("1 ",10) 返回:"1 1 1 1 1 1 1 1 1 1 "
例2:fill("a b",10) 返回:"a ba ba ba ba ba ba ba ba ba b"
函数说明:fl oat(string)
将单精度浮点数、双精度浮点数、字符串转换为32位的单精度浮点型语法:
float(string)
float(number)
参数说明:
string 需要转换的单精度浮点数、双精度浮点数表达式
number 数字
返回值:32位的单精度浮点数
示例:
例1:float("1234567") 返回:1234567.0
例2:float(1234567.0) 返回:1234567.0
例3:float(1234567) 表达式提示错误,因为1234567不是浮点数函数说明:fl oor(numberExp, {nExp})
对数据在指定位置上进行截取,剩余部分只要有值全舍去
相关的函数有:
ceil:对数据在指定位置上进行截取,剩余部分只要有值就进位
round:对数据在指定位置上进行截取,剩余部分四舍五入语法:
floor(numberExp, {nExp})
参数说明:
numberExp 需要进行截取的数据
nExp 整数,用于指定需要进行截取的位置,
>0:从小数点往右位移nExp个位数,
<0:从小数点往左移nExp个位数
=0:表示当前小数点的位置
返回值:数值型
示例:
例1:=floor(3451231.234,0) 返回:3451231.0
例2:=floor(3451231.234,-1) 返回:3451230.0
例3:=floor(3451231.234,-2) 返回:3451200.0
例4:=floor(3451231.234,1) 返回:3451231.2
例5:=floor(3451231.234,2) 返回:3451231.23
涵数说明:log(numberExp)
计算参数的自然对数
相关函数:log10() 计算以10为底的对数
语法:
log(numberExp
参数说明:
numberExp 需要计算自然对数的数据
返回值:数值型
示例:
例1:log(54) 返回:3.5 函数说明:log10(numberExp)
计算以10为底的对数
相关函数:log() 计算自然对数
语法:
log10(numberExp)
参数说明:
numberExp 需要计算以10为底的对数的数据返回值:数值型
示例:
例1:log10(54) 返回:1.4 函数说明:pi(numberExp)
计算圆周率及其倍数
语法:
pi(numberExp)
参数说明:
numberExp 倍数,此参数省略,则返回圆周率返回值:圆周率及其倍数
示例:
例1:pi() 返回:3.
例2:pi(2) 返回:6.
函数说明:pow(xExp, nExp)
计算x的n次幂
语法:
pow(xExp, nExp)
参数说明:
xExp 底数
nExp 次幂
示例:
例1:pow(2,4) 返回:16.0
函数说明:round(numberExp, {nExp})
对数据在指定位置上进行截取,剩余部分四舍五入
相关的函数有:
ceil:对数据在指定位置上进行截取,剩余部分只要有值就进位
floor:对数据在指定位置上进行截取,剩余部分只要有值全舍去语法:
round(numberExp, {nExp})
参数说明:
numberExp 需要进行截取的数据
nExp 整数,用于指定需要进行截取的位置,
>0:从小数点往右位移nExp个位数,
<0:从小数点往左移nExp个位数
=0:表示当前小数点的位置
返回值:数值型
示例:
例1:=round(3451251.274,0) 返回:3451251.0
例2:=round(3451251.274,-1) 返回:3451250.0
例3:=round(3451251.274,-2) 返回:3451300.0
例4:=round(3451251.274,1) 返回:3451251.3
例5:=round(3451251.274,2) 返回:3451251.27
函数说明:sin(number)
计算参数的正弦值,其中参数以弧度为单位
相关的函数有cos() 计算参数的余弦值
tan() 计算参数的正切值
语法:
sin(number)
参数说明:
number 需要计算正弦值的弧度数
示例:
例1:sin(pi()) 返回:1.2E-16
例2:sin(pi(2)) 返回:-2.4E-16 例3:sin(pi()/2) 返回:1.0
函数说明:sqrt(number)
计算平方根
语法:
sqrt(number)
参数说明:
number 需要计算平方根的数据
返回值:
数值型
示例:
例1:sqrt(100) 返回:10.0
例2:sqrt(99) 返回:9.9498743710662
函数说明:tan(number)
计算参数的正切值,其中参数以弧度为单位
相关的函数有sin() 计算参数的正弦值
cos() 计算参数的余弦值
语法:
tan(number)
参数说明:
需要计算正切值的弧度数
返回值:double型
示例:
例1:tan(pi()/2) 返回:1.E16
例2:tan(pi(2)) 返回:-2.4E-16
函数说明:sum(expression)
对可扩展单元格或集合表达式进行求和
语法:
sum(expression)
sum(cellExp,exp)
参数说明:
expression 需要被求和的单元格或表达式,一般为可扩展单元格或集合表达式 cellExp 单元格或单元格集合,以cellExp里的单元格为当前格计算表达式exp exp 表达式
返回值:实数或者字符型,由被汇总的单元格数据类型决定
示例:
例1:sum(A1:A10) 求出单元格A1至A10的合计值,被统计单元格可以是数值型也可以是字符型
例2:sum(arg1) 其中arg1是参数组,求出arg1中所有元素的合计值
例3:sum(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的合计值例4:sum(B1[`0]{}) 表示求得根坐标下所有扩展后的B1单元格的合计值
例5:sum(A1[`0]{},B1+C1) 计算分别与每个A1相对应的B1、C1的和的合计值日期
函数说明:age(dateExp{,typeExp})
计算从参数定义的时间到当前间隔的整年数
语法:
age(dateExp{,typeExp})
age(stringExp,formatExp{,typeExp})
参数说明:
dateExp 日期型表达式,运算的结果是日期型(Date)
stringExp 表达式,其结果必须为日期或中国日期时间格式的字符串
formatExp 格式化表达式比如"yyyyMMdd","yyyy-MM-dd"等
typeExp 计算精确的最小单位1为日,2为月,3为年,缺省为日返回值:
整数
示例:
假设今天为2007.1.1
例1:age(datetime2("19800227","yyyyMMdd")) 结果为26
例3:age("19800227","yyyyMMdd",3) 结果为27
函数说明:date(stringExp)
将字符串转换成日期型数据
语法:
date(stringExp)
参数说明:
stringExp 字符串表达式,其结果必须返回合法日期格式的字符串
要求格式为yyyy-MM-dd,不含时间,如果含了时间,时间部分不转换返回值:日期时间型,但是时间部分都为00:00:00
示例:
例1:date("1982-08-09") 返回日期:1982-08-09 00:00:00
例2:date("1982-08-09 10:20:30") 返回日期:1982-08-09 00:00:00
函数说明:dateTime(string)
将字符串或长整数转换成日期时间
语法:
dateTime(string)
dateTime(long)
参数说明:
string 格式为yyyy-MM-dd HH:mm:ss的字符串
long 以微秒计的长整数
返回值:日期时间
示例:
例1:dateTime("2006-01-01 10:20:30") 返回:2006-01-01 10:20:30
例2:dateTime("2006-01-01 10:20:30:111") 返回:2006-01-01 10:20:30
例3:dateTime(12345) 返回:1970-01-01 08:00:12
函数说明:datetime2(string, format)
将各种格式的日期字符串转换成日期时间型数据,转换时可以指定字符串的当前格式语法:
datetime2(string, format)
参数说明:
string 各种格式的日期字符串
format 用于说明参数1的格式串
返回值:日期时间型数据
示例:
例1:datetime2("12/28/1972","MM/dd/yyyy") 返回:1972-12-28 00:00:00 例2:datetime2("12/28/1972 10:23:43","MM/dd/yyyy hh:mm:ss") 返回:1972-12-28 10:23:43
例3:datetime2("19800227","yyyyMMdd") 返回:1980-02-27 00:00:00 例4:datetime2("1982年12月30日","yyyy年MM月dd日") 返回:1982-12-30 00:00:00
函数说明:day(dateExp)
从日期型数据中获得该日在本月中是几号
语法:
day(dateExp)
参数说明:
dateExp 表达式,其结果必须为日期或中国日期时间格式的字符串返回值:整数
示例:
例1:day(datetime2("19800227","yyyyMMdd")) 返回:27
例2:day(dateTime(12345)) 返回:1
例3:day(dateTime("2006-01-15 10:20:30")) 返回:15
函数说明:dayName(dateExp)
从日期型数据中获得该日的星期名称
语法:
dayName(dateExp)
参数说明:
dateExp 日期或
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:字符型
示例:
例1:dayName(datetime2("19800227","yyyyMMdd")) 返回:星期三
例2:dayName(dateTime(12345)) 返回:星期四
例3:dayName(dateTime("2006-01-15 10:20:30")) 返回:星期日
例4:dayName("12:14:34") 返回:星期四
例5:dayName("1972-11-08") 返回:星期三
例6:dayName("1972-11-08 10:20:30") 返回:星期三
函数说明:dayNo(dateExp)
从日期型数据中,获得该日位于一个星期中的第几天,星期天返回1,星期一返回2,依此类推
语法:
dayNo(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:整数
示例:
例1:dayNo(dateTime2("19800227","yyyyMMdd")) 返回:4
例2:dayNo(dateTime("2006-01-15 10:20:30")) 返回:1
例3:dayNo("1972-11-08 10:20:30") 返回:4
函数说明:daysAfter(dateExp1, dateExp2)
计算两个日期型数据相差几天
语法:
daysAfter(dateExp1, dateExp2
参数说明:
dateExp1 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss dateExp2 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss 返回值:整数
示例:
例1:daysAfter(dateTime("1983-12-15 10:20:30"),datetime2("1982年12月30日","yyyy年MM月dd日"))
返回:-350
例2:daysAfter("1983-12-15 10:20:30","1982-12-30") 返回:-350
函数说明:daysInMonth(dateExp)
获得指定日期所在月的天数
语法:
daysInMonth(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss 返回值:整数
示例:
例1:daysInMonth(datetime2("19800227","yyyyMMdd")) 返回:29
例2:daysInMonth("1972-11-08 10:20:30") 返回:30
例3:daysInMonth(dateTime("2006-01-15 10:20:30")) 返回:31
函数说明:daysInYear(dateExp)
获得指定日期所在年或者指定年份的天数
语法:
daysInYear(dateExp)
daysInYear(year)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
year 返回整数的表达式
返回值:整数
示例:
例1:daysInYear(datetime2("19800227","yyyyMMdd")) 返回:366 例2:daysInYear(dateTime("2006-01-15 10:20:30")) 返回:365
例3:daysInYear("1972-11-08 10:20:30") 返回:366
例4:daysInYear(2006) 返回:365
函数说明:hour(datetimeExp)
从日期时间型数据中,获得当前时间位于一天中的第几个时辰语法:
hour(datetimeExp)
参数说明:
datetimeExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss 返回值:整数
示例:
例1:hour("1983-12-15") 返回:0
例2:hour("1983-12-15 10:30:25") 返回:10
例3:hour(dateTime("2006-01-15 13:20:30")) 返回:13
函数说明:lastday(dateExp)
获得指定日期的上一天
语法:
lastday(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:日期时间型
示例:
例1:lastday("1972-11-08 10:20:30") 返回:1972-11-07 10:20:30
例2:lastday(datetime2("19800227","yyyyMMdd")) 返回:1980-02-26 00:00:00 例3:lastday(dateTime("2006-01-15 10:20:30")) 返回:2006-01-14 10:20:30
函数说明:lastmonth( dateExp )
取得指定日期在上月的同日,若无同一日,则返回上月月末
语法:
lastmonth( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:日期时间型
示例:
例1:lastmonth(datetime2("19800227","yyyyMMdd")) 返回:1980-01-27 00:00:00 例2:lastmonth("1972-11-08 10:20:30") 返回:1972-10-08 10:20:30
例3:lastmonth(dateTime("2006-01-15 10:20:30")) 返回:2005-12-15 10:20:30
函数说明:lastyear( dateExp )
取得指定日期在去年的同月同日,若无同月同日,则返回去年同月最后一天语法:
lastyear( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd,HH:mm:ss
返回值:日期时间型
示例:
例1:lastyear(datetime2("19800227","yyyyMMdd")) 返回:1979-02-27 00:00:00 例2:lastyear("1972-11-08 10:20:30") 返回:1971-11-08 10:20:30
例3:lastyear(dateTime("2006-01-15 10:20:30")) 返回:2005-01-15 10:20:30
函数说明:minute(datetimeExp)
从日期时间型数据中,获得分钟的信息
语法:
minute(datetimeExp)
参数说明:
datetimeExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:整数
示例:
例1:minute(datetime2("19800227","yyyyMMdd")) 返回:0
例2:minute("1972-11-08 10:20:30") 返回:20
例3:minute(dateTime("2006-01-15 13:20:30")) 返回:20
函数说明:month(dateExp)
取得指定日期所在的月份
语法:
month(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:整数
示例:
例1:month(datetime2("19800227","yyyyMMdd")) 返回:2
例2:month("1972-11-08 10:20:30") 返回:11
例3:month(dateTime("2006-01-15 13:20:30")) 返回:1
函数说明:monthbegin( dateExp )
取得指定日期所在月的月首
语法:
monthbegin( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:
日期时间型
示例:
例1:monthbegin(datetime2("19800227","yyyyMMdd")) 返回:1980-02-01
00:00:00
例2:monthbegin("1972-11-08 10:20:30") 返回:1972-11-01 10:20:30
例3:monthbegin(dateTime("2006-01-15 13:20:30")) 返回:2006-01-01 13:20:30 函数说明:monthend( dateExp )
取得指定日期所在月的月末
语法:
monthend( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:日期时间型
示例:
例1:monthend(datetime2("19800227","yyyyMMdd")) 返回:1980-02-29 00:00:00 例2:monthend("1972-11-08 10:20:30") 返回:1972-11-30 10:20:30
例3:monthend(dateTime("2006-01-15 13:20:30")) 返回:2006-01-31 13:20:30 函数说明:now()
获得系统此刻的日期时间
语法:
now()
返回值:日期时间
函数说明:quaterbegin( dateExp )
取得指定日期所在季度的首日
语法:
quaterbegin( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss\ 返回值:日期时间\
示例:
例1:quaterbegin(datetime2("19800227","yyyyMMdd")) 返回:1980-01-01
00:00:00\
例2:quaterbegin("1972-11-08 10:20:30") 返回:1972-10-01 10:20:30\
例3:quaterbegin(dateTime("2006-01-15 13:20:30")) 返回:2006-01-01 13:20:30\ 函数说明:quaterend( dateExp )
取得指定日期所在季度的末日
语法:
quaterend( dateExp )
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:日期时间
示例:
例1:quaterend(datetime2("19800227","yyyyMMdd")) 返回:1980-03-31 00:00:00 例2:quaterend("1972-11-08 10:20:30") 返回:1972-12-31 10:20:30
例3:quaterend(dateTime("2006-01-15 13:20:30")) 返回:2006-03-31 13:20:30 函数说明:relDate(dateExp, nExp)
从给定的日期型数据中,算出相差n天后的新的日期数据
语法:
relDate(dateExp, nExp)
参数说明:
dateExp 给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串,如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss nExp 整数表达式,需要求得nExp天后的新日期
返回值:日期时间
示例:
例1:relDate(datetime2("19800227","yyyyMMdd"),5) 返回:1980-03-03 00:00:00 例2:relDate("1972-11-08 10:20:30",-10) 返回:1972-10-29 10:20:30
例3:relDate(dateTime("2006-01-15 13:20:30"),15) 返回:2006-01-30 13:20:30
函数说明:relTime(datetimeExp, nExp)
从给定的日期时间型数据中,算出相差n秒后的新的日期时间数据语法:
relTime(datetimeExp, nExp)
参数说明:
datetimeExp 给定的起始日期表达式,其结果必须为日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss nExp 整数表达式,需要求得nExp秒后的新日期时间
返回值:日期时间
示例:
例1:relTime(datetime2("19800227","yyyyMMdd"),5) 返回:1980-02-27 00:00:05 例2:relTime("1972-11-08 10:20:30",-10) 返回:1972-11-08 10:20:20
例3:relTime(dateTime("2006-01-15 13:20:30"),15) 返回:2006-01-15 13:20:45 函数说明:second(datetimeExp)
从日期时间型数据中,获得秒信息
语法:
second(datetimeExp)
参数说明:
datetimeExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:整数
示例:
例1:second(datetime2("19800227","yyyyMMdd")) 返回:0
例2:second("1972-11-08 10:20:30") 返回:30
例3:second(dateTime("2006-01-15 13:20:45")) 返回:45
函数说明:secondsAfter(datetimeExp1,datetimeExp2)
计算两个日期时间型数据相差几秒
语法:
secondsAfter(datetimeExp1,datetimeExp2)
参数说明:
datetimeExp1 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss datetimeExp2 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:整数
示例:
例1:secondsAfter(datetime2("19800227","yyyyMMdd"),dateTime("1980-02-27 00:00:45")) 返回:45
例2:secondsAfter("1972-11-08 10:20:30","1972-11-08 10:30:50") 返回: 620
函数说明:time(stringExp)
将字符串转换成时间型数据
语法:
time(stringExp)
参数说明:
stringExp HH:mm:ss格式的字符串
返回值:时间型数据
示例:
函数说明:weekbegin(dateExp)
获得指定日期所在星期的星期天,这里认定星期天为一周的开始
语法:
weekbegin(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:日期时间型
示例:
例1:weekbegin(datetime2("19800227","yyyyMMdd")) 返回:1980-02-24 00:00:00 例2:weekbegin("1972-11-08 10:20:30") 返回:1972-11-05 10:20:30
例3:weekbegin(dateTime("2006-01-15 13:20:45")) 返回:2006-01-15 13:20:45 函数说明:weekend(dateExp)
获得指定日期所在星期的星期六,这里认定星期六为一周的结束
语法:
weekend(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:日期时间型
示例:
例1:weekend(datetime2("19800227","yyyyMMdd")) 返回:1980-03-01 00:00:00 例2:weekend("1972-11-08 10:20:30") 返回:1972-11-11 10:20:30
例3:weekend(dateTime("2006-01-15 13:20:45")) 返回:2006-01-21 13:20:45 函数说明:year(dateExp)
从日期型数据中获得年信息
语法:
year(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,
如:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 或HH:mm:ss 返回值:整数
示例:
例1:year(datetime2("19800227","yyyyMMdd")) 返回:1980
例2:year("1972-11-08 10:20:30") 返回:1972
例3:year(dateTime("2006-01-15 13:20:45")) 返回:2006
字符串
函数说明:asc( string{, nPos} )
取字符串指定位置的字符的unicode值,如果是ascii字符则返回ascii码
(一般来说,英文字符及其扩展字符都是ascii字符,中文、日文、韩文等
亚洲字符都是unicode字符,ascii字符为8位,unicode字符为16位(其中有3位用于标志字符类型))
相关函数:char() 根据给定的unicode编码或者ascii码取得其对应的字符语法:
asc( string{, nPos} )
参数说明:
string 给定的字符串
nPos 整数表达式,缺省为0
返回值:整数
示例:
例1:=asc("def") 返回:100 (ascii)
例2:=asc("def",1) 返回:101 (ascii)
例3:=asc("中国") 返回:20013 (unicode)
例4:=asc("中国",1) 返回:22269 (unicode)
函数说明:d eicmal(stringExp)
将字符串或数字型数值转换成大浮点数
语法:
deicmal(stringExp)
decimal(numberExp)
参数说明:
stringExp 给定数字串,可含小数点
numberExp 数值,只能少于等于64位,超过64位就要用字符串返回值:大浮点数BigDecimal
示例:
例1:decimal("901234567890") 返回: 901234567890
例2:decimal(6) 返回:6(BigDecimal 类型)
函数说明:left(string, n)
获得源字符串左边的子串
相关函数:mid() 获得源字符串中间的子串
right() 获得源字符串右边的子串
语法:
left(string, n)
参数说明:
string 获得子串的源串
n 获得子串的长度
返回值:字符型
示例:
例1:left("abcdefg",3) 返回:"abc"
函数说明:len(s)
计算字符串的长度
语法:
len(s)
参数说明:
s 待计算长度的字符串
返回值:整数
示例:
例1:len("adfg") 返回:4
例2:len(" abd ") 返回:7
函数说明:long( string )
将字符串或数字转换成64位长整数
语法:
long( string )
long( number )
参数说明:
string 需要转换的字符串表达式
number 数字,如果带有小数,则小数部分被截掉返回值:64位长整数
示例:
例1:long("1234567") 返回:1234567
例2:long(1234567.789) 返回:1234567
函数说明:lower(s)
将字符串转成小写
相关函数:upper() 把字符串转成大写
word_cap() 将字符串每一个单词的首字母大写语法:
lower(s)
参数说明:
s 待转成小写的字符串
返回值:字符型
示例:
例1:lower("ABCdef") 返回:"abcdef"
例2:lower("defABC") 返回:"defabc"
函数说明:ltrim(s)
去掉字符串左边的空格
相关函数:rrim() 去掉字符串右边的空格
trim() 去掉字符串左右的空串
语法:
ltrim(s)
参数说明:
s 准备去掉左边空格的源串
返回值:字符串型
示例:
例1:ltrim(" abc def ") 返回:"abc def "
例2:ltrim("def abc ") 返回:"def abc "
函数说明:maxwidth()
求当前列中所有非合并格的显示串的最大字符长度
(注意:ASCII码大于255的字符长度为2)
语法说明:
maxwidth()
返回值:整数
示例:
一般用于列首格中,动态控制列宽
例1:在列首格的单元格宽属性中写入8*maxwidth(),表示动态调整当前列宽为单元格显示值最大字符长度*8个像素
函数说明:mid(s, start{, end})
返回字符串的子串
相关函数:left() 获得源字符串左边的子串
right() 获得源字符串右边的子串
语法:
mid(s, start{, end})
参数说明:
s 待获得子串的源串
start 获得子串的起始位置
end 获得子串的结束位置,缺省为源串的长度
返回值:字符串型
示例:
例1:mid("abcde",0) 返回:abcde
例2:mid("abcde",1,2) 返回:b
例3:mid("abcde",3) 返回:de
函数说明:pos(s1, s2{, begin})
查找母串中子串的位置
语法:
pos(s1, s2{, begin})
参数说明:
s1 待查找子串的母串
s2 被查找的子串
begin 查找的起始位置,缺省为0 返回值:整数
示例:
例1:pos("abcdef","def") 返回:3
例2:pos("abcdefdef","def",5) 返回:6
函数说明:right(s, n)
获得字符串右边的子串
相关函数:left() 获得源字符串左边的子串mid() 获得源字符串中间的子串语法:
right(s, n)
参数说明:
s 待获得子串的源串
n 获得子串的长度
返回值:字符串型
示例:
例1:right("abced",2) 返回:"ed"
函数说明:rmQuote(exp)
删除表达式里的引号,包括单引号和双引号语法:
rmQuote(exp)
参数说明:
exp 表达式
返回值:字符串
函数说明:rplc( srcExp,subStrA,rplcStrB{,boolExp})
将字符串src的子字符串a变为字符串b,
语法:
rplc( srcExp,subStrA,rplcStrB{,boolExp})
参数说明:
srcExp 源字符串
subStrA 源字符串的子字符串
rplcStrB 将要替换成的字符串
boolExp 引号里的字符是否需要变换,缺省为true
返回值:替换后的字符串
示例:
例1:rplc("abc'abc'def","a","中国") 返回:"中国bc'中国bc'def"
例2:rplc("abc'abc'def","a","中国",false) 返回:"中国bc'abc'def"
例3:rplc("abc'abc'def","a","中国",true) 返回:"中国bc'中国bc'def"
函数说明:rtrim(s)
去掉字符串右边的空格
相关函数:ltrim() 去掉字符串左边的空格
trim() 去掉字符串左右的空串
语法:
rtrim(s)
参数说明:
s 准备去掉右边空格的源串
返回值:字符串型
示例:
例1:rtrim(" abc def ") 返回:" abc def"
例2:rtrim("def abc ") 返回:"def abc"
函数说明:space(n)
产生一个空串
相关函数:fill() 获得n个s拼成的字符串
语法:
space(n)
参数说明:
n 生成空串的长度
返回值:字符串型,获得n个空格拼成的字符串
示例:
例1:space(5) 返回:" "
函数说明:split( srcExp,sepExp{,boolExp})
将字符串按分割符分割成多个子串
语法:
split( srcExp,sepExp{,boolExp})
参数说明:
srcExp 待分割的字符串表达式
sepExp 分隔符表达式
boolExp bool型,是否解析引号、括号里的分隔符,
为true时解析,为false时不解析,缺省为false
返回值:分割后的字符串列表
示例:
例1:=split("ab;cd;ef;tg;tt",";") 返回数组:["ab","cd","ef","tg","tt"]
例2:=split("ab;c'd;e'f;tg;tt",";",false) 返回数组:["ab","c'd;e'f","tg","tt"]不解析引号里的分隔符
例3:=split("ab;c[d;e]f;tg;tt",";",false) 返回数组:["ab","c[d;e]f","tg","tt"]不解析括号里的分隔符
例4:=split("ab;c'd;e'f;tg;tt",";",true) 返回数组:["ab","c'd","e'f","tg","tt"]解析引号里的分隔符
例5:=split("ab;c[d;e]f;tg;tt",";",true) 返回数组:["ab","c[d","e]f","tg","tt"]解析括号里的分隔符
函数说明:trim(s)
去掉字符串左右的空串
相关函数:right_trim() 去掉字符串右边的空格
left_trim() 去掉字符串左边的空格
语法:
trim(s)
参数说明:s 待去掉左右空串的源串
返回值:字符串型
示例:
例1:trim(" abc ") 返回:"abc"
例2:trim(" a bc ") 返回:"a bc"
函数说明:upper(s)
把字符串转成大写
相关函数:lower() 把字符串转成小写
word_cap() 将字符串每一个单词的首字母大写
语法:
upper(s)
参数说明:
s 待转成大写的源串
返回值:字符串型
示例:
例1:upper("ABCdef") 返回:"ABCDEF"
例2:upper("abcDEF") 返回:"ABCDEF"
函数说明:wordCap(s)
将字符串每一个单词的首字母大写
相关函数:upper() 把字符串转成大写
lower() 把字符串转成小写
语法:
wordCap(s)
参数说明:
s 需要将单词首字母大写的源串
返回值:字符串型
示例:
例1:wordCap("I love my country") 返回:"I Love My Country"
例2:wordCap("she is beautiful") 返回:"She Is Beautiful"
单元格
函数说明:avg(expression{,containNull})
对可扩展单元格或集合表达式求平均值
语法:
avg(expression{,containNull})
average(expression{,containNull})
参数说明:
expression 需要求平均值的单元格或表达式,一般为可扩展单元格或集合表达式
containNull 是否对null元素进行计数
返回值:实数
示例:
例1:avg(A1:B10) 求得A1至B10之间单元格的平均值,注意是以当前格为基格计算A1和B10
例2:avg(arg1) 其中arg1是整数组,表示求得arg1中所有数据的平均值
例3:avg(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的平均值例4:avg(B1{`0}{}) 表示求得根坐标下所有扩展后的B1单元格的平均值
例5:avg(list(2,4,null),false)返回3,如果containNull为true或缺省则返回2
函数说明:avg2(cellExp,exp{,containNull})
以指定单元格集的元素为基格计算表达式求平均值
语法:
avg2(cellExp,exp{,containNull})
参数说明:
cellExp 单元格或单元格集合,以cellExp里的单元格为当前格计算表达式exp
exp 表达式
containNull 是否对null元素进行计数
返回值:实数
示例:
例1:avg2(A1[`0]{},B1+C1) 计算分别与每个A1相对应的B1、C1的和的平均值
函数说明:call(sqlStatement{,arg1{,arg2{,arg3{,……}}}})
执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个字段,则返回第一个字段的结果值
语法:
call(sqlStatement{,arg1{,arg2{,arg3{,……}}}})
参数说明:
sqlStatement 合法的调用存储过程的sql语句
arg(n) sql语句的参数,可以是常数也可以是表达式,
如果是输出结果集的参数,对应的参数表达式写成"@@result"
返回值:一组数据的集合,由结果集的第一个字段决定数据类型,如果结果集是多列,只返回第一列
示例:
例1:call("{call ResultSet (?,?,?)}","@@result","000001",A2)
表示执行存储过程ResultSet,第一个输出参数输出结果集,第二、三个
参数传入"000001",A2作为参数值
函数说明:call(dbName,sqlStatement{,arg1{,arg2{,arg3{,……}}}})
除第一个参数为数据源连接外,其他参数可call()函数相同,功能也和call()
函数相同,通过第一个参数,可以实现不同的单元格连接不同的数据源。
语法:
call(dbName,sqlStatement{,arg1{,arg2{,arg3{,……}}}})
参数说明:
dbName 数据源名称
sqlStatement 合法的调用存储过程的sql语句
arg(n) sql语句的参数,可以是常数也可以是表达式,
如果是输出结果集的参数,对应的参数表达式写成"@@result"
返回值:
一组数据的集合,由结果集的第一个字段决定数据类型,如果结果集是多列,只返回第一列
示例:
例1:call2("demo","{call ResultSet (?,?,?)}","@@result","000001",A2)
表示对数据源demo执行存储过程ResultSet,第一个输出参数输出结果集,
第二、三个参数传入"000001",A2作为参数值
函数说明:cell()
在平面内取单元格,注意这里的单元格是运算后的单元格
语法:
cell({cellExp}{,rowOffsetExp{,colOffsetExp}})
参数说明:
cellExp 单元格表达式(不写表示当前单元格)
rowOffsetExp 整数的相对cellExp的行偏移量表达式
colOffsetExp 整数的相对cellExp的列偏移量表达式
函数示例:
cell(,1,-5) 取得当前单元格的下一行,左边5列的单元格
cell(C1) 取得与当前单元格的偏移为“当前单元格的源格与C1的偏移”的格
cell(D1,1,3) 取得D1的下一行,右3列的单元格
函数说明:col({cellExp})
取得当前单元格所在列的列号
语法:
col({cellExp})
参数说明:
cellExp 单元格表达式(不写表示当前单元格)
返回值:整数
举例:
在B列单元格中写入=col(),返回值为2,如果B列存在横向扩展格,则列号依次改变。
函数说明:count(expression{,containNull})
对可扩展单元格或集合表达式进行计数
语法:
count(expression{,containNull})
参数说明:
expression 需要被计数的单元格或表达式,一般为可扩展单元格或集合表达式
containNull 缺省为true,表示对null元素也进行计数;false则相反
返回值:整数
示例:
例1:count(A1:B10,false) 以当前格为基格计算A1和B10之间总共有几个单元格,如果单元格的值为空则不进行计数
例2:count(A1[1]:B10[3])计算A1扩展出来的第一个格和B10扩展出来的第三个格之间总共有几个单元格
例3:count(arg1) 其中arg1是参数组,统计arg1中有几个数据
例4:count(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的个数
例5:count(B1{`0}{}) 表示求得根坐标下所有扩展后的B1单元格的个数
函数说明:disp( cell )
取单元格的显示值
语法:
disp( cell )
参数说明:
cell 单元格
返回值:
字符型
示例:
例1:if(disp(A1) like "中国*",true,false)
表示如果A1单元格的显示值含有中国的字样,返回true,否则返回false。
函数说明:maxc(cellExp1{,cellExp2{,......}})
返回输入的单元格(格集)中值最大的单元格组成的List,如果存在多个单元格的
值相等且最大,则这些格都会被返回。
语法:
maxc(cellExp1{,cellExp2{,......}})
参数说明:
cellExp1 单元格(格集)或单元格(格集)表达式
返回值:单元格List
示例:
例1:maxc(A1,A2,A3,A4) 求出单元格A1至A4之间值最大的单元格组成的列表例2:maxc(A1{},A2) 求A1扩展出来的所有单元格和A2中值最大的单元格组成的列表
函数说明:min(expression)
对可扩展单元格或集合表达式求最小值
语法:
min(expression)
min(cellExp,exp)
参数说明:
expression 需要求最小值的单元格或表达式,一般为可扩展单元格或集合表达式 cellExp 单元格或单元格集合,以cellExp里的单元格为当前格计算表达式exp
exp 表达式
返回值:数据类型不定,由expression的计算结果决定
示例:
例1:min(A1:A10) 求出单元格A1至A10之间的最小值
例2:min(arg1) 其中arg1是参数组,求出arg1中的最小值
例3:min(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的最小值例4:min(B1{`0}{}) 表示求得根坐标下所有扩展后的B1单元格的最小值
例5:min(A1[`0]{},B1+C1) 计算分别与每个A1相对应的B1、C1的和的最小值
函数说明:minc(cellExp1{,cellExp2{,......}})
返回输入的单元格(格集)中值最小的单元格组成的List,如果存在多个单元格的
值相等且最小,则这些格都会被返回。
语法:
minc(cellExp1{,cellExp2{,......}})
参数说明:
cellExp1 单元格(格集)或单元格(格集)表达式
返回值:单元格List
示例:
例1:minc(A1,A2,A3,A4) 求出单元格A1至A4之间值最小的单元格组成的列表例2:minc(A1{},A2) 求A1扩展出来的所有单元格和A2中值最小的单元格组成的列表
函数说明:max(expression)
对可扩展单元格或集合表达式求最大值
语法:
max(expression)
max(cellExp,exp)
参数说明:
expression 需要求最大值的单元格或表达式,一般为可扩展单元格或集合表达式 cellExp 单元格或单元格集合,以cellExp里的单元格为当前格计算表达式exp
exp 表达式
返回值:数据类型不定,由expression的计算结果决定
示例:
例1:max(A1:A10) 求出单元格A1至A10之间的最大值
例2:max(arg1) 其中arg1是参数组,求出arg1中的最大值
例3:max(B1{}) 表示求得当前主格扩展区域内所有扩展后的B1单元格的最大值例4:max(B1{`0}{}) 表示求得根坐标下所有扩展后的B1单元格的最大值
例5:max(A1[`0]{},B1+C1) 计算分别与每个A1相对应的B1、C1的和的最大值
函数说明:pccount({cellExp})
计算分页后的当前页中所有的单元格(cellExp)的个数,注意,本函数只是在分页后才有效
语法:
pccount({cellExp})
参数说明:
cellExp 表达式
返回值:
当前页中所有的单元格(cellExp)的个数
函数示例:
pccount(A2{条件}) 返回当前页中所有的A2格的个数
函数说明:row({cellExp})
取得当前单元格所在行的行号
语法:
row({cellExp})
参数说明:
cellExp 单元格表达式(不写表示当前单元格)
返回值:整数
举例:
在第三行单元格中写入=row(),返回值为3,如果第三行存在纵向扩展格,则行号依次改变。
函数说明:value()
取得当前单元格的值
语法:
value()
返回值:当前单元格的值
函数说明:
根据指定位置返回数组或者集合表达式中的某一个元素
语法:
valueat(arrayexp,suffixExp)
参数说明:
arrayexp 数组或者集合表达式
suffixExp 整数,用于指定返回集合中的第几个元素,以0开始计数返回值:
集合中的一个元素,数据类型由集合中的元素类型决定
示例:
例1:valueat(to(5,8),2) 返回值为:7
例2:valueat({"a","b","c"},0) 返回值为:"a"
转换
函数说明:bigint(stringExp)
将字符型整数转换成大整数或对数值型数据取整返回大整数
该数据类型精度高,支持大于64位的整数,但是运算速度慢
如果小于64位的整数,建议用long(支持64位,即最大为2的64次方)或者int(支持32位,即最大为2的32次方)
语法:
bigint(stringExp)
bigint(numberExp)
参数说明:
stringExp 需要转换的整数串
numberExp 需要取整的数值型数据,超过64位要用decimal类型,缺省为double(64位)
返回值:大整数BigInteger
示例:
例1:bigint("901234567890") 返回: 901234567890
例2:bigint(decimal("9012345.67890")) 返回: 9012345
例3:bigint(12345.4567890) 返回:12345
函数说明:chn( intExp{, abbrivateExp{, uppercaseExp }} )
将一个整数转化成汉字大写
语法:
chn( intExp{, abbrivateExp{, uppercaseExp }} )
参数说明:
intExp 整数表达式
abbrivateExp 为true时采用亿万千百十的写法,
为false时采用一二三四五六七的写法,缺省为false uppercaseExp 为false时采用零一二三四五六七八九十百千,
为true时采用壹贰叁肆伍陆柒捌玖拾佰仟,缺省为false 返回值:字符型
示例:
例1:chn(1234567,true) 返回:"一百二十三万四千五百六十七"
例2:chn(1234567) 返回:"一二三四五六七"
例3:chn(1234567,true,true) 返回:"壹佰贰拾叁万肆仟伍佰陆拾柒"
例4:chn(1234567,,false) 返回:"一二三四五六七"
函数说明:d ouble( string )
将字符串或数字转换成64位的双精度浮点数
语法:
double( string )
double( number )
参数说明:
string 需要转换的字符串表达式
number 数字
返回值:64位的双精度浮点数
示例:
例1:double("1234567") 返回:1234567.0
例2:double(1234567) 返回:1234567.0
函数说明:hexstring(dataExp{,spaceExp})
将数据或者byte数组转换为十六进制字符(数据当做无符号数据处理)
hexstring(dataExp{,spaceExp})
参数说明:
dataExp 数据或者byte数组表达式
spaceExp 布尔型,数据之间是否用空格隔开,true表示要,false表示不要返回值:字符型,十六进制字符
示例:
例1:hexstring(12345678,true) 返回:"BC 61 4E"
例2:hexstring(12345678,false) 返回:"BC614E"
例3:hexstring(12345678) 返回:"BC614E"
函数说明:int( string )
将字符串或数字转换成整数
语法:
int( string )
int( number )
参数说明:
string 需要转换的字符串表达式
number 数字,如果带有小数位,转换后小数位被截掉
返回值:32位整数
示例:
例1:int( "100" ) 返回:100
例2:int( 100.1 ) 返回:100
例3:int(100.9999) 返回:100
函数说明:number( string )
将字符串转换成相应的32位整数、64位整数、或者64位符点数语法:
number( string )
参数说明:
string 需要转换的字符串表达式
返回值:32位整数、64位整数、或者64位符点数
例1:number("123") 返回:123
例2:number("1234567890") 返回:1234567890
例3:number("12345.7891") 返回:12345.7891
函数说明:rmb( numberExp )
将浮点数(只支持小数点后两位)转换人民币大写格式
语法:
rmb( numberExp )
参数说明:
numberExp 数据值表达式
返回值:字符型
示例:
例1:rmb(123456.89) 返回:"壹拾贰万叁仟肆佰伍拾陆圆捌角玖分"
布尔判断
函数说明:if
根据布尔表达式的不同计算结果,返回不同的值。本函数从左到右计算,先出现的
布尔表达式先算,如果出现为true的表达式,则返回相应的结果,后面的不再计算。
如果没有一个布尔表达式为true,而且有缺省值表达式,则返回缺省值,否则返回null。
语法:
if(boolExp1,valueExp1{,boolExp2,valueExp2 {,boolExp3,valueExp3 {, {defaultExp}}}})
参数说明:
boolExp(n) 布尔表达式,如果结果为真,则返回对应的值表达式计算结果
valueExp(n) 值表达式,和布尔表达式一一对应
defaultExp 缺省值表达式,如果所有布尔表达式结果都为假,则返回本表达式计算结果
返回值:数据类型不定,由valueExp(n)的运算结果决定。
示例:
例1:if(value()>100,-65536,value()<=100 and value()>80,-16776961,-14336 )
表示当前格的值大于100时,返回-65536颜色值,当前格的值小于等于100且
大于80时,返回-16776961颜色值,否则返回-14336颜色值
函数说明:inputValue(Exp)
取得表达式的填报值
语法:
inputValue(Exp)
参数说明:
Exp 表达式
返回值:该表达式对应的填报值。
函数说明:isEmpty(exp)
判定表达式运算的结果列表中的元素个数是否为0,或者运算的结果是否为null 语法:
isEmpty(exp
参数说明:
exp 表达式
返回值:布尔型
函数说明:isdate( string )
判定字符串是否具有转换成日期的合法格式
语法:
isdate( string )
参数说明:
string 字符串表达式
返回值:布尔型
示例:
例1:isdate("2006-10-10") 返回:true
例2:isdate("2006-10-10 10:20:30") 返回:true
例3:isdate("20061010") 返回:false
例4:isdate("10:20:30") 返回:false
函数说明:isnumber( string )
判定字符串是否具有转换成数值的合法格式
语法:
isnumber( string )
参数说明:
string 字符串表达式
返回值:布尔型
示例:
例1:isnumber("abc") 返回:false
例2:isnumber("1234") 返回:true
函数说明:istime( string )
判定字符串是否具有转换成时间的合法格式
语法:
istime( string )
参数说明:
string 字符串表达式
返回值:布尔型
示例:
例1:istime("2006-10-10") 返回:false
例2:istime("2006-10-10 10:20:30") 返回:false
例3:istime("20061010") 返回:false
例4:istime("10:20:30") 返回:true
函数说明:like( stringExp, formatExp{, ignoreCase} )
判断字符串是否匹配格式串(*匹配0个或多个字符,?匹配单个字符)
语法:
like( stringExp, formatExp{, ignoreCase} )
参数说明:
stringExp 字符串的表达式
formatExp 格式串的表达式
ignoreCase 布尔值的表达式,缺省为false,表示匹配时大小写敏感,否则忽略大小写
返回值:布尔型
示例:
例1:like( "abc123", "abc*" ) 返回:true
例2:like( "abc123", "abc1?3" ) 返回:true
例3:like( "abc123", "abc*34" ) 返回:false
例4:like( "abc123", "ABC*" ) 返回:false
例5:like( "abc123", "ABC*", true ) 返回:true
数据集及其他
函数说明:case()
根据表达式的不同计算结果,返回不同的值。本函数:从左到右计算,先出现的表达式先算,如果出现满足的表达式,
则返回相应的结果,后面的不再计算。如果没有一个表达式满足条件,而且有缺省值表达式,则返回缺省值,否则返回null。
语法:
case(Exp{,list(valueExp11,valueExp12,...),resultExp1{,list(valueExp21,valueExp22,...), resultExp2{,...{,defaultExp}}}})
参数说明:
Exp 判断用到的表达式
valueExp(n) 值表达式
resultExp(n) 返回结果表达式
defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果
函数示例:
case("上海",list("北京","天津"),"1",list("武汉","上海"),"2") 运算结果为:"2"
case("上海",list("北京","天津"),"1",list("武汉"),"2","3") 运算结果为:"3"
case("上海",list("北京","天津"),"1",list("武汉"),"2") 运算结果为:null
函数说明:ceil(numberExp, {nExp})
对数据在指定位置上进行截取,剩余部分只要有值就进位
相关的函数有:
floor:对数据在指定位置上进行截取,剩余部分只要有值全舍去
round:对数据在指定位置上进行截取,剩余部分四舍五入
语法:
ceil(numberExp, {nExp})
参数说明:
numberExp 需要进行截取的数据
nExp 整数,用于指定需要进行截取的位置,
>0:从小数点往右位移nExp个位数,
<0:从小数点往左移nExp个位数
=0:表示当前小数点的位置
返回值:数值型
示例:
例1:=ceil(3450001.004,0) 返回:3450002.0
例2:=ceil(3450001.004,-1) 返回:3450010.0
例3:=ceil(3450001.004,-2) 返回:3450100.0
例4:=ceil(3450001.004,1) 返回:3450001.1
例5:=ceil(3450001.004,2) 返回:3450001.01
函数说明:char( int )
根据给定的unicode编码或者ascii码取得其对应的字符
(一般来说,英文字符及其扩展字符都是ascii字符,中文、日文、韩文等
亚洲字符都是unicode字符,ascii字符为8位,unicode字符为16位(其中有3位用于标志字符类型))
相关函数:asc() 取字符串指定位置的字符的unicode值,如果是ascii字符则返回ascii码
语法:
char( int )
参数说明:
int 整数表达式,unicode编码或者ascii编码
返回值:字符型
示例:
例1:=char(22269) 返回:'国'
例1:=char(101) 返回:'e'
函数说明:ds( stringExp )
按名称取得数据集对象,本函数用于动态改变表达式的数据集对象,用法很灵活,
但是性能较低,须慎用。
语法:
ds( stringExp )
参数说明:
stringExp 数据集的名称
返回值:数据集对象
说明:
本函数的返回值是表达式的一个元素,不能作为单元格的数据值,必须经过二次运算。
示例:
例1:ds("ds1").select(#0) 表示取出ds1数据集中的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
行号集合
函数说明:datasetName.avg(sel ectExp{ })
从数据集中,从满足条件的记录中,算出给定字段或表达式的平均值语法:
datasetName.avg(selectExp{,filterExp{,rootGroupExp{,containNull}}}) 参数说明:
selectExp 需要计算平均值的字段或表达式,数值类型
filterExp 过滤条件表达式
rootGroupExp 是否root数据集表达式
containNull 是否对null元素进行计数
返回值:实数
举例:
例1:ds1.avg(score,sex=="1")
表示从数据集的当前记录行集中过滤出sex为"1"的记录集合,
求得其score字段的平均值,score字段要求为数值型。
例2:ds2.avg(quantity*price)
表示对数据集的当前记录行集求得表达式quantity*price的平均值例3:ds1.avg(score,,,false)
求得数据集的当前记录行集中score字段的平均值,如果某条记录的score字段值为空
则此条记录不计入记录数,score字段要求为数值型
函数说明:datasetName.bselect_one
此函数功能等同select1(),但是算法不同,采用二分法,适用于数据集记录
已经按照参考字段排好序的情况,运算速度比select1()快
语法:
datasetName.bselect_one(selectExp,"referExp1,referDescExp1,referValueExp1 {,referExp2,referDescExp2,referValueExp2{....}}}"{,rootGroupExp}) datasetName.bselect1(selectExp,"referExp1,referDescExp1,referValueExp1") 参数说明:
selectExp 选出字段或表达式
referExp1 参考字段表达式
referDescExp1 参考字段表达式的数据顺序,true表示降序排列,false表示升序排列
referValueExp1 参考字段的值表达式,一旦找到参考字段和该值相同的记录,即返回selectExp的值
...... 参考字段及其值可以多个,如果是多个,则找到多个参考字段都和值匹配的记录才返回
rootGroupExp 是否root数据集表达式
返回值:
数据类型不定,由selectExp的运算结果决定
示例:
例1:ds1.bselect1(name,"id,false,value()")
采用二分法,找到数据集ds1中id和当前格的值相等的记录,返回其name字段值例2:ds1.bselect1(name,"id,false,value();class,false,A1;sex,true,B1") 采用二分法,找到数据集ds1中id和当前格的值相等、class和A1相等且sex和B1相等的记录,返回其name字段值。注意这三个条件在表达式中的顺序必需和它们在数据集中的排序先后相同,也就是说,在数据集中是先对id升序排
序,再对class升序排序,最后对sex进行降序排序的。
函数说明:datasetName.colcount()
获得数据集的列数
语法:
datasetName.colcount()
返回值:整数
举例:
例1:ds1.colcount() 获得ds1数据集的列数,整数类型
函数说明:datasetName.count
计算数据集当前记录行集中,满足条件的记录数
语法:
datasetName.count({filterExp{,rootGroupExp{,nullCheckExp}}}) 参数说明:
filterExp 条件表达式,如果全部选出,则不要此参数,
rootGroupExp 是否root数据集表达式
nullCheckExp 检查某一条记录是否为空的标达式
返回值:整数
举例:
例1:ds1.count()
表示对ds1中当前记录行集中所有记录进行计数,返回记录数。
例2:ds1.count(true)
含义同上,但是运算速度比ds1.count()慢,因此当记录全部选出时,
建议不要true
例3:ds1.count(quantity>500)
表示从ds1当前记录行集中选出quantity>500的记录进行计数,
返回记录数。
例4:ds1.count(,,ID)
表示当前记录行集中ID不为空的纪录数目
函数说明:datasetName.dcount
计算数据集当前记录行集中,满足条件的记录数,选出字段记录的行将被视为同一个记录
语法:
datasetName.dcount(
{filterExp,{rootGroupExp}})
参数说明:
select_exp 要选择的字段列名/列号,,也可以是表达式。
列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推filterExp 条件表达式,如果全部选出,则不要此参数,
rootGroupExp 是否root数据集表达式
返回值:整数
举例:
例1:ds1.dcount( name )
从数据源ds1中选取name字段列的所有值,name相同的纪录被视为同一纪律函数说明:datasetName.dsel ect
从数据集的当前行集中选取符合条件的记录,选出字段相同的行将会只保留第一行语法:
datasetName.dselect( {, filter_exp{,rootGroupExp}} ) 参数说明:
select_exp 要选择的字段列名/列号,,也可以是表达式。
列号用#n表示,例如#0代表第0列,#1代表第1列,依此类推filter_exp 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位。
rootGroupExp 是否root数据集表达式
返回值:
一组数据的集合,数据类型由select_exp的运算结果决定
函数示例:
例1:ds1.dselect( name )
从数据源ds1中选取name字段列的所有值,name相同的纪录只会保留第一个
函数说明:ds.enumGroup
根据表达式的不同计算结果,返回不同的值,然后按这些值进行分组。本函数:从左到右计算,先出现的表达式先算,如果出现满足的表达式,
则返回相应的结果,后面的不再计算。如果没有一个表达式满足条件,而且有缺省值表达式,则返回缺省值,否则返回null。
语法:
ds.enumGroup({hasNullGroup{,termExp1,resultExp1{,term2,resultExp2{,...{,defaultEx p}}}}})
参数说明:
hasNullGroup 布尔表达式,true返回空组,false不返回空组
termExp(n) 条件表达式
resultExp(n) 返回结果表达式
defaultExp 缺省值表达式,如果所有表达式结果都不满足,则返回本表达式计算结果
函数说明:datasetName.field( stringExp )
获得数据集当前行或者当前组中第一行中,指定列的数据
语法:
datasetName.field( stringExp )
datasetName.field( #colNo )
参数说明:
stringExp 数据集列名的表达式
#colNo 数据集列号的表式方式,如第二列用#2,行号列用#0 返回值:
数据集的列对象,只能作为表达式的元素使用,不能作为最终单元格的值说明:
此函数性能比较低,请慎用。
举例:
例1:在报表中写入如下表达式
A B
┌─────────┬────────────┐
1 ││ = to(1,ds2.colcount()) │
│├────────────┤
2 ││= ds2.fieldname(b1) │
├─────────┼────────────┤
3 │ = ds2.Select(#0) │= ds2.field(b2) │
└─────────┴────────────┘
该报表相当于在B1中根据数据集ds2的列数进行横向扩展,在A3中根据
数据集的行数进行纵向扩展,然后在B2和B3中动态获取列名和列对象,
算出列值,这种用法可以实现动态列报表
该报表的预览结果如下:
┌───────┬───────┬───────┬───────┐
│客户编码│客户名称│电话│传真│
├───────┼───────┼───────┼───────┤
│ 1 │无锡食品加工厂│3454356 │4575775 │
├───────┼───────┼───────┼───────┤
│ 2 │天津长城化工厂│3452346 │4562674 │
├───────┼───────┼───────┼───────┤
│ 3 │江苏天龙食品集│4576546 │7465675 │
├───────┼───────┼───────┼───────┤
│ 4 │中国化工原料厂│4563456 │5675763 │
└───────┴───────┴───────┴───────┘
函数说明:datasetName.fieldName( intExp )
根据列号取数据集的列名
语法:
datasetName.fieldName( intExp )
参数说明:
intExp 数据集列号的表达式
返回值:字符型
举例:
例1:ds1.fieldName(3) 返回"score",
表示数据集ds1中第三列的列名为"score"
例2:运用举例,在报表中写入如下表达式
A B
┌─────────┬────────────┐
1 ││ = to(1,ds2.colcount()) │
│├────────────┤
2 ││= ds2.fieldname(b2) │
├─────────┼────────────┤
3 │ = ds2.Select(#0) │= ds2.field(b2) │
└─────────┴────────────┘
该报表相当于在B1中根据数据集ds2的列数进行横向扩展,在A3中根据
数据集的行数进行纵向扩展,然后在B2和B3中动态获取列名和列对象,
算出列值,这种用法可以实现动态列报表
该报表的预览结果如下:
┌───────┬───────┬───────┬───────┐
│客户编码│客户名称│电话│传真│
├───────┼───────┼───────┼───────┤
│ 1 │无锡食品加工厂│3454356 │4575775 │
├───────┼───────┼───────┼───────┤
│ 2 │天津长城化工厂│3452346 │4562674 │
├───────┼───────┼───────┼───────┤
│ 3 │江苏天龙食品集│4576546 │7465675 │
├───────┼───────┼───────┼───────┤
│ 4 │中国化工原料厂│4563456 │5675763 │
└───────┴───────┴───────┴───────┘
函数说明:datasetName.filter
从数据集中按顺序检索到符合过滤条件的所有记录,返回纪录的组,注意该函数不能返回具体值,函数只能用在附加数据集中
语法:
datasetName.filter(filterExp{,rootGroupExp})
参数说明: