使用计算公式
计算公式支持基于表单字段和函数公式进行动态计算,适用于联动计算、条件判断和复杂数据处理场景。
使用说明
计算公式的使用如同 excel 函数,支持直接引用当前表单中已添加的字段进行运算;如果你想查看完整的内置函数列表与更多示例,可以直接继续阅读内置公式函数。
示例: 表单中有合同金额与已回款金额字段,需要根据这两个字段计算未回款金额。
第一步:先选择SUM函数公式进行计算,点击函数即可将函数公式插入右侧内容区域;

第二步:选择合同金额与已回款字段,并手动敲上-号,简单的计算公式就添加完成啦~

同理,发挥您聪明的大脑进行创造吧~
在实际项目中,如果公式结果还需要继续驱动字段赋值、显隐或联动逻辑,通常会和表单 API或当前组件事件一起配合使用。
如何查看函数的作用
鼠标悬浮至函数上时,可以查看函数说明,及示例说明。

内置公式列表
系统内置的公式函数已经覆盖了数字计算、文本处理、时间换算、集合处理、逻辑判断和高阶取值等常见场景。日常配置时,通常不需要死记所有函数,先按类别找,再通过悬浮提示查看示例会更高效;如果你需要逐个查看完整示例,也可以继续阅读内置公式函数。
数字函数
| 函数名称 | 说明 |
|---|---|
| TONUMBER | 将参数转换为数字 |
| ADD | 获取两个数字相加的值 |
| SUB | 获取两个数字相减的值 |
| MUL | 获取两个数字相乘的值 |
| DIV | 获取两个数字相除的值 |
| SUM | 获取合集中数值的总和 |
| MAX | 获取参数列表中的最大值 |
| MIN | 获取参数列表中的最小值 |
| ABS | 获取数字的绝对值 |
| AVG | 获取参数列表的平均值 |
| MOD | 获取两个数字的余数 |
| SQRT | 获取一个数字的正平方根 |
| POWER | 获取指定数字的乘幂 |
| RAND | 获取一个大于等于 0 且小于 1 的随机数 |
| PI | 获取圆周率 |
| ROUND | 将一个小数四舍五入到指定的位数 |
| FLOOR | 获取指定数字向下取整的值 |
| CEIL | 获取指定数字向上取整的值 |
| FIXED | 将一个小数保留指定位数的小数 |
| TOCHINSESAMOUNT | 获取指定数字的中文大写金额 |
| LN | 获取指定数字的自然对数 |
| LOG | 获取指定数字以 10 为底的对数 |
| LOG2 | 获取指定数字以 2 为底的对数 |
| SIN | 获取指定角度的正弦值 |
| COS | 获取指定角度的余弦值 |
| TAN | 获取指定角度的正切值 |
| ASIN | 获取指定数字的反正弦值 |
| ACOS | 获取指定数字的反余弦值 |
| ATAN | 获取指定数字的反正切值 |
| EXP | 获取 e 的指定次幂 |
文本函数
| 函数名称 | 说明 |
|---|---|
| STARTSWITH | 检查字符串是否以指定字符串开头 |
| SLICELEFT | 获取一个字符串从开头开始指定长度的字符串 |
| SLICERIGHT | 获取一个字符串从结尾开始指定长度的字符串 |
| TOLOWER | 将字符串中所有大写字母转换为小写字母 |
| TOUPPER | 将字符串中所有小写字母转换为大写字母 |
| INCLUDES | 检查字符串中是否包含指定字符串 |
| CONCAT | 将所有参数拼接后返回字符串 |
| REPLACE | 替换匹配到的第一个文本 |
| REPLACEALL | 替换所有匹配到的文本 |
| TRIM | 删除字符串前后的空格 |
时间函数
| 函数名称 | 说明 |
|---|---|
| NOW | 获取当前时间 |
| TODAY | 获取今天的日期 |
| YEAR | 获取指定日期的年份 |
| MONTH | 获取指定日期的月份 |
| DAY | 获取指定日期的天数 |
| HOUR | 获取指定日期的小时数 |
| MINUTE | 获取指定日期的分钟数 |
| SECOND | 获取指定日期的秒数 |
| DIFFDAYS | 获取两个日期之间的天数 |
| DIFFHOURS | 获取两个时间之间的小时数 |
| DIFFMINUTES | 获取两个时间之间的分钟数 |
| TIMESTAMP | 获取指定日期的时间戳 |
| ADDYEAR | 增加指定日期的年份 |
| ADDMONTH | 增加指定日期的月份 |
| ADDDAY | 增加指定日期的天数 |
| ADDHOUR | 增加指定时间的小时数 |
| ADDMINUTE | 增加指定时间的分钟数 |
| ADDSECOND | 增加指定时间的秒数 |
| ADDWEEK | 增加指定日期的周数 |
| SUBYEAR | 减少指定日期的年份 |
| SUBMONTH | 减少指定日期的月份 |
| SUBDAY | 减少指定日期的天数 |
| SUBHOUR | 减少指定时间的小时数 |
| SUBMINUTE | 减少指定时间的分钟数 |
| SUBSECOND | 减少指定时间的秒数 |
| SUBWEEK | 减少指定日期的周数 |
| WEEKSTART | 获取指定日期所在周的第一天 |
| WEEKEND | 获取指定日期所在周的最后一天 |
| MONTHSTART | 获取指定日期所在月的第一天 |
| MONTHEND | 获取指定日期所在月的最后一天 |
| YEARSTART | 获取指定日期所在年的第一天 |
| YEAREND | 获取指定日期所在年的最后一天 |
| QUARTERSTART | 获取指定日期所在季度的第一天 |
| QUARTEREND | 获取指定日期所在季度的最后一天 |
| WEEKOFYEAR | 获取指定日期是当年的第几周 |
合集函数
| 函数名称 | 说明 |
|---|---|
| IN | 检查第二个参数是否在合集中 |
| LEN | 获取指定合集的长度 |
| UNION | 将合集或参数中的值去重后返回合集 |
| COLUMN | 获取子表单中指定字段并返回合集 |
| VALUE | 获取分组表单中指定字段 |
| INTERSECTIONSET | 获取两个集合的交集 |
| LIST | 获取所有参数组成的集合 |
逻辑函数
| 函数名称 | 说明 |
|---|---|
| IF | 检查条件是否满足,满足返回第二个参数,否则返回第三个参数 |
| AND | 所有表达式都为 true 时返回 true |
| OR | 任意一个表达式为 true 时返回 true |
| CASE | 返回第一个满足条件的值 |
| NOT | 获取某个逻辑值的相反值 |
| EQ | 检查两个值是否相等 |
| NE | 检查两个值是否不相等 |
| GE | 检查第一个值是否大于等于另一个值 |
| GT | 检查第一个值是否大于另一个值 |
| LE | 检查第一个值是否小于等于另一个值 |
| LT | 检查第一个值是否小于另一个值 |
| TRUE | 返回逻辑值 true |
| FALSE | 返回逻辑值 false |
| DEFAULT | 检查第一个参数,为空时返回第二个参数 |
| EMPTY | 检查参数是否为空 |
| NOTEMPTY | 检查参数是否不为空 |
| ISNUMBER | 检查参数是否为数字 |
高阶函数
| 函数名称 | 说明 |
|---|---|
| CALLBACK | 执行自定义函数并获取返回值 |
| DEFAULT_VALUE | 设置当前组件的默认值 |
| GET_DATA | 获取外部数据 |
| GET_VARIABLE | 获取全局变量数据 |
| CURRENT_RULE | 获取当前组件规则中的指定字段 |
| T | 获取多语言配置中的指定字段 |
使用提示
- 在公式里引用当前组件值时,建议先增加条件判断,避免循环引用导致页面卡死。
- 如果只是做简单的布尔判断,优先使用逻辑条件会更直观;涉及复杂运算、时间换算、集合处理时,再切换到计算公式更合适。
- 当公式需要长期复用时,建议优先基于内置函数组合;确实不够用时,再通过扩展计算函数扩展自定义函数。
公式适用范围
计算公式不仅可用于计算当前字段值,也可作为隐藏条件、必填条件、禁用条件和其他高级配置中的判断依据。
语法与字段引用规则
- 公式表达式需要符合 JavaScript 基本语法。
- 公式中可以直接引用当前表单中已添加的字段数据进行运算或判断。
- 当公式较长时,建议先拆解为易读的步骤,便于排查问题和后续维护;对于需要长期复用的规则,可以整理为统一函数,再通过内置公式函数中的能力进行组合。
函数扩展说明
系统内置多种常用函数,同时支持根据业务需求扩展自定义函数。对于重复使用的行业规则或特殊算法,建议优先抽为统一函数,方便在多个表单中复用;若涉及开发侧扩展和挂载方式,可继续查看扩展计算函数。


