跳到主要内容

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号是工作日了。

效果体验

MINTUE、HOUR

功能: 获取指定日期时间的小时数和分钟数。

用法:

和获取年月日的方法相同

  • HOUR( 日期时间 )

    获取到0-23的数字

  • MINTUE( 日期时间 )

    获取到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
  • 公式套用方法:在 NETWORKDAYWORKDAYWORKDAY_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

功能:设置条件表达式,系统根据判断结果的 truefalse 返回不同的文本。

语法: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'

代码的首位要有英文的单引号,且代码都是小写。 并非所有的地址都有标题。

示例: 获取定位的详细地址

  • 配置

  • 效果:

效果体验

这篇文档对你有帮助吗?