逻辑函数

1. IF

IF(判断条件,真值, 假值)

1.1 函数简介:

根据判断条件的正确(true)或错误(false),返回不同的值。

1.2 说明:

判断条件,真值,假值均为必填项,否则函数无法运算。

1.3 函数案例:

给客服自动打分,如果,服务态度和解惑程度的平均分大于等于4,显示客服优秀,否则,显示一般。
函数 - 图1

如果想要判断结果可以有更多选择,就需要在IF函数里嵌套IF函数。
例如,客户综合打分大于等于4.5分,显示客服卓越。打分在3至4.5分之间,显示客服良好。低于3分,显示客服低劣。
函数 - 图2

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,”差”)
函数 - 图3

注意:判断条件为依次判断,如果顺序颠倒,则会按照次序靠前的判断条件。
错误案例:
=IFS(成绩字段>=75, “良”,成绩字段>=90,”优”,成绩字段>=60,”中”,成绩字段<60,”差”)
此时,成绩字段的值如果为90,则因为优先判断符合第一个判断条件“成绩字段>=75”,公式输出的就是“良”。

AND

AND(logical1, [logical2], …)
函数简介:
任何一个参数的逻辑值为false,即返回false;只有当所有参数的逻辑值为true,才返回true。
说明:
logical:逻辑值,例如,2>1的逻辑值为true。
函数案例:
两个分数都为90分以上时才评价为优秀,否则评价为其他。
函数 - 图4

OR

OR(logical1,[logical2], …)
函数简介:
任何一个参数逻辑值为true,即返回true;只有当所有逻辑参数值为false,才返回false。
说明:
logical:逻辑值,例如,2>1的逻辑值为true。
函数案例:
两个分数任意一个为90分以上时评价为优秀,否则评价为其他。
函数 - 图5

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:字段或内容
至少要有一个及以上字段或内容,否则函数无法运算。被连接的字段或者函数之间,用逗号隔开。如果是字符串,需要用引号包裹起来。
函数案例:
申请者回答问题,隐藏每一项的得分,统计总分,只反馈结果。
函数 - 图6

MID

MID(text, startnum, numchars)
函数简介:
返回字符串中从指定位置开始的特定数目的字符,该数目由用户指定
说明:
text:字段或内容
startnum:指定的位置
numchars:指定的字符数量
均为必填项,否则函数无法运算。
函数举例:
通过身份证获取生日信息。取从第7位开始的8位数字。并用“-”连接起来。
函数 - 图7

LEFT

LEFT(text,[num_chars])
函数简介:
从一个字段的左数第一个字符开始返回指定个数的字符
说明:
text:字段或内容
num_chars:指定的字符数量
均为必填项,否则函数无法运算。
函数案例:
为保护客户隐私,将客户的手机号中间4位隐藏,只显示前3位及后4位。使用LEFT函数获取前3位数字,使用MID函数获取从第8位开始的4位数字,最后使用CONCAT函数与 * 号连在一起。
函数 - 图8

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:替换的字段或内容
均为必填项,否则函数无法运算。
函数案例:
将员工的个人工号填进部门统一编号,来生成统一识别身份编号。
函数 - 图9

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。
函数案例:
函数 - 图10

2.将日期时间字段转化为星期格式。『 EEE 』
E表示星期,结果为0~6,分别表示星期日~星期六
EE表示星期,例如:周日、周一、周二等
EEE表示星期,例如:星期日、星期一、星期二等
函数案例:
函数 - 图11

JOIN

JOIN(“连接符号”,字段/文本)
函数简介:
允许用户自定义多值字段的连接符
说明:
连接符号:必填,内容为客户自定义,具体效果为替代当前文本传输出去时的默认连接符
字段/文本:必填且最少一个
函数案例:
自定义webhook传输出去的表格子字段连接符号

数字函数

AVERAGE

AVERAGE(number1, [number2], …)
函数简介:
返回所有参与运算数字的平均值
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
给客服自动打分,如果,服务态度和解惑程度的平均分大于4,显示客服优秀,否则,显示一般。
函数 - 图12

COUNT

COUNT(value1, [value2], …)
函数简介:
返回所有参与运算字段中值(字符串)的数量
说明:
value:字段
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
统计选了多少选项。
函数 - 图13

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、参数为文本时:
函数 - 图14

MAX

MAX(number1, number2, …)或MAX(date1, date2, …)
函数简介:
返回所有参与数字/日期中的最大值
说明:
number:数字字段/数字内容
date:日期字段/日期内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
计算月营业额的最大值。
函数 - 图15

MIN

MIN(number1, number2, …)或MIN(date1, date2, …)
函数简介:
返回所有参与数字/日期中的最小值,用法同MAX()
说明:
number:数字字段或数字内容
date:日期字段/日期内容
至少要有一个及以上字段或内容,否则函数无法运算。

ROUND

ROUND(number, num_digits)
函数简介:
将数字四舍五入到指定的位数
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
通过年收入,计算月收入,保留两位小数。
函数 - 图16

INT

INT(number)
函数简介:
将数字向下取整
说明:
number:数字字段或数字内容
number必填,否则函数无法运算。
函数案例:
函数 - 图17

MOD

MOD(number,divisor)
函数简介:
返回两数相除的余数
说明:
number:数字字段或数字内容
divisor:除数
均为必填项,否则函数无法运算。
函数案例:
计算100个蛋糕,平均分给13个人,会剩下多少蛋糕。
函数 - 图18

PRODUCT

PRODUCT(number1, [number2], …)
函数简介:
返回所有参与字段中数值的乘积
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
通过单价及数量,计算总价。
函数 - 图19

SUM

SUM(number1, [number2], …)
函数简介:
返回所有参与字段中数值的总和
说明:
number:数字字段或数字内容
至少要有一个及以上字段或内容,否则函数无法运算。
函数案例:
统计某个店面的第一季度总营业额。
函数 - 图20

SUMPRODUCT

SUMPRODUCT([array1], [array2])
函数简介:
在给定的数组中,将数组间对应的元素相乘,并返回乘积之和
说明:
array:数字数组
至少要有一个及以上字段或内容,否则函数无法运算。
如果数组内值的数量不一样,以最少的为准。例{1,2,3,4},{1,2},{1,2}的乘积之和是9=111+222。

SUMIF

SUMIF([array1],”text”, [array2(number)])
函数简介:
统计表格中符合条件的数值,并求和
说明:
array:数字数组
至少要有一个及以上字段或内容,否则函数无法运算。
函数计算案例:
函数 - 图21

NUM

NUM(text)
函数简介:
返回文本中的数字
说明:
可以获取单行文本,单项选择,下拉选择,数据关联字段中的数字。

RMBUPPER

RMBUPPER(number)
函数简介:
把数字转换为大写的中文金额。
例如:35457.567

转化结果:叁万伍仟肆佰伍拾柒元伍角陆分柒毫

ROUNDUP

ROUNDUP(number, num_digits)
函数简介:
将数字保留到指定的位数,最后一位向上取。
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
将数字保留到小数点后两位,最后一位向上取。
函数 - 图22

ROUNDDOWN

ROUNDDOWN(number, num_digits)
函数简介:
将数字保留到指定的位数,最后一位向下取。
说明:
number:数字字段或数字内容
num_digits:保留的位数
均为必填项,否则函数无法运算。
函数案例:
将数字保留到小数点后两位,最后一位向下取。
函数 - 图23

POWER

POWER (number,number )
函数简介:
计算数字num的n次方,n可以为分数或者整数
说明:
number:数字字段或数字内容
均为必填项,否则函数无法运算。
函数案例:
函数 - 图24

LN

LN(number)
函数简介:
计算指定数字的自然对数
说明:
number:数字字段或数字内容
number必填,否则函数无法运算
函数案例:
第一步,设置两个数字字段,第二个数字字段命名为“自然对数”,通过公式计算,选择LN函数和第一个数字字段
函数 - 图25

第二步,保存发布后,填写表单时,在第一个数字字段中输入10,第二个数字字段自动计算10的自然对数
函数 - 图26

SQRT

SQRT(number)
函数简介:
计算指定数字的平方根
说明:
number:数字字段或数字内容
number必填,否则函数无法运算。
函数案例:
函数 - 图27

时间函数

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()
函数简介:
返回当前日期,可以在单行文本字段和日期字段中使用。
说明:
括号中无需填写内容,可以直接使用
函数案例:
函数 - 图28

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()
函数简介:
返回一个随机码,是字符串,请在文本字段里使用。
说明:
括号中无需填写内容,可以直接使用
函数案例:
函数 - 图29

RECNO

RECNO()
函数简介:
累计器,依据当前表单被新打开的次数进行不断累加计算,起始值为1。
说明:
可用于流水号的自动生成。

TEXTUSER

函数简介:
获取所选成员在通讯录中的名称或邮箱
如:
TEXTUSER(成员字段,”name”)获取所选成员在通讯录中的名称
TEXTUSER(成员字段,”email”)获取所选成员的邮箱
注意:企业微信用户不支持使用TEXTUSER(成员字段,”name”)获取所选成员在通讯录中的名称

TEXTDEPT

函数简介:
获取所选部门的名称或ID。
如:
TEXTDEPT(部门字段,”name”)获取所选部门的名称
TEXTDEPT(部门字段,”id”)获取所选部门的部门ID
注意:企业微信用户不支持使用TEXTDEPT(部门字段,”name”)获取部门名称

GETUSERNAME

GETUSERNAME()
函数简介:
获取当前用户的昵称
注意:企业微信用户不支持该类型函数

GETUSEREMAIL

GETUSEREMAIL()
函数简介:
获取申请人的邮箱

REGTEST

REGTEST(文本字段/要验证的文本, 正则表达式规则,正则表达式修饰符)
函数简介:
根据用户指定的正则表达式,验证文本是否满足条件,满足返回true,不满足返回false,可以与IF等逻辑方法结合使用
函数 - 图30

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解码的内容。