Appearance
计算公式专题:「文本函数」
文本函数
是系统内处理文本数据,并返回文本的核心公式,可配合其他函数处理有关文本的拼接、替换、查询等工作。
1. JOIN | CONCAT
均为文本拼接函数,但分别由不同的使用场景
函数格式 | 函数功能 | 参数 |
---|---|---|
JOIN(数组, 分隔符) | 将 数组 内所有元素用 分隔符 连接起来 | 数组 / 其他函数 |
CONCAT(参数1, 参数2, ...) | 将所有参数逐个连接为一个文本 | 文本 / 数值 / 数组 / 其他函数 |
使用举例:
拼接小朋友想吃的水果列表,并依据姓名组装成有意义的句子。

2. LOWER | UPPER
与字母的大小写变换有关
函数格式 | 函数功能 | 参数 |
---|---|---|
UPPER(参数) | 将传入参数中的小写字母 全部转为大写字母 | 文本 / 返回文本的其他函数 |
LOWER(参数) | 将传入参数中的大写字母 全部转为小写字母 | 文本 / 返回文本的其他函数 |
使用举例:
处理文本中的字母,转为大写 / 小写

3. REPLACE | REPLACE_ONE | REPLACE_ALL
用户替换文本内容的函数
函数格式 | 函数功能 | 参数 |
---|---|---|
REPLACE (文本, 起始位置, 长度, 替换文本) | 将文本的一部分替换为其他文本 | 文本: 文本 / 返回文本的其他函数 起始位置: 数值 / 返回数值的其他函数 长度: 数值 / 返回数值的其他函数 替换文本: 文本 / 返回文本的其他函数 |
REPLACE_ONE (文本, 匹配文本, 替换文本) | 替换目标文本中第一个匹配到的文本 | 文本 / 返回文本的其他函数 |
REPLACE_ALL (文本, 匹配文本, 替换文本) | 替换目标文本中匹配到的所有文本 | 文本 / 返回文本的其他函数 |
提示
匹配文本
支持使用正则表达式
使用举例:
三个函数的差异比较如下:
- REPLACE:指定区间文本替换,无需
匹配文本
- REPLACE_ONE:替换第一个匹配到的文本
- REPLACE_ALL:替换所有匹配到的文本
差异效果如下图:

4. LENGTH | SEARCH | SLICE
这一组函数互相之间并没有联系,但实际使用中,经常将三者组合使用,遂一并说明
函数格式 | 函数功能 | 参数 |
---|---|---|
LENGTH(文本) | 返回文本长度 | 文本 / 返回文本的其他函数 |
SEARCH (文本, 关键字, [开始位置]) | 查找关键字在文本中第一次出现的位置 | 文本/关键字: 文本 / 返回文本的其他函数 开始位置(选填): 数值 / 返回数值的其他函数 |
SLICE (目标文本, 开始位置, [结束位置]) | 按指定位置截取文本 | 目标文本: 文本 / 返回文本的其他函数 开始/结束位置: 数值 / 返回数值的其他函数 |
使用举例:
截取指定字符之后的文本

拓展-SLICE
SLICE
函数也支持从尾部开始截取文本,常规写法: SLICE(文本, SUM(- 截取长度, 1))
此写法表示 截取末尾“截取长度”个字符
下面提供一个上述示例中的 SLICE
函数的等价实现方式,计算结果是完全一致的
js
SLICE(待处理文本, SUM(关键字所在位置, - 文本长度, 1))
注意公式中
文本长度
前面的-
,这将原本的正数
变为了负数
SEARCH | LENGTH 的返回值
它们的返回值类型为 文本
,并非 数值
,无法参与 基础运算
。
例如上图举例中采用了 SUM(关键字所在位置, 1)
而非 关键字所在位置 + 1
;
前者会正确计算 加一
,而后者无法获取 加一
后的结果,后者需要修改为 NUMBER(关键字所在位置) + 1
才能实现 加一
运算。
5. STRING | CHAR
这两个函数与转换相关,前者转换数据类型,后者则是转义符,两者的使用场景都很少
函数格式 | 函数功能 | 参数 |
---|---|---|
STRING(数值) | 将参数强制转换为文本 | 任意类型 |
CHAR(数值) | 将数字转换为字符集中对应的字符 | 数值 / 返回数值的函数 |
CHAR
本质上是在使用 ASCII码表
,详情可查阅:ASCII码表
使用示例1
这里使用 JOIN-CONCAT 中的例子,将 选择水果
作为参数传入 STRING
公式:STRING(选择水果)
可以得到结果:苹果,梨子,葡萄
使用示例2
设置公式:CHAR(数值)
数值输入:33
可以得到结果:!
(半角感叹号)
6. 加密算法函数
这类函数一般是调用 钉钉、企微
等平台的API时,会使用到的加密算法函数。
通常用于校验。
函数格式 | 函数功能 | 参数 |
---|---|---|
MD5(加密文本, 编码格式) | MD5加密算法 | 文本 / 返回数值的其他函数 |
SHA1(加密文本, 编码格式) | SHA1加密算法 | 文本 / 返回数值的其他函数 |
SHA224(加密文本, 编码格式) | SHA224加密算法 | 文本 / 返回数值的其他函数 |
SHA256(加密文本, 编码格式) | SHA256加密算法 | 文本 / 返回数值的其他函数 |
SHA384(加密文本, 编码格式) | SHA384加密算法 | 文本 / 返回数值的其他函数 |
SHA512(加密文本, 编码格式) | SHA512加密算法 | 文本 / 返回数值的其他函数 |
HMAC256(加密文本, 密钥, 编码格式) | 基于密钥的SHA256加密算法 | 文本 / 返回数值的其他函数 |
使用举例:
设置公式: MD5(文本, "base64")
文本输入: hzy.会众云
可得到结果:aU5baAH7gVPiaSaRwWomoQ==
其他加密函数
使用方式与举例一致
7. 加解密函数
这类函数一般承担 加密传输
之类的工作。
函数格式 | 函数功能 | 参数 |
---|---|---|
SM4_ECB_E(加密Key, 待加密字符串, 编码格式) | sm4-ecb加密函数 (不包含iv向量) | 文本 / 返回数值的其他函数 |
SM4_ECB_D(加密Key, 待解密字符串, 编码格式) | sm4-ecb解密函数 (不包含iv向量) | 文本 / 返回数值的其他函数 |
AES_ECB_E(加密Key, 待加密字符串, 编码格式) | aes-128-ecb加密函数 (不包含iv向量) | 文本 / 返回数值的其他函数 |
AES_ECB_D(加密Key, 待解密字符串, 编码格式) | aes-128-ecb解密函数 (不包含iv向量) | 文本 / 返回数值的其他函数 |
使用举例:
对文本加解密
加密Key
只是一个在加解密过程中使用到的工具字符串,随机输入一个即可

提示
加解密函数一般都是成对使用的,一方加密,另一方解密;双方使用相同的算法和加密Key
8. 案例补充
更多案例
这里会存放一些相对简单的案例,复杂或常用案例可以移步至 常用公式举例 查阅。
- 持续更新中...