若想了解高级函数,点我前往了解高级函数
若想查看高级函数的应用案例,点我前往高级函数的应用案例
文本函数
这是专门用于处理字符串文本的一系列函数方法
CONCATENATE
将多个文本合并为一个文本
用法:CONCATENATE(文本1,文本2,文本3...)
返回值类型:文本
参数个数:N
函数配置示例:
效果如下:
LEFT
返回文本值中最左边开始的n个字符
用法: LEFT(文本,字符数)
返回值类型:文本
参数个数:2
示例: 获取员工编号前8位数字(文本,字符数)
[函数配置]:
[效果如下]:
RIGHT
返回文本值中最右边开始的n个字符
用法:RIGHT(文本,字符数)
返回值类型:文本
参数个数:2
示例:获取手机号码后4位数字
函数配置:
效果如下:
LEN
返回文本字符串中的字符个数
用法:LEN(文本)
返回值类型:整数
参数个数:1
示例:获取自我介绍的字数
函数配置:
效果如下:
EXACT
比较两个文本值是否相同,区分大小写
用法:EXACT(文本1,文本2)
返回值类型:逻辑
参数个数:2
示例:判断学生回答是否正确
[函数配置]:
效果如下:
MID
从文本字符串中的指定位置起返回特定个数的字符,起始位置从1开始
用法:MID(文本,起始位置,截取字符数)
返回值类型:文本
参数个数:3
示例:获取文本中从第10位开始连续的3个字符
[函数配置]
T
将参数转换为文本
用法:T(文本)
返回值类型:文本
参数个数:1
示例:T('123')='123'
TEXT
设置数字格式并将其转换为文本
用法:TEXT(数字或日期,格式字符串)
返回值类型:文本
参数个数:2
示例:TEXT(123,'0.00')='123.00'
TRIM
删除文本中的前后空格
用法:TRIM(文本)
返回值类型:文本
参数个数:1
示例:TRIM(' ABCDEFG ')='ABCDEFG'
VALUE
将文本参数转换为数字
用法:VALUE(文本)
返回值类型:整数
参数个数:1
示例:VALUE('012312')=12312
FIND
在一个文本值中查找另一个文本值(区分大小写),可规定起始位置,起始位置从1开始
用法:FIND(被查找文本,查找文本,起始下标)
返回值类型:整数
参数个数:2,3
示例:FIND('DE','ABCDEFG',1)=4
PROPER
将文本值的每个字的首字母大写
用法:PROPER(文本)
返回值类型:文本
参数个数:1
示例:PROPER('do1 cloud platform')=Do1 Cloud Platform
REPLACE
替换文本中的字符
用法:REPLACE(待替换文本,替换起始位置,替换字符数,替换文本)
返回值类型:文本
参数个数:4
示例:REPLACE('企微云平台',1,2,'道一')=道一云平台
REPT
按给定次数重复文本
用法:REPT(文本,重复次数)
返回值类型:文本
参数个数:2
示例:REPT('A',3)=AAA
RMB
使用¥(人名币)货币格式将数字转换为文本
用法:RMB(文本)
返回值类型:文本
参数个数:1
示例:RMB(12)=¥12.00
ROMAN
阿拉伯数字转罗马,数字必须小于等于3999
用法:ROMAN(整数)
返回值类型:文本
参数个数:1
示例:ROMAN(13)=XIII
SEARCH
在一个文本值中查找另一个文本值(不区分大小写)并返回下标,可规定起始位置,起始位置从1开始。
用法:SEARCH(查找文本,在此文本查找,起始位置)
返回值类型:整数
参数个数:2,3
示例:
[函数配置]
[效果演示]
SPLIT
根据参数对字符串进行分离,可与GETPROPERTY函数组合使用。
用法:SPLIT(文本,文本2)
返回值类型:文本数组
参数个数:2
示例:SPLIT('企微云-平台','-')=企微云,平台
SUBSTITUTE
在文本字符串中用新文本替换旧文本
用法:SUBSTITUTE(文本,旧文本,新文本,第N个旧文本)
返回值类型:文本
参数个数:3,4
示例:SUBSTITUTE('企微云平台','企微','道一')=道一云平台
逻辑函数
这是一类返回值为逻辑值true或逻辑值false的函数
true:代表条件判断后的结果为真的,也可以用1表示;
false:代表条件判断后的结果为假的,也可以用0表示。
AND
在参数组中,任何一个参数逻辑值为false,即返回false;只有当所有参数逻辑值为true,才返回true。
用法:AND(逻辑1,逻辑2,逻辑3...)
返回值类型:逻辑
参数个数:N
通常情况下,AND函数常与IF函数组合运用,表达与运算。
示例:
评价=IF(AND(语文成绩>90,数学成绩>90,英语成绩>90) ,'优秀','良好')
[函数配置]
OR
在参数组中,任何一个参数逻辑值为true,即返回true;只有当所有参数逻辑值为false,才返回false。
用法:OR(逻辑1,逻辑2,逻辑3...)
返回值类型:逻辑
参数个数:N
通常情况下,OR函数常与IF函数组合运用,表达或运算。
示例:
IF(OR(语文成绩>90,数学成绩>90,英语成绩>90) ,'优秀','良好')
[函数配置]
IF
判断一个条件是否满足,如果满足返回第一个值,如果不满足则返回第二个值。
用法:IF(逻辑,逻辑为true时的返回值,逻辑为false时的返回值)
返回值类型:与参数有关
参数个数:3
(1)通常情况下,IF函数支持多层嵌套。
示例:60分以下为不合格,60-79分为良好,80分以上为优秀
IF ( 语文成绩 <60,'不合格',IF ( 语文成绩 <80,'良好','优秀') )
[函数配置]
(2)IF函数也支持下拉框/单项选择组件。
示例:单项选择题,答对得5分,答错则不得分。
[函数配置]
注意:由于下拉框和单选组件返回的值为文本类型,所以选项中的数字记得要加引号引用~
ISBLANK
如果值为空,则返回 true
用法:ISBLANK(文本)
返回值类型:逻辑
参数个数:1
示例:ISBLANK('')=true
IFERROR
如果表达式错误,返回参数2,否则返回表达式值
用法:IFERROR(表达式,表达式错误时的返回值,表达式正确时的返回值)
返回值类型:与参数有关
参数个数:3
示例:IFERROR(ACOS(2),2,3)=2
ISNUMBER
如果值为数字,则返回 true
用法:ISNUMBER(表达式)
返回值类型:逻辑
参数个数:1
示例:ISNUMBER(12)=true
FALSE
返回逻辑值false
用法:FALSE()
返回值类型:逻辑
参数个数:0
示例:FALSE()=false
TRUE
返回逻辑值true
用法:TRUE()
返回值类型:逻辑
参数个数:0
示例:TRUE()=true
NOT
非,相当于运算符!
用法:NOT(逻辑)
返回值类型:逻辑
参数个数:1
示例:NOT(true)=false
日期函数
这是专门用于处理日期时间的一系列函数方法
DATEADD
计算在添加特定时间间隔(N年/月/日)后的日期。
用法:DATEADD(日期,整数,单位)
返回值类型:日期时间
参数个数:3
单位可选:年数为'Y',月数'M',天数'D',小时'H',分钟'm',秒'S'
示例:初次拜访客户20天后,销售必须再次回访该客户
注意:天数单位参数为'D',月数为'M',年数为'Y'
DATEDIF
计算两个日期之间的天数、月数或年数。 此函数在用于计算年龄的公式中很有用。
用法:DATEDIF(日期1,日期2,单位)
返回值类型:整数
参数个数:3
单位可选:年数为'Y',月数'M',天数'D',小时'H',分钟'm',秒'S'
通常情况下,DATEIF函数常与TODAY函数组合运用,通过调用服务器当前日期,计算准确的日期差。
示例:计算员工的当前工龄时长,当前工龄=今天-入职日期,输出单位为年
注意1:DATEIF函数的第一个参数为减数,第二个参数为被减数,不要混淆哦~
注意2:天数单位参数为'D',月数为'M',年数为'Y'
WEEKDAY
返回星期几(周日为1,由此类推)
用法:WEEKDAY(日期时间)
返回值类型:整数
参数个数:1
通常情况下,WEEKDAY函数常与逻辑函数组合运用。
示例:通过计算出行日期为星期几,判断某车牌号当天是否被限行(简单起见,我们设置限行规则为:周日不允许车牌尾号是1出行,其余情况都允许)
效果如下:
DAY
返回日期
用法:DAY(日期时间)
返回值类型:整数
参数个数:1
示例:DAY('2018-04-24')=24
MONTH
返回月份
用法:MONTH(日期时间)
返回值类型:整数
参数个数:1
示例:MONTH('2018-04-24')=4
YEAR
返回年份
用法:YEAR(日期时间)
返回值类型:整数
参数个数:1
示例:YEAR('2018-04-24')=2018
DATE
返回特定的日期格式
用法:DATE(年,月,日,时,分,秒)
返回值类型:日期
参数个数:1~6
示例:DATE(2018,3,12)='2018-03-12'
DAY、MONTH、YEAR、DATE函数综合运用示例
录入身份证生效日期,可自动计算到期日期(到期日期为年份+20,月份不变,天数-1)
方法:
获取身份证生效日期后,分离成生效年、生效月、生效日,通过运算得出到期年、到期月、到期日,最后通过date函数将其重新组合。
效果如下:
QUARTER
返回季度
用法:QUARTER(日期时间)
返回值类型:整数
参数个数:1
示例:QUARTER('2018-04-24')=2
HOUR
返回小时
用法:HOUR(日期时间)
返回值类型:整数
参数个数:1
示例:HOUR('2018-04-24 12:47:48')=12
MINUTE
返回分钟
用法:MINUTE(日期时间)
返回值类型:整数
参数个数:1
示例:MINUTE('2018-04-24 12:47:48')=47
SECOND
返回秒
用法:SECOND(日期时间)
返回值类型:整数
参数个数:1
示例:SECOND('2018-04-24 12:47:48')=48
TODAY
返回服务器当前日期
用法:TODAY()
返回值类型:日期
参数个数:0
示例:TODAY()='2018-05-15'
NOW
返回服务器当前日期时间
用法:NOW()
返回值类型:日期时间
参数个数:0
示例:NOW()='2018-05-15 10:25:53'
通常情况下,TODAY和NOW函数常与其他时间函数组合运用,具体例子可参考DATEIF函数内容。
TODAY和NOW函数的区别在于:前者返回的是日期,后者返回的是日期时间。
WEEKNUM
返回日期为该年的第几周
用法:WEEKNUM(日期时间)
返回值类型:整数
参数个数:1
示例:WEEKNUM('2018-04-24')=17
WORKDAY
返回指定的若干个工作日之前或之后的日期,可以指定若干个节假日
用法:WORKDAY(日期时间,工作日数,节假日1,节假日2,节假日3...)
返回值类型:日期
参数个数:>=2
示例:WORKDAY('2018-04-24',8,'2018-05-01')='2018-05-07'
NETWORKDAYS
返回两个日期间的工作日天数,可以指定若干个节假日
用法:NETWORKDAYS(起始日期,结束日期,节假日1,节假日2,节假日3...)
返回值类型:整数
参数个数:>=2
示例:NETWORKDAYS('2018-04-24','2018-05-24','2018-05-01')=21
数学函数
这是专门用于处理数字的一系列函数方法
ABS
获取一个数字的绝对值
用法:ABS(数字)
返回值类型:数字
参数个数:1
示例:
效果如下:
AVERAGE
获取所有参数的算术平均值
用法:AVERAGE(数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:求各科成绩的平均分
效果如下:
AVERAGEIF
计算满足条件的一组数值的算数平均值
用法:AVERAGEIF(条件,数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:单科成绩超过60分以上为良好,求良好科目的平均成绩
SUM
统计函数,求和
用法:SUM(数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:利用各科成绩,求总成绩
效果如下:
SUMIF
统计函数,指定条件求和
用法:SUMIF(条件,数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:单科成绩低于60分为不合格,求不合格科目的总成绩
COUNT
返回参数的个数
用法:COUNT(参数1,参数2,参数3...)
返回值类型:整数
参数个数:N
示例:统计子表单个数
函数配置:
效果如下:
COUNTIF
返回数组中满足条件的参数个数
用法:COUNTIF(条件,数字1,数字2,数字3...)
返回值类型:整数
参数个数:N
示例:单科成绩超过80分以上为优秀,求优秀的学科数量
函数配置:
效果如下:
MAX
返回一组数值中的最大值
用法:MAX(数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:求下列单科成绩中最高分的学科成绩
函数配置:
效果如下:
MIN
返回一组数值中的最小值
用法:MIN(数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:求下列单科成绩中最低分的学科成绩
函数配置:
效果如下:
COMBIN
从给定元素数目的集合中提取若干元素的组合数
用法:COMBIN(整数1,整数2)
返回值类型:整数
参数个数:2
示例:某队运动员共有6人,要选出2人配合双打,求有多少种配对方式
函数配置:
效果如下:
INT
将数值向下取整为最接近的整数
用法:INT(数字)
返回值类型:整数
参数个数:1
示例:向下舍入到最近的整数
函数演示:
效果如下:
MOD
返回两数相除的余数,结果的符号与除数相同
用法:MOD(被除数,除数)
返回值类型:数字
参数个数:2
示例:返回数字与4相除的余数
函数演示:
效果如下:
RAND
随机函数,返回大于等于0且小于1的均匀分布随机实数
用法:RAND()
返回值类型:数字
参数个数:0
用法举例:
公式 | 含义 |
---|---|
RAND() | 大于等于 0 但小于 1 的非整数的随机数 |
RAND()*100 | 大于等于 0 但小于 100 的非整数的随机数 |
RAND()*(100-1)+1 | 大于等于 1 但小于 100 的非整数的随机数 |
INT(RAND()*(100-0)+0) | 大于等于 0 但小于 100 的随机整数 |
RANDBETWEEN
返回整数之间的随机整数
用法:RANDBETWEEN(整数1,整数2)
返回值类型:数字
参数个数:2
示例:自动生成参赛运动员编号
函数演示:
效果如下:
(小技巧:通过字段校验的数据唯一性,还可以生成唯一的编号哦)
ROUND
按指定位数四舍五入
用法:ROUND(数字,位数)
返回值类型:数字
参数个数:2
示例:计算商品单价时,四舍五入保留两位小数
函数演示:
效果如下:
POWER
返回数字乘幂的结果
用法:POWER(数字,位数)
返回值类型:数字
参数个数:2
示例:POWER(2,3)=8 (相当于222,即2的三次方)
PRODUCT
获取一组数值的乘积
用法:PRODUCT(数字1,数字2,数字3...)
返回值类型:数字
参数个数:N
示例:PRODUCT(3,7)=21 (相当于37,效果与运算符相等)
SQRT
平方根
用法:SQRT(数字)
返回值类型:数字
参数个数:1
示例:SQRT(4)=2 (相当于4开2次方)
FACT
返回某数的阶乘,等于 12...参数
用法:FACT(数字)
返回值类型:整数
参数个数:1
示例:FACT(6)=720 (相当于123456)
GCD
返回最大公约数
用法:GCD(数字1,数字2,数字3...)
返回值类型:整数
参数个数:N
示例:GCD(6,8)=2
LOG
可以根据指定底数返回数字的对数
用法:LOG(数字,底数)
返回值类型:数字
参数个数:2
示例:LOG(8,2)=3
LN
自然对数
用法:LN(数字)
返回值类型:数字
参数个数:1
示例:LN(0.5)=-0.693147180559945
(注意:LN函数即为底数=10的LOG函数)
系统函数
CHOOSE
根据给定的索引值,从参数中选出相应值。
用法:CHOOSE(整数,值1,值2,值3...)
返回值类型:与参数有关
参数个数:N
示例:CHOOSE(1,'A','B')='A
CREATOR
获取提单人姓名
用法:CREATOR()
返回值类型:文本
参数个数:0
示例:获取提单人姓名
CREATOR_DEPT
获取提单人部门,多个使用","分隔。
用法:CREATOR_DEPT()
返回值类型:文本
参数个数:0
示例:获取提单人部门
[函数配置]
[效果演示]
CREATOR_DEPT_INFO
获取提单人部门信息,与GETPROPERTY函数组合使用,如获取提单人的部门简称:
GETPROPERTY (CREATOR_DEPT_INFO ( ) ,'departmentName' ) 。
[{
"departmentName": "部门简称",
"deptFullName": "部门简称全称",
"id": "部门id",
"parentDepart": "父级部门id",
"wxId": "企业微信部门id",
"wxParentid": "企业微信父级部门id"
}, {
...
}]
用法:CREATOR_DEPT_INFO()
返回值类型:json数组
参数个数:0
示例:CREATOR_DEPT_INFO()
[函数配置]
[效果演示]
CREATOR_INFO
获取提单人信息JSON,与GETPROPERTY函数组合使用,如获取提单人的入职时间:GETPROPERTY(CREATOR_INFO(),'entryTime')。
{
"corpId": "corpId",
"departmentNames": "部门简称(多部门分号';'隔开)",
"deptFullNames": "部门简称(部门级别'->'隔开,多部门分号';'隔开)",
"entryTime": "入职时间",
"headPic": "头像(100x100)",
"leaveTime": "离职时间",
"mobile": "手机",
"orgName": "组织名称",
"personName": "姓名",
"position": "职位",
"userId": "用户id",
"userStatus": "2",
"wxDeptIds": "企业微信部门id|企业微信部门id2",
"wxUserId": "帐号"
}
用法:CREATOR_INFO()
返回值类型:json
参数个数:0
示例:获取提单人入职时间,不满1年无法提交申请
[函数配置]
[效果演示]
CURRENT_USER
获取当前填单人的用户名
用法:CURRENT_USER()
返回值类型:文本
参数个数:0
示例:获取审批人姓名
[函数配置]
[效果演示]
CURRENT_USER_DEPT
获取当前填单人的部门
用法:CURRENT_USER_DEPT()
返回值类型:文本
参数个数:0
示例:CURRENT_USER_DEPT()='信息业务部'
CURRENT_USER_DEPT_INFO
获取当前填单人的部门信息,与GETPROPERTY函数组合使用
[{
"departmentName": "部门简称",
"deptFullName": "部门简称全称",
"id": "部门id",
"parentDepart": "父级部门id",
"wxId": "企业微信部门id",
"wxParentid": "企业微信父级部门id"
}, {
...
}]
用法:CURRENT_USER_DEPT_INFO()
返回值类型:json数组
参数个数:0
示例:GETPROPERTY (CURRENT_USER_DEPT_INFO ( ) ,'departmentName' ) 。
CURRENT_USER_INFO
获取当前填单人信息,与GETPROPERTY函数组合使用,如获取当前填单人的入职时间:GETPROPERTY(CURRENT_USER_INFO(),'entryTime')。
{
"corpId": "corpId",
"departmentNames": "部门简称(多部门分号';'隔开)",
"deptFullNames": "部门简称(部门级别'->'隔开,多部门分号';'隔开)",
"entryTime": "入职时间",
"headPic": "头像(100x100)",
"leaveTime": "离职时间",
"mobile": "手机",
"orgName": "组织名称",
"personName": "姓名",
"position": "职位",
"userId": "用户id",
"userStatus": "2",
"wxDeptIds": "企业微信部门id|企业微信部门id2",
"wxUserId": "帐号"
}
用法:CURRENT_USER_INFO()
返回值类型:json
参数个数:0
示例:CURRENT_USER_INFO()
GETPROPERTY
获取数组或JSON对象的属性
用法:GETPROPERTY(数组或json,下标或属性)
返回值类型:与参数有关
参数个数:2
示例:GETPROPERTY(CREATOR_INFO(),'personName')='张三'
GETPROPERTY(SPLIT('企-微-云-平-台','-'),2)='微'
GETPROVINCE
根据身份证前六位数字返回省市区,可用于身份证产生省市区的默认值
用法:GETPROVINCE()
返回值类型:文本
参数个数:1
示例:根据身份证获取出生地点
[函数配置]
[效果演示]
GET_FORM_ITEM_VALUE
获取当前表单已提交的当前字段聚合值。
参数1为聚合类型,可选值为:
MIN,最小值
MAX,最大值
AVG,平均值(仅限数字)
COUNT,计数
SUM,求和(仅限数字)
FIRST,最早提交
LAST,最晚提交
参数2为是否限定数据范围为提单人:
true为限定,false为不限定
GET_FORM_ITEM_VALUE(()
返回值类型:文本
参数个数:2
示例:获取在最晚提交的明细中当前字段的值
[函数配置]
[效果演示]
IP
返回当前用户的外网IP地址
用法:IP()
返回值类型:文本
参数个数:0
示例:IP()='183.238.79.207'
LOCATIONDIF
计算两个地理位置的距离(单位:米)
用法:LOCATIONDIF(位置1,位置2)
返回值类型:数字
参数个数:2
示例:LOCATIONDIF(地理位置:广东道一信息技术股份有限公司,地理位置:潭村地铁站-C口)=806.9166062813576
REFERER
返回当前用户的请求头中的Referer,告诉服务器用户是从哪个页面链接过来的
用法:REFERER()
返回值类型:文本
参数个数:0
示例:REFERER()='https://wbg.do1.com.cn/'
STR_FORMAT
字符串格式化,通过%s格式化文本
用法:STR_FORMAT(文本模板,文本1,文本2,文本3...)
返回值类型:文本
参数个数:N
示例:字符串格式化
[函数配置]
[效果演示]
SWITCH
根据值列表计算一个值并返回与第一个匹配值对应的结果
用法:SWITCH(表达式,值1,返回值1,值2,返回值2,默认值)
返回值类型:与参数有关
参数个数:N
示例:SWITCH(2,1,'A',2,'B','C')='B'
[函数配置]
[效果演示]
UPPER_RMB
金额大写/UPPERMONEY,金额必须小于1万亿
用法:UPPER_RMB(金额)
返回值类型:文本
参数个数:1
示例:UPPER_RMB('840313.41')='捌拾肆万零叁佰壹拾叁元肆角壹分'
UUID
返回通用唯一识别码,可适用于随机流水号的使用场景
用法:UUID()
返回值类型:文本
参数个数:0
示例:UUID()='babc7572-4483-11e8-9622-6c92bf46f24e'
UUID32
返回通用唯一识别码,去掉横杠
用法:UUID32()
返回值类型:文本
参数个数:0
示例:UUID32()='babc7572448311e896226c92bf46f24e'