3Chat 域配置|自定义字段中的公式字段说明
在用户使用 3Chat.ai 客服系统的过程中,经常会遇到这样的需求:
希望把原始数据进一步加工后再展示或使用,例如拼接客户信息、提取文本中的关键内容、判断字段是否为空、计算时间差,或者对数组内容进行筛选处理。
为了解决这类问题,3Chat 域配置提供了自定义字段的公式字段能力。
通过创建公式字段,用户可以基于已有字段进行操作、编辑、判断与计算,从而让字段更智能,也让业务流程更加自动化。
本文将系统介绍 3Chat 域配置中的自定义字段公式字段说明,帮助你快速理解这些公式的用途与使用场景。
一、什么是公式字段
公式字段,指的是在创建公式字段时,不直接手动输入固定值,而是通过公式对已有字段内容进行处理,并自动生成结果。
你可以把它理解为一个“字段计算器”:
- 可以对文本做拼接、替换、提取
- 可以对数字做运算和统计
- 可以做逻辑判断
- 可以判断数据类型或数据状态
- 可以处理日期时间
- 可以处理数组内容
这样一来,客服、销售、运营等团队就可以在不依赖额外开发的情况下,快速完成很多数据加工工作。
二、适用场景
公式字段通常适用于以下场景:
- 客户资料整理:自动拼接客户姓名、地区、来源渠道等信息
- 工单信息标准化:统一格式输出订单号、标签、备注内容
- 数据清洗:去除空格、统一大小写、替换特殊字符
- 条件判断:根据字段值判断客户类型、优先级、是否满足某个条件
- 日期计算:计算跟进时长、到期时间、服务周期
- 数组处理:对标签、分类、列表字段进行组合和筛选
三、公式字段支持的函数分类
3Chat 域配置中的公式字段支持多类函数,以下按功能进行说明。
四、文本处理函数
文本处理函数主要用于字符串拼接、格式处理、文本提取与替换。
支持函数
CONCATENATECONTAINTEXTFORMATLEFTLENLOWERMIDREGEXEXTRACTREGEXEXTRACTALLREGEXMATCHREGEXREPLACEREPLACERIGHTSPLITSUBSTITUTETODATETRIMUPPER
常见用途
1)拼接文本
使用 CONCATENATE 可以把多个字段拼接为一个完整内容。
例如:
- 拼接客户姓氏和名字
- 拼接国家、城市、渠道来源
- 拼接备注模板
2)统一文本格式
使用:
LOWER:转小写UPPER:转大写TRIM:去掉首尾空格FORMAT:进行格式化输出
3)提取部分内容
使用:
LEFT:从左边截取RIGHT:从右边截取MID:从中间截取LEN:获取文本长度
4)正则匹配和替换
使用:
REGEXMATCH:判断是否匹配某种规则REGEXEXTRACT:提取符合规则的第一段文本REGEXEXTRACTALL:提取所有符合规则的内容REGEXREPLACE:按规则替换文本
这类函数很适合处理订单号、手机号、邮箱、编号等格式化数据。
5)替换与拆分
使用:
REPLACE:按位置替换字符SUBSTITUTE:替换指定文本SPLIT:按分隔符拆分文本CONTAINTEXT:判断文本中是否包含指定内容
五、数学函数
数学函数主要用于数值计算、统计分析和取整处理。
支持函数
ABSAVERAGECEILINGFLOORINTMAXMEDIANMINMODPOWERQUOTIENTROUNDROUNDDOWNROUNDUPSUM
常见用途
ABS:取绝对值SUM:求和AVERAGE:求平均值MAX/MIN:取最大值 / 最小值MEDIAN:取中位数MOD:取余数POWER:幂运算QUOTIENT:取商的整数部分ROUND/ROUNDUP/ROUNDDOWN:四舍五入、向上取整、向下取整CEILING/FLOOR:向上/向下舍入到指定数值INT:取整数部分
这些函数适用于金额计算、评分统计、次数累加、时长换算等场景。
六、逻辑函数
逻辑函数主要用于条件判断和多条件分支处理。
支持函数
ANDORNOTIFIFBLANKIFS
常见用途
IF
根据条件返回不同结果。
适合:
- 判断客户是否为高优先级
- 判断字段是否满足某个条件
- 根据状态输出不同文本
AND
多个条件同时满足时返回真。
OR
多个条件中任意一个满足时返回真。
NOT
对逻辑结果取反。
IFBLANK
当字段为空时返回默认值,避免空数据影响后续处理。
IFS
适合多条件判断场景,比多层嵌套 IF 更清晰。
例如:
- 根据客户等级返回不同标签
- 根据订单金额区分不同服务等级
- 根据来源渠道输出不同业务分组
七、数据判断函数
数据判断函数主要用于判断字段状态、数据类型以及集合包含关系。
支持函数
ISNULLISNUMBERCONTAINSCONTAINSALLCONTAINSONLY
常见用途
ISNULL
判断字段是否为空。
ISNUMBER
判断某个值是否为数字。
CONTAINS
判断集合或数组中是否包含某个值。
CONTAINSALL
判断是否包含全部指定值。
CONTAINSONLY
判断是否只包含指定值。
这类函数很适合处理标签、分类、多选字段以及数据有效性校验。
八、日期函数
日期函数用于创建日期、获取当前时间、提取时间维度以及计算时间差。
支持函数
DATETODAYNOWYEARMONTHDAYHOURMINUTESECONDDAYSDATEDIFEDATEEOMONTHDURATIONTIME
常见用途
当前时间相关
TODAY:获取今天日期NOW:获取当前日期时间
提取时间维度
YEARMONTHDAYHOURMINUTESECOND
适合:
- 提取创建时间中的年、月、日
- 根据时间字段做归类统计
- 生成报表辅助字段
日期计算
DAYS:计算天数差DATEDIF:计算两个日期之间的差异EDATE:按月偏移日期EOMONTH:返回某个月的月底日期DURATION:生成持续时间TIME:生成时间值DATE:生成日期值
适合:
- 计算服务剩余天数
- 判断客户跟进周期
- 设置到期时间或复访时间
- 计算工单处理时长
九、数组函数
数组函数用于构建列表、拼接数组内容、筛选数组元素和读取指定位置元素。
支持函数
LISTARRAYJOINFILTERFIRSTLASTNTH
常见用途
LIST
创建一个数组或列表。
ARRAYJOIN
把数组内容按指定分隔符拼接为文本。
FILTER
按条件筛选数组中的元素。
FIRST / LAST
获取第一个或最后一个元素。
NTH
获取第 N 个元素。
适合:
- 处理标签集合
- 读取多值字段中的指定项目
- 将多个标签合并展示
- 对数组进行条件筛选
十、应用场景示例
下面给出一个实际业务中的应用示例,帮助理解公式字段如何发挥作用。
场景:自动生成“客户概览字段”
假设用户希望在客户画像中增加一个“客户概览”字段,用于让客服在会话开始前快速查看客户信息。
希望该字段自动输出以下内容:
- 客户姓名
- 客户来源渠道
- 注册日期
- 是否为高价值客户
已有字段示例
name:客户姓名source:来源渠道register_date:注册日期total_order_amount:累计订单金额
目标效果
生成类似这样的内容:
客户:张三 | 来源:Shopify | 注册时间:2026-03-01 | 客户等级:高价值客户
示例公式思路
CONCATENATE(
"客户:", name,
" | 来源:", source,
" | 注册时间:", FORMAT(register_date),
" | 客户等级:",
IF(total_order_amount >= 1000, "高价值客户", "普通客户")
)

