80个系统函数
目前支持五大类型的函数:数学函数、日期函数、文本函数、逻辑函数、高级函数,80多种类型,基本满足日常的数据处理需求。
一、数学函数
SUM
功能: 返回多个数字的总和
用法: SUM( 数值1,数值2,数值3,... )
示例: SUM(3,6,8), 结果:17
如果有字段为空时,则按0计算。
AVERAGE
功能: 返回多个数字的的平均值
用法: AVERAGE( 数值1,数值2,数值3,... )
示例: AVERAGE(3,6,8) ,结果:5.67
为空为0时怎么计算
-
字段为空时
例如,3个字段求平均值,其中一个字段为空,另外两个分别是2和4,则平均值是(2+4)/2=3。
-
字段为0时
例如,3个字段求平均值,其中一个字段为0,另外两个分别是2和4,则平均值是(0+2+4)/3=2。
MIN
功能: 返回多个数字中的最小数
用法: MIN( 数值1,数值2,数值3,... )
示例: MIN(3,6,8), 结果:3
如果有字段为空时,则按0计算。
MAX
功能: 返回多个数字中的最大数
用法: MAX( 数值1,数值2,数值3,... )
示例: MAX(3,6,8), 结果:8
如果有字段为空时,则按0计算。
PRODUCT
功能: 返回多个数字的乘积
用法: PRODUCT( 数值1,数值2,数值3,... )
示例: PRODUCT(3,6,8), 结果:144
如果有字段为空时,则按0计算。
COUNTA
功能: 统计多个字段中,不为空的字段数量
用法: COUNTA( 字段1,字段2,字段3,... )
示例: COUNTA(单选题1,单选题2,单选题3) ,结果:2,表示有两个字段不为空。
ABS
功能: 计算数字的绝对值
用法: ABS( 数值 )
示例 :
- ABS(-3.991) , 结果是:3.991

INT
功能: 返回永远小于等于原数字的最接近的整数
用法: INT( 数值 )
示例:
- INT(3.991) , 结果是:3;
- INT(-3.991) ,结果是:-4,
MOD
功能: 返回两数相除的余数
用法: MOD( 被除数,除数 )
参数说明: 两个参数都是必填的,可以是字段值,也可以是静态参数。
如果被除数字段为空时,则按0计算。 如果除数为空时或为0时,不计算。
ROUND、ROUNDUP、ROUNDDOWN
1、ROUND
功能: 按小数点指定保留位数,对数字进行四舍五入。
用法: ROUND( 数值字段或常数,保留小数位数)
配置示例: ROUND(3.14159,3),结果:3.142。如果第4位大于等于5,则进1位,如果第4位小于5,则直接舍去。
2、ROUNDUP
功能: 以绝对值增大的方向按指定位数舍入数字
用法: ROUNDUP( 数值字段或常数,保留小数位数 )
示例: ROUNDUP(3.14159,3) ,结果是:3.142。 无论3位数后的数字是否大于5,只要大于0都直接近1位。
3、ROUNDDOWN
功能: 以绝对值减小的方向按指定位数舍去数字
用法: ROUNDDOWN( 数值字段或常数,保留小数位数 )
示例: ROUNDDOWN(3.14159,3),结果:3.141。无论3位数后的数字否小于5都直接舍去。
注意: 1、ROUND、ROUNDDOWN 和 ROUNDUP函数中保留的位数要和数值字段的设置位数要保持一致,不然计算结果可能不合期望。
2、函数中保留位数的参数如果不写,则视为直接取整数。
CEILING、FLOOR
CEILING
功能: 以绝对值增大的方向按指定倍数舍入数字
用法: CEILING( 数值字段或常数,基数 )
示例: CEILING(9,2),结果:10,(大于9且是2的最小倍数)
FLOOR
功能: 以绝对值减小的方向按指定倍数舍入数字
用法: FLOOR( 数值字段或常数,基数 )
示例: CEILING(9,2),结果:8,(小于9且是2的最大倍数)
POWER
功能: 计算填入数值的次方
用法: POWER( 底数,指数 )
示例: POWER(4,3),结果:64。
LOG
功能: 计算填入数值的对数
用法: LOG( 真数,底数 )
示例: LOG(9,3),结果:2。
COUNTBLANK
功能: 计算参数中包含的空值个数
用法: COUNTBLANK( 数值1,数值2,数值3 )
示例: COUNTBLANK( 12 , , ),结果:2。
COUNTCHAR
功能: 统计文本字段的字符数量
用法: COUNTCHAR( 文本字段 )
RANDBETWEEN
功能: 随机返回两个数值之间的整数,负数也支持。
用法: RANDBETWEEN( 最小值字段,最大值字段 )
NUMBER
功能: 将文本等类型的值转为数值
用法: NUMBER( 文本)
PI
功能:直接返回圆周率 π(圆的圆周与其直径的比)的近似值。该函数不需要任何参数。
语法:PI()
示例:调用圆周率常数
PI()
- 结果:返回数值 3.141592653589793
RADIANS
功能:将角度的度数转换为弧度。系统在执行三角函数(如 SIN、COS、TAN 等)计算时需要使用弧度作为参数,通常配合此函数进行前置转换。
语法:RADIANS(度)
示例:角度转弧度
将 90 度的角度值转换为对应的弧度值:
RADIANS(90)
- 结果:返回数值 1.5707963267949(90 度约为 1.5708 弧度)。
DEGREES
功能:将角度的弧度值转换为度数。与 RADIANS 函数的功能相反,通常用于将三角函数计算出的弧度结果转化为符合日常习惯的度数。
语法:DEGREES(弧度)
示例:弧度转度数
将圆周率 π 的弧度值转换为对应的度数:
DEGREES(PI())
- 结果:返回数值 180(π 弧度 = 180 度)。
SIN
功能:返回指定弧度表示的角度的正弦值。注意: 参数必须为弧度。如果是日常使用的角度,请务必先使用 RADIANS 函数将其转换为弧度。
语法:SIN(弧度)
示例:计算正弦值
计算 1 弧度的正弦值:
SIN(1)
- 结果:返回数值 0.841470984807897(即 1 弧度,约为 57.3 度的正弦值)。
拓展:角度计算
若要计算 30 度的正弦值,需嵌套转换函数:
SIN(RADIANS(30))(返回数值 0.5)。
COS
功能:返回以弧度表示的角度的余弦值。注意: 参数必须为弧度。如果是日常使用的角度(度数),请务必先使用 RADIANS 函数将其转换为弧度。
语法:COS(弧度)
示例:计算余弦值
计算 1 弧度的余弦值:
COS(1)
- 结果:返回数值 0.54030230586814(即 1 弧度,约为 57.3 度的余弦值)。
TAN
功能:返回以弧度表示的角度的正切值。注意: 参数必须为弧度。如果是日常使用的角度(度数),请务必先使用 RADIANS 函数将其转换为弧度。
语法:TAN(弧度)
示例:计算正切值
计算 1 弧度的正切值:
TAN(1)
- 结果:返回数值 1.5574077246549(即 1 弧度,约为 57.3 度的正切值)。
ASIN
功能:返回数值的反正弦值。返回的结果是角度的弧度值。若想将结果转换为日常使用的角度(度数),可配合使用 DEGREES 函数。
语法:ASIN(数值)
(注:输入的数值必须在 -1 到 1 之间)
示例:计算反正弦值
ASIN(0.84114709848079)
- 结果:返回近似值 0.999400825621613(即正弦值为 0.84114709848079 的角度的弧度值,约为 57.3 度)。
ACOS
功能:返回数值的反余弦值。返回的结果是角度的弧度值。若想将结果转换为日常使用的角度(度数),可配合使用 DEGREES 函数。
语法:ACOS(数值)
(注 :输入的数值必须在 -1 到 1 之间)
示例:计算反余弦值
ACOS(0.54030230586814)
- 结果:返回数值 1。
ATAN
功能:返回数值的反正切值。返回的结果是角度的弧度值。若想将结果转换为日常使用的角度(度数),可配合使用 DEGREES 函数。
语法:ATAN(数值)
示例:计算反正切值
ATAN(1)
- 结果:返回弧度 incremental 值 0.785398163397448(转换为角度后为 45 度,其正切值为 1)。
NORM_S_DIST
功能:返回标准正态分布的累积函数(即其平均值为零,标准偏差为 1)。
语法:NORM_S_DIST(z, [累积])
- 参数说明
z:表示需要计算其分布的数值。累积:逻辑值,决定函数返回的形式。如果为true(默认值),返回累积分布函数;如果为false,返回概率密度函数。
示例:计算标准正态分布
NORM_S_DIST(1.96, true)
- 结果:返回数值 0.975(表示在标准正态分布中,Z 值小于等于 1.96 的累积概率为 97.5%)。
PERMUT
功能:计算从一组对象中选择特定数量对象时的排列数(考虑提取顺序)。
语法:PERMUT(总对象数, 选择对象数)
- 参数说明
总对象数:表示总对象数量,必须是非负整数。选择对象数:表示每次排列中选择的对象数量,也必须是非负整数。
示例:计算书籍排列方式
从 5 本书中选择 3 本进行排列:
PERMUT(5, 3)
- 结果:返回数值 60(表示共有 60 种不同的排列方式)。
COMBIN
功能:计算从一组对象中选择特定数量对象时的组合数(不考虑提取顺序)。
语法:COMBIN(总对象数, 选择对象数)
- 参数说明
总对象数:表示总对象数量,必须是非负整数。选择对象数:表示每次组合中选择的对象数量,也必须是非负整数。
示例:计算书籍组合方式
从 5 本书中选择 3 本进行组合(不计较书的先后顺序):
COMBIN(5, 3)
- 结果:返回数值 10(表示共有 10 种不同的组合方式)。
二、 日期函数
NETWORKDAY
功能: 计算两个日期间工作日的天数。自动去除周六周日,如果特别的日期也算节假日,则可以指定去除。函数返回的是数字类型,数值字段、金额字段和文本字段可以使用此函数。
参数说明:
-
开始日期和结束日期都必填
-
去除的指定节假日非必填,如不填写,则只排除周六周日。如果排除指定节假日,则在[]中填写。
统计的日期:
统计的是晚于等于开始日期且早于等于结束日期的日期数。例如[5号,7号],统计到的是5号、6号和7号,共3个工作日。
用法: NETWORKDAY( 开始日期,结束日期,[节假日1,节假日2,..])
示例1:只排除法定周六周日
-
配置

NETWORKDAY( '2024-3-1','2024-3-4')
2号和3号是周六周日,结果得到1号和4号共2天.
示例2:除了周六周日,排除指定节假日
-
配置

NETWORKDAY( '2024-3-1','2024-3-6',['2024-3-4','2024-3-5'])
结果是
2天。 2号3号周六周日,再排除4号和5号,只有1号和6号是工作日了。
MINUTE、HOUR
功能: 获取指定日期时间的小时数和分钟数。
用法:
和获取年月日的方法相同
-
HOUR(
日期时间)获取到0-23的数字
-
MINUTE(
日期时间)获取到0-59的数字

WEEKDAY
功能: 获取指定日期的是周几,1到7的数字,其中周一是1,周日是7。
用法: WEEKDAY( 日期时间 )

DAY、MONTH、YEAR
功能: 获取指定日期时间的年份、月份、日
用法:
三个函数用法相同
-
DAY (
日期)获取到1-31的数字
-
MONTH (
日期)获取到1-12的数字
-
YEAR (
日期)获取到具体年份,如2022-12-12,获取到数字 2022
配置:

效果:

DATENOW
功能: 返回当前时间, 日期时间字段和文本字段可使用此函数。
用法: DATENOW() ,无参数。
-
配置

-
效果

DATEADD
功能: 为一个日期时间,增加一段时间得到新的日期或时间
用法: DATEADD( 日期,'加减时长', 输出格式 )
参数:
-
加减时长 ,为文本类型,格式为: "加减符号" + “数字”+ "时间单位"
- 时间单位:'Y'-年;'M'-月;'d'-天;'h'-小时;'m'-分钟;
举例: '-1d' 表示减去1天, '+3m'表示增加三分钟,'+3M' 表示增加是3个月
-
输出格式 数值类型,1代表日期格式,2代表日期+时间格式
示例1: 根据入职日期,得出3个月后的转正日期。
公式:DATEADD( '2021-3-6','+3M',1)
结果是 2021-6-6
示例2: 根据工单提交时间,计算得出1个小时后的待办提醒时间。
-
公式:DATEADD( '2021-3-6 9:00','+1h',2)
-
结果是
2021-3-6 10:00
更多示例:
-
得出当前日期所在周的周一日期
- DATEADD(DATENOW(),CONCAT('-',WEEKDAY(DATENOW())-1,'d'),1)
-
得出当前日期所在周的周日日期
- DATEADD(DATENOW(),CONCAT('+',7-WEEKDAY(DATENOW()),'d'),1)
特别提醒
如果增加的时差不是固定参数,则需要使用CONCAT()拼接组合,例如:CONCAT('+',计算结果得出的数字,'d')
DATEIF
功能: 计算两个日期间的时差(由于输入内容带单位,输出的是文本格式)
用法: DATEIF( 开始日期,结束日期,1,'输出单位' )
参数:
-
开始日期和结束日期 必填,可以是日期字段,也可以是静态日期参数。
-
格式化方式,必填,输入1或者2,如果字段本身有时间部分,则按实际计算,如果没有时间部分,则按格式化时间计算。
-
格式化1,开始日期的时间格式为00:00 结束日期的时间格式为 00:00
-
格式化2,开始日期的时间格式为00:00 结束日期的时间格式为 24:00
-
-
输出单位,非必填,'Y'-年;'M'-月;'d'-天;'h'-小时;'m'-分钟;如果不指定这个参数,则默认为'd'
示例1:
-
DATEIF( '2021-12-1','2021-12-2',1,'d' )
格式方式1,即计算2021-12-1 00:00 和 2021-12-2 00:00 的天数,结果是1
-
DATEIF( '2021-12-1','2021-12-2',2,'d' )
格式方式2,即计算2021-12-1 00:00 和 2021-12-2 24:00 的天数,结果是2
-
DATEIF( '2021-12-1','2021-12-2 12:00',2,'d' )
格式方式1,即计算2021-12-1 00:00 和 2021-12-2 12:00 的天数,结果是1,因为不满2天,向下取整。
配置和效果
-
时差1

-
时差2

-
效果:

如何使用计算结果再进一步进行数据计算
例如,DATEIF函数得到的结果是6天,需要再+5,想得到11。如果直接相加,得到的是 “6天5”这样一个内容。因此,我们需要先把单位天去掉再处理。
参考公式:NUMBER(FIND(DATEIF('2021-3-8','2021-3-14',2,'d'),"","天"))+5
先用FIND函数把天去掉,然后用NUMBER转换为数字格式。
WEEKNUM
功能: WEEKNUM 函数用于返回指定日期在当年中所处的周数(即一年中的第几周)。
用法: WEEKNUM(日期, [返回类型])
参数说明
- 日期(必填):一个有效的日期格式的值。
- [返回类型](选填):指定周数的计算方式,默认值为 1。
- 1 表示一周从周日开始,周日为一周的第一天。
- 2 表示一周从周一开始,周一为一周的第一天。
使用示例
- 公式:WEEKNUM('2025-02-19', 2)
- 结果:8
- 说明:返回 2025 年 2 月 19 日是该年份的第 8 周(按周一作为一周的第一天开始计算)。
WORKDAY
功能: WORKDAY 函数用于计算从某个指定日期开始,经过指定工作日天数之前或之后的特定日期值。计算时会自动排除周末(默认周六和周日)以及指定的节假日。
用法:WORKDAY(开始日期, 天数, [假期列表])
参数说明
- 开始日期(必填):一个有效的日期格式,作为计算的起点。
- 天数(必填):需要推算的工作日天数。
- 正数:表示向后推算天数(未来)。
- 负数:表示向前推算天数(过去)。
- [假期列表](选填):一个可选的日期列表或数组,明确指定哪些日期是需要额外排除的法定节假日。
使用示例
- 公式:WORKDAY('2025-02-19', 10, ['2025-02-23', '2025-02-28'])
- 结果:2025-03-06
- 说明:从 2025 年 2 月 19 日开始向后推算 10 个工作日,扣除期间的周六日,并额外扣除指定的假期(如 2 月 23 日和 2 月 28 日),最终得到的结果日期为 2025 年 3 月 6 日。
WORKDAY_INTL
功能: WORKDAY_INTL 函数是 WORKDAY 的高级进阶版。它同样用于计算经过指定工作日之后的日期,但它最大的特点是支持自定义周末,能够完美适应不同国家、地区或特定行业的排班休息日制度。
用法:WORKDAY_INTL(开始日期, 天数, [周末设置], [节假日日期列表])
参数说明
-
开始日期(必填):一个有效的日期格式。
-
天数(必填):需要推算的工作日天数。
-
正数:表示向后推算。
-
负数:表示向前推算。
-
[节假日日期列表](选填):一个包含假期日期的数组或范围,这些日期在计算时会被排除在工作日之外。
-
[周末设置](选填):指定一周中的哪些天是周末。
- 可以使用数字(1 到 17)来代表不同的周末组合。
- 默认值为 1,即周六和周日为周末。
常用休息组合代码:
代码 固定休息日(周末) 休息天数 1 星期六和星期日 (默认值) 双休 2 星期日和星期一 双休 3 星期一和星期二 双休 4 星期二和星期三 双休 5 星期三和星期四 双休 6 星期四和星期五 双休 7 星期五和星期六 双休 11 仅星期日 单休 12 仅星期一 单休 13 仅星期二 单休 14 仅星期三 单休 15 仅星期四 单休 16 仅星期五 单休 17 仅星期六 单休
示例:WORKDAY_INTL("2026-06-01", 6, 11, ["2026-06-03","2026-06-04"])
解释
-
开始日期:2026-06-01
-
需要推算的工作日:6 天
-
固定休息日(周末设置):仅周日休息(代码为 11)
-
额外请假/临时停工日:2026-06-03、2026-06-04
推算结 果:2026-06-10
如何动态维护假期列表?
如果通过文本字段(例如命名为【放假日期汇总】)存储假期日期,在输入时无需包裹外层中括号 [],只需用英文逗号分隔日期即可。
- 文本字段录入样例:
2026-06-07,2026-06-08 - 公式套用方法:在
NETWORKDAY、WORKDAY或WORKDAY_INTL函数中,嵌套SPLIT()函数将该文本实时动态转化为函数可识别的数组。
WORKDAY(开始日期, 5, SPLIT(放假日期汇总, ","))
三、文本函数
CONCAT
功能: 将多个内容进行拼接组合成一个新的内容
用法: CONCAT( 内容1,内容2....)
示例: CONCAT( 研发部 , '-', 小张)
拼接的内容可以是字段内容,也可以结合静态参数进行组合拼接。例如部门字段和姓名字段拼接,中间加一个链接符 -。
得到的结果是'研发部-小张'
REPLACE
功能: 将某一个字符串中的某一段内容,替换为其他内容。
用法: REPLACE( 目标内容 , 第几个字符开始 , 几个字符 , 替换的内容 )
参数
-
第几个字符开始: 数字,1代表从第一个字符开始,且第一个字符也被替换。
-
几个字符: 数字,被替换的字符数量,字母、汉字、数字、空格都记为1个字符
示例
-
REPLACE( '19909090909',4,4 , '****' )
将手机号第4-7位,共4个字符,替换为**** ,
结果是:
199****0909 -
REPLACE( '刘德华',2,1 , '*' )
将姓名从第2位开始,共1个字符,替换为* ,
结果是:
刘*华
配置示例

MID
功能: 从一段内容中间提取若干字 符
用法: MID( 目标内容 , 开始位置 ,长度 )
参数
- 目标内容 必填
- 开始位置 数字,必填,即从第几个字符开始截取
- 长度 数字,必填,即截取多少个字符
**示例:**MID( 412721200511273011,7,4)
表示从身份证的第7为开始,共截取4个字符,得到的结果是2005
RIGHT
功能: 从一段内容的最右端开始截取指定长度的字符
用法: RIGHT( 目标内容 ,长度 )
参数
- 目标内容 必填
- 长度 数字,即截取多少个字符,如果不填写,则只取最右边的字符。
**示例:**RIGHT( '412721200511273011',4)
表示从身份证最右边开始,共截取4个字符,得到的结果是3011
LEFT
功能: 从一段内容的最左端开始截取指定长度的字符
用法: LEFT( 目标内容 ,长度 )
参数
-
目标内容 必填
-
长度 数字,即截取多少个字符,如果不填写,则只取最左边的字符。
**示例:**LEFT( '412721200511273011',2)
表示从身份证最左边开始,共截取2 个字符,得到的结果是41
TRIM
功能: 根据一段内容,删除文本首尾的空格
用法: TRIM( 文本5 )
CLEAN
功能: 根据输入的目标内容,删除文本中所有空格
用法: CLEAN( 文本5 )
REPT
功能: 根据一段内容,按照指定的倍数生成重复的文本
用法: REPT( 目标内容 , 2)
参数
- 目标内容 必填
- 倍数 数字,必填。
示例
REPT('*',5) ,结果:***** ,将*重复显示5次。
LOWER
功能: 将一段内容中的英文字母全部换为小写字母
用法: LOWER( 目标内容 )
示例: LOWER( 汉字aaaBBB)
得到的结果是汉字aaabbb
UPPER
功能: 将一段内容中的英文字母全部换为大写字母
用法: UPPER( 目标内容 )
**示例:**UPPER( 汉字aaaBBB)
得到的结果是汉字AAABBB
STRING
功能: 将内容转换为文本格式
用法: STRING( 内容1)
示例:
-
STRING( 1+5)
结果是
6,因为先计算1+5,然后转为文本 -
STRING(1)+STRING(5)
结果是
15,先将数字转为文本字符,再将内容拼接。
FIND
功能: 从一段文本中自左向右截取一段内容。
用法: FIND(原始内容,"开始字符","结束字符")
- 开始字符:如果是空,表示从第一个字符开始返回
- 结束字符:如果是空,表示返回直至最后一个字符
返回结果中不包括开始和结束字符。
示例:
在文本字段中直接输入计算式(长乘宽),然后分别获取长和宽写入对应字段并用公式字段求结果。
-
获取长度值
开始字符为空,从第一个字符开始查找,遇到* 结束。
FIND('200*15',"","*")
-
获取宽度值
从* 开始向右 ,直到结束。
FIND('200*15',"*","")
FINDA
功能: 从一段文本中获取多段内容并组合成一个数组。
用法: FIND(原始内容,"间隔符1","间隔符2")
- 间隔符1:如果是空,无结果
- 间隔符2,如果是空,无结果
返回结果中不包括间隔符。
示例:
从一段文本中执行获取()内的内容并组合成文本。
FINDA("(A)(B)(C)","(",")")
结果得到:A,B,C
函数中组成的数组中都不带[],例如本例子中,在字段中显示为:A,B,C
SPLIT
功能: 按照指定的间隔符分割文本,将分割的不同内容打包成数组。
用法: SPLIT(原始内容,"间隔符")
- 间隔符:如果间隔符参数是空,则将分割每个字符。
返回结果中不包括间隔符。
示例:
将选择的地区拆分后组合成数组
SPLIT(地区字段,"/")
地区字段:河南省/周口市/扶沟县
得到的结果:河南省,周口市,扶沟县
函数中组成的数组中都不带[],例如本例子中,在字段中显示为:A,B,C
JOIN
功能: 将数组中的所有元素按指定的间隔符拼接在一起。
用法: JOIN(数组,"间隔符")
示例:
将成员字段(多选)选择的人员通过-拼接在一起。
JOIN(成员,'-')
得到的结果:张三-李四-王五
SUBSTITUTE
功能: SUBSTITUTE 函数用于在文本字符串中,用新字符串替换指定的旧字符串。
用法: SUBSTITUTE(原字符串主体, 被替换字符串, 新字符串, [替换位置])
示例 1:指定位置替换(利用 [替换位置] 参数)
如果原文本中有多个重复的字符,而你只想替换其中某一个:
公式:=SUBSTITUTE("Apple-Apple-Apple", "Apple", "Banana", 2)
结果:"Apple-Banana-Apple"
说明:参数填入 2,表示仅替换第二个出现的 "Apple"。
示例 2:批量删除特定字符
利用空文本 "" 作为新字符串,可以实现快速删除效果:
公式:=SUBSTITUTE("2026-06-08", "-", "")
结果:"20260608"
说明:未指定替换位置,原文本中所有的减号 - 全被替换为空,达到批量删除的目的。
注意事项
-
严格区分大小写:SUBSTITUTE 函数在查找【被替换字符串】时对大小写极度敏感。例如,在 "Apple" 中查找 "apple" 是无法匹配并完成替换的。
-
数据类型:该函数处理的参数均为文本类型。若引用了【数值字段】或【日期字段】,系统会自动将其隐式转换为文本后再进行替换。
STRREVERSE
功能: STRREVERSE 函数用于将指定文本字符串中的字符顺序进行完全反转(倒序排列)。
用法: STRREVERSE(文本)
基础反转示例:
STRREVERSE("Hello World")
返回结果:"dlroW olleH"
四、逻辑函数
IF
功能:设置条件表达式,系统根据判断结果的 true 或 false 返回不同的文本。
语法:IF(表达式, 表达式为 true 时返回的内容, 表达式为 false 时返回的内容)`
示例1:基础条件判断
根据分数得出不同的考评层级:
IF(分数>=60, '及格', '不及格')
- 判断结果为
true(分数 > 60):返回“及格” - 判断结果为
false(分数 < 60):返回“不及格”
示例2:多级嵌套判断
通过函 数嵌套,将考评层级细化为三个层次:
IF(分数>=60, IF(分数>=80, '优秀', '及格'), '不及格')
- 第一层
true且第二层true(分数 > 80):返回“优秀” - 第一层
true且第二层false(80 > 分数 > 60):返回“及格” - 第一层
false(分数 < 60):返回“不及格”
OR
功能:判断一个或一组条件表达式。只要其中一个表达式的结果为 true,则整个函数返回 true;只有当所有条件都为 false 时,才返回 false。一般不单独使用,通常作为 IF 函数的嵌套条件。
语法:OR(表达式1, 表达式2, 表达式3, ...)
示例:自动批改填空题 在填空题中,用户填写两个标准答案中的任意一个均可得分,其他答案得 0 分。
-
表达式写法
IF(OR(填空== '标准答案A', 填空== '标准答案B'), 1, 0) -
逻辑说明
- 判断结果为
true(填空内容等于“标准答案A” 或 “标准答案B”):返回 1 - 判断结果为
false(填空内容不等于任何一个标准答案):返回 0
- 判断结果为
-
效果体验 点击在线体验效果
AND
功能:判断一个或一组条件表达式。只要其中一个表达式的结果为 false,则整个函数返回 false;只有当所有条件都为 true 时,才返回 true。一般不单独使用,通常作为 IF 函数的嵌套条件。
语法 :AND(表达式1, 表达式2, 表达式3, ...)
示例:多条件资格筛选
考生的笔试成绩和面试成绩均大于 85 分时,系统自动判定为“录取”,否则为“不予录取”。
-
表达式写法
IF(AND(笔试成绩>85, 面试成绩>85), "录取", "不予录取") -
逻辑说明
- 判断结果为
true(笔试成绩 与 面试成绩同时 > 85):返回 录取 - 判断结果为
false(任意一科成绩 $\le$ 85):返回 不予录取
- 判断结果为
-
效果体验 点击在线体验效果
NOT
功能:返回参数逻辑值的反值。如果条件表达式的结果为 true,则返回 false;如果表达式的结果 为 false,则返回 true。
语法:NOT(表达式)
示例:逻辑值取反
-
NOT(2>1)- 逻辑说明:因为
2>1的实际结果为true,经 NOT 取反后,最终返回:false。
- 逻辑说明:因为
-
NOT(2>3)- 逻辑说明:因为
2>3的实际结果为false,经 NOT 取反后,最终返回:true。
- 逻辑说明:因为
ISBLANK
功能: 判断单元格内是否为空,如果为空,返回真,否则返回假,写入到文本字段是 true 或 false。
用法: ISBLANK( 字段)
示例:非空条件校验
-
应用场景
通常与 IF 函数组合使用。例如,当“备注”字段为空时显示“暂无备注”,不为空时则直接显示备注内容。
IF(ISBLANK(备注), '暂无备注', 备注) -
逻辑说明
- 判断结果为
true(字段无内容):返回 暂无备注 - 判断结果为
false(字段有内容):返回 备注实际内容
- 判断结果为
INCLUDE
功能:判断一个文本内是否包含另一段指定的文本。如果包含则返回 true,否则返回 false。
语法:INCLUDE(被检索的文本, 待查找的文本)
示例:文本内容检测
-
表达式写法
INCLUDE('中华人民共和国', '人民') -
逻辑说明
- 判断结果为
true:因为“中华人民共和国”中包含“人民”,系统最终返回true。 - 判断结果为
false:若查找的文本不在其中(例如查找“美国”),系统则返回false。
- 判断结果为
-
常用场景 通常与 IF 函数组合使用。例如,判断客户名称中是否包含“有限公司”,从而自动对客户类型进行分类:
IF(INCLUDE(客户名称, '有限公司'), '企业客户', '个人客户')
FALSE
功能:直接返回 false。通常用于作为其他逻辑函数(如 IF)的预设返回值。
语法:FALSE()
TRUE
功能:直接返回 true。通常用于作为其他逻辑函数(如 IF)的预设返回值。
语法:TRUE()
五、高级函数
ENCODEURI
功能: 当存入文本时,进行URI编码操作,同时也可以对包含中文字符的网址进行编码
用法: ENCODEURI( 文本)
示例1: 当存入的链接中含有空格时,可以用它来去除掉空格
-
配置

-
效果

这里的%20,就是空格的转码
示例2: 当存入的链接中含有中文时,可以用它来进行加码
-
效果

DECODEURI
功能: 将URI编码转换为文本,也可以对包含中文字符的网址进行解码
用法: DECODEURI( 文本2)
-
配置

-
效果

ENCODEURICOMPONENT
功能: 将文本转换为URI编码,可以对包含中文字符的网址进行编码 该方法不会对字母、数字进行编码,也不会对ASCLL标点符号进行编码:如:- . ! ~ * ' ( )
其他字符(比如:; / ? : @ & = + $ , # 这些用于分割URI组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
用法: ENCODEURICOMPONENT( 文本3)
-
配置

-
效果

DECODEURICOMPONENT
功能: 将URI编码转换为文本,可以对包含中文字符的网址进行解码 可以对 encodeURIComponent() 函数编码的 URI 进行解码。
用法: DECODEURICOMPONENT( 文本4)
-
配置

-
效果

DISTANCE
功能: 计算两地之间的距离,结果单位为千米,如果需要米,乘以1000即可.
用法: DISTANCE ( 定位1,定位2)
示例: 计算公司到目的地的距离。
-
配置

-
效果

固定位置怎么计算?
如果其中一个定位字段是固定值,在函数中的参数直接写成固定的坐标即可。例如打卡时需要计算打卡位置和考勤位置的距离,考勤位置就是固定值了。 写法如下:
DISTANCE(定位字段,"X,Y") ,只需替换X和Y坐标的值即可。
如下图:

如何查看某个位置的坐标:
定位字段设置中勾选[显示经纬度],然后在记录中选择目标位置,即可查看坐标。

GETPOSITION
功能: 获取定位字段中的位置的标题、详细地址、经纬度。

用法: GETPOSITION ( 定位1,'需要的信息代码')
信息类型 - 代码
- 位置标题,代码是:'title'
- 详细地址,代码是:'address'
- 获取经度,代码是:'x'
- 获取纬度,代码是:'y'
- 获取x和y,代码是:'x,y'
代码的首位要有英文的单引号,且代码都是小写。 并非所有的地址都有标题。
示例: 获取定位的详细地址
-
配置

-
效果:

这篇文档对你有帮助吗?