逻辑函数
1. IF
1.1 函数简介:
根据判断条件的正确(true)或错误(false),返回不同的值。
1.2 说明:
1.3 函数案例:
给客服自动打分,如果,服务态度和解惑程度的平均分大于等于4,显示客服优秀,否则,显示一般。
如果想要判断结果可以有更多选择,就需要在IF函数里嵌套IF函数。
例如,客户综合打分大于等于4.5分,显示客服卓越。打分在3至4.5分之间,显示客服良好。低于3分,显示客服低劣。
IFS
IFS(判断条件1,真值1,判断条件2(可选),真值2(可选),···)
函数简介:
检查是否满足一个或多个条件,且返回符合第一个 TRUE 条件的值
说明:
1、判断条件1,真值1,为必填项,否则函数无法运算;
2、判断条件1不符合时,会进入判断条件2,如果判断条件1符合,则不会进入判断条件2;
3、IFS函数不需要输入假值,如果不满足所有判断条件,则输出“ ”空值作为默认假值;
函数案例:
计算学生成绩等级,90分及以上为“优”,75分及以上为“良”,60分及以上为“中”,60分以下为“差”,则公式为
=IFS(成绩字段>=90,”优”,成绩字段>=75, “良”,成绩字段>=60,”中”,成绩字段<60,”差”)
注意:判断条件为依次判断,如果顺序颠倒,则会按照次序靠前的判断条件。
错误案例:
=IFS(成绩字段>=75, “良”,成绩字段>=90,”优”,成绩字段>=60,”中”,成绩字段<60,”差”)
此时,成绩字段的值如果为90,则因为优先判断符合第一个判断条件“成绩字段>=75”,公式输出的就是“良”。
AND
AND(logical1, [logical2], …)
函数简介:
任何一个参数的逻辑值为false,即返回false;只有当所有参数的逻辑值为true,才返回true。
说明:
logical:逻辑值,例如,2>1的逻辑值为true。
函数案例:
两个分数都为90分以上时才评价为优秀,否则评价为其他。
OR
OR(logical1,[logical2], …)
函数简介:
任何一个参数逻辑值为true,即返回true;只有当所有逻辑参数值为false,才返回false。
说明:
logical:逻辑值,例如,2>1的逻辑值为true。
函数案例:
两个分数任意一个为90分以上时评价为优秀,否则评价为其他。
XOR
XOR(logical1,[logical2], …)
函数简介:
返回所有参数的异或值。
异或是指,两个值相同,返回false,两个值不同,返回true。
说明:
logical:逻辑值,例如,2>1的逻辑值为true
NOT
NOT(logical)
函数简介:
返回参数逻辑值的反值。NOT(2>1)的结果就是false。
说明:
logical:逻辑值,例如,2>1的逻辑值为true,1>2的逻辑值为false。
ISEMPTY
ISEMPTY(text)
函数简介:
判断值是否为空字符串或者空数组。如果是空值,返回true。
可以判断字段是否填写。单选,多选,下拉选择,图片选择,成员字段有没有选值。附件有没有上传。
文本函数
CONCAT
CONCAT(text1,[text2], …)
函数简介:
字符串连接函数,连接函数中的所有字段
说明:
text:字段或内容
至少要有一个及以上字段或内容,否则函数无法运算。被连接的字段或者函数之间,用逗号隔开。如果是字符串,需要用引号包裹起来。
函数案例:
申请者回答问题,隐藏每一项的得分,统计总分,只反馈结果。
MID
MID(text, startnum, numchars)
函数简介:
返回字符串中从指定位置开始的特定数目的字符,该数目由用户指定
说明:
text:字段或内容
startnum:指定的位置
numchars:指定的字符数量
均为必填项,否则函数无法运算。
函数举例:
通过身份证获取生日信息。取从第7位开始的8位数字。并用“-”连接起来。
LEFT
LEFT(text,[num_chars])
函数简介:
从一个字段的左数第一个字符开始返回指定个数的字符
说明:
text:字段或内容
num_chars:指定的字符数量
均为必填项,否则函数无法运算。
函数案例:
为保护客户隐私,将客户的手机号中间4位隐藏,只显示前3位及后4位。使用LEFT函数获取前3位数字,使用MID函数获取从第8位开始的4位数字,最后使用CONCAT函数与 * 号连在一起。
RIGHT
RIGHT(text,[num_chars])
函数简介:
从一个字段的右数第一个字符开始返回指定个数的字符
说明:
text:字段或内容
num_chars:指定的字符数量
均为必填项,否则函数无法运算。
LEN
LEN(text)
函数简介:
返回文本字符串中的字符个数。
说明:
text:想要计算长度的字段或字符串,必填。
UPPER
UPPER(text)
函数简介:
将文本字符串中的小写字母变成大写。
说明:
text:文本字段或字符串,必填。
LOWER
LOWER(text)
函数简介:
将文本字符串中的大写字母变成小写。
说明:
text:文本字段或字符串,必填。
REPLACE
REPLACE(oldtext, startnum, numchars, newtext)
函数简介:
根据指定的字符数,将字符串中部分内容替换为不同的字符串
说明:
oldtext:想要替换的字段或内容
startnum:指定的位置
numchars:指定的字符数量
newtext:替换的字段或内容
均为必填项,否则函数无法运算。
函数案例:
将员工的个人工号填进部门统一编号,来生成统一识别身份编号。
SEARCH
SEARCH(find_text,_within_text,[startnum])
函数简介:
在第二个字段中查找第一个字段,并返回第一个字段字符串的起始位置的编号,该编号从第二个字段字符串的第一个字符算起。返回0则表示没有查到。
说明:
findtext:要查找的字段或者字符串,必填项
withintext:被查询的字段或者字符串,必填项
[start_num]:查询的起始位置,不填默认为1。填写小于1的整数都算作是1。
TEXT
TEXT(value,text_format)
函数简介:
将字段的值转化为特定格式的文本或数字
说明:
value:字段或内容
text_format:特定的格式,目前提供以下格式:
1.将日期时间字段的『 年月日,时分秒 』转化为『 YYYY MM DD,HH mm ss 』的特定格式(不填写时分秒也可以执行)。value,text_format均为必填项,否则函数无法运算。年月日时分秒对应 YYYY, MM, DD, HH, mm, ss。
函数案例:
2.将日期时间字段转化为星期格式。『 EEE 』
E表示星期,结果为0~6,分别表示星期日~星期六
EE表示星期,例如:周日、周一、周二等
EEE表示星期,例如:星期日、星期一、星期二等
函数案例:
JOIN
JOIN(“连接符号”,字段/文本)
函数简介:
允许用户自定义多值字段的连接符
说明:
连接符号:必填,内容为客户自定义,具体效果为替代当前文本传输出去时的默认连接符
字段/文本:必填且最少一个
函数案例:
自定义webhook传输出去的表格子字段连接符号
数字函数
AVERAGE
AVERAGE(number1, [number2], …)
函数简介:
返回所有参与运算数字的平均值
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
给客服自动打分,如果,服务态度和解惑程度的平均分大于4,显示客服优秀,否则,显示一般。
COUNT
COUNT(value1, [value2], …)
函数简介:
返回所有参与运算字段中值(字符串)的数量
说明:
value:字段
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
统计选了多少选项。
COUNTIF
COUNTIF(value1, [value2], …, criteria)
统计满足条件的参数个数。但参数类型不同时,设置有所区别。
1、参数为数字时:
- COUNTIF([1,2,3,4], “>2”),结果为2
- COUNTIF([1,2,3,4], “!=2”),结果为3
- COUNTIF([1,2,3,4], “>=1”),结果为4
- COUNTIF([“a”, “b”, “c”], “d”),结果为0
2、参数为文本时:
MAX
MAX(number1, number2, …)或MAX(date1, date2, …)
函数简介:
返回所有参与数字/日期中的最大值
说明:
number:数字字段/数字内容
date:日期字段/日期内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
计算月营业额的最大值。
MIN
MIN(number1, number2, …)或MIN(date1, date2, …)
函数简介:
返回所有参与数字/日期中的最小值,用法同MAX()
说明:
number:数字字段或数字内容
date:日期字段/日期内容
至少要有一个及以上字段或内容,否则函数无法运算。
ROUND
ROUND(number, num_digits)
函数简介:
将数字四舍五入到指定的位数
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
通过年收入,计算月收入,保留两位小数。
INT
INT(number)
函数简介:
将数字向下取整
说明:
number:数字字段或数字内容
number必填,否则函数无法运算。
函数案例:
MOD
MOD(number,divisor)
函数简介:
返回两数相除的余数
说明:
number:数字字段或数字内容
divisor:除数
均为必填项,否则函数无法运算。
函数案例:
计算100个蛋糕,平均分给13个人,会剩下多少蛋糕。
PRODUCT
PRODUCT(number1, [number2], …)
函数简介:
返回所有参与字段中数值的乘积
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
通过单价及数量,计算总价。
SUM
SUM(number1, [number2], …)
函数简介:
返回所有参与字段中数值的总和
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
统计某个店面的第一季度总营业额。
SUMPRODUCT
SUMPRODUCT([array1], [array2])
函数简介:
在给定的数组中,将数组间对应的元素相乘,并返回乘积之和
说明:
array:数字数组
至少要有一个及以上字段或内容,否则函数无法运算。
如果数组内值的数量不一样,以最少的为准。例{1,2,3,4},{1,2},{1,2}的乘积之和是9=111+222。
SUMIF
SUMIF([array1],”text”, [array2(number)])
函数简介:
统计表格中符合条件的数值,并求和
说明:
array:数字数组
至少要有一个及以上字段或内容,否则函数无法运算。
函数计算案例:
NUM
NUM(text)
函数简介:
返回文本中的数字
说明:
可以获取单行文本,单项选择,下拉选择,数据关联字段中的数字。
RMBUPPER
RMBUPPER(number)
函数简介:
把数字转换为大写的中文金额。
例如:35457.567
ROUNDUP
ROUNDUP(number, num_digits)
函数简介:
将数字保留到指定的位数,最后一位向上取。
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
将数字保留到小数点后两位,最后一位向上取。
ROUNDDOWN
ROUNDDOWN(number, num_digits)
函数简介:
将数字保留到指定的位数,最后一位向下取。
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
将数字保留到小数点后两位,最后一位向下取。
POWER
POWER (number,number )
函数简介:
计算数字num的n次方,n可以为分数或者整数
说明:
number:数字字段或数字内容
均为必填项,否则函数无法运算。
函数案例:
LN
LN(number)
函数简介:
计算指定数字的自然对数
说明:
number:数字字段或数字内容
number必填,否则函数无法运算
函数案例:
第一步,设置两个数字字段,第二个数字字段命名为“自然对数”,通过公式计算,选择LN函数和第一个数字字段
第二步,保存发布后,填写表单时,在第一个数字字段中输入10,第二个数字字段自动计算10的自然对数
SQRT
SQRT(number)
函数简介:
计算指定数字的平方根
说明:
number:数字字段或数字内容
number必填,否则函数无法运算。
函数案例:
时间函数
YEAR
YEAR(date)
函数简介:
返回日期中的年份
说明:
date:日期字段,必填
MONTH
MONTH(date)
函数简介:
返回日期中的月份,用法同YEAR()
说明:
date:日期字段,必填
DAY
DAY(date)
函数简介:
返回日期中的天,用法同YEAR()
说明:
date:日期字段,必填
HOUR
HOUR(date)
函数简介:
返回日期中的小时,用法同YEAR()
说明:
date:日期字段,必填
MINUTE
MINUTE(date)
函数简介:
返回日期中的分钟,用法同YEAR()
说明:
date:日期字段,必填
SECOND
SECOND(date)
函数简介:
返回日期中的秒,用法同YEAR()
说明:
date:日期字段,必填
DATE
DATE(year,month,day,hour,minute)
函数简介:
将数字拼接成为年份
说明:
year:数字字段或数字内容
month:数字字段或数字内容
day:数字字段或数字内容
hour:数字字段或数字内容
minute:数字字段或数字内容
均为必填项,否则函数无法运算。
CURDATE
CURDATE()
函数简介:
返回当前日期,可以在单行文本字段和日期字段中使用。
说明:
括号中无需填写内容,可以直接使用
函数案例:
NOW
NOW()
函数简介:
返回当前日期时间,精准到时/分/秒,用法同CURDATE()。(日期字段需要勾选“精确到时/分/秒”,才能显示精准时间)
说明:
括号中无需填写内容,可以直接使用
DAYS
DAYS(end_timestamp, start_timestamp)
函数简介:
返回两个日期字段之间的天数,可返回负值。例如,2018/1/30与2018/1/28相差2天。
说明:
end_timestamp: 必填项。结束日期。
start_timestamp: 必填项。起始日期。
DATEDELTA
DATEDELTA(timestamp, deltadays)
函数简介:
将指定日期加/减指定天数,并显示目标日期。
说明:
timestamp: 必填项。初始日期。
deltadays: 必填项。需要加减的天数。正数为增加,负数为减少。
NETWORKDAYS
NETWORKDAYS(日期字段1,日期字段2, “weekend”, 指定假期1, 指定假期2…)
函数简介:
返回两个日期之间的工作日数。
日期字段1:开始日期
日期字段2:结束日期
weekend:不用指定假期时为选填。周末字符串,用于指定周末日,未填写时默认周末为休息日。每个字符表示一周中的一天(从周日开始),共七个字符,其中用0表示工作日,用1表示休息日。例如:1100000表示周日和周一为休息日。
指定假期:选填,从工作日日历中排除的一个或多个日期。例如:”2020-10-01”
说明:
如果 start_date 晚于 end_date,则返回值将为负数,数量将是所有工作日的数量
函数案例:
单个指定假期:NETWORKDAYS(日期1,日期2,”0000011”, “2020-10-01”)
多个指定假期:NETWORKDAYS(日期1,日期2,”0000011”, “2020-10-01”,”2020-10-02”,”2020-10-03”)
DATETOTIMESTAMP
DATETOTIMESTAMP(date)
函数简介:
日期转时间戳函数,将日期转化为13位毫秒级时间戳,例:1596078632694。
说明:
data:日期字段,必填。
日期格式有年月日、年月日时分、年月日时分秒。前两者在更高精度的日期位统一补0。
对于格式错误的参数,统一返回 Invalid Value。
TIMESTAMPTODATE
TIMESTAMPTODATE(时间戳)
函数简介:
时间戳转日期函数,时间戳统一转换为[年-月-日 时:分:秒]格式日期字符串。
说明:
时间戳:文本格式,必填。
用户可以在使用时根据需要截取。
需要兼容10位和13位时间戳。
对于格式错误的参数,统一返回 Invalid Value。
高级函数
RDID
RDID()
函数简介:
返回一个随机码,是字符串,请在文本字段里使用。
说明:
括号中无需填写内容,可以直接使用
函数案例:
RECNO
RECNO()
函数简介:
累计器,依据当前表单被新打开的次数进行不断累加计算,起始值为1。
说明:
可用于流水号的自动生成。
TEXTUSER
函数简介:
获取所选成员在通讯录中的名称或邮箱
如:
TEXTUSER(成员字段,”name”)获取所选成员在通讯录中的名称
TEXTUSER(成员字段,”email”)获取所选成员的邮箱
注意:企业微信用户不支持使用TEXTUSER(成员字段,”name”)获取所选成员在通讯录中的名称
TEXTDEPT
函数简介:
获取所选部门的名称或ID。
如:
TEXTDEPT(部门字段,”name”)获取所选部门的名称
TEXTDEPT(部门字段,”id”)获取所选部门的部门ID
注意:企业微信用户不支持使用TEXTDEPT(部门字段,”name”)获取部门名称
GETUSERNAME
GETUSERNAME()
函数简介:
获取当前用户的昵称
注意:企业微信用户不支持该类型函数
GETUSEREMAIL
REGTEST
REGTEST(文本字段/要验证的文本, 正则表达式规则,正则表达式修饰符)
函数简介:
根据用户指定的正则表达式,验证文本是否满足条件,满足返回true,不满足返回false,可以与IF等逻辑方法结合使用
MD5
MD5(加密内容,加密方式)
函数简介:
按照所选加密方式对插入的表单字段及文本进行加密
说明:
将文本MD5加密,可自定义加密的位数(16/32位)
加密内容:必填,文本,按照选定加密方式直接进行MD5加密。如果插入字段为多值字段(成员/部门/上传文件/多项&图片选择/表格子字段),则默认只取第一个值;若插入字段为富文本或定位,则不作处理直接取其文本;
加密方式:选填,填写16/32,对加密内容进行16/32位小写加密,不填写则默认32
函数案例:
将一条数据中的部分字段进行MD5加密后作为三方系统对接的鉴权参数
TRIPLEDES
TRIPLEDES(内容,密钥, 向量,模式,填充)
函数简介:
将加密内容通过TRIPLEDES的方式,可选按指定加密模式和填充来加密
说明:
内容:必填,文本,NOPADDING填充下内容长度必须是8的倍数,按照密钥直接进行TRIPLEDES加密。如果插入字段为多值字段(成员/部门/上传文件/多项&图片选择/表格子字段),则默认只取第一个值;若插入字段为富文本或定位,则不作处理直接取其文本(仅支持Iso10126填充)
密钥:必填,密钥长度必须是8位的倍数
向量:必填,长度必须是8位,ECB模式下忽略偏移向量
模式:选填,可选范围ECB,CBC,CTR,默认值ECB,ECB模式不计偏移向,CTR模式只支持NOPADDING
填充:选填,可选范围NOPADDING, Iso10126, 默认值NOPADDING
加密结果产生的byte数组采用base64处理转化为字符串
UNICODEENCODE
UNICODEENCODE(字段/文本)
函数简介:
将字段/文本内容使用Unicode编码。
说明:
字段/文本:必填,要使用Unicode编码的内容。
UNICODEDECODE
UNICODEDECODE(字段/文本)
函数简介:
将字段/文本内容使用Unicode解码。
说明:
字段/文本:必填,要使用Unicode解码的内容。