跳到主要内容

公式规则

写公式前先确定使用入口。单题公式编辑器使用字段 ID 变量;高级逻辑支持 Q1 等题号变量。 函数名相同,不代表题目引用可以原样复制。

单题计算公式:从字段树插入​

在题目的 计算公式 → 点击设置 中,先从字段树选择答案,再组合运算符和函数。字段会显示为可读的名称标签,底层保存稳定的 ID。

表达式含义
#{question_id.answer_id}读取一个填空项的答案
#{question_id.answer_id|0}为空时使用默认值 0
#{_question_id.answer_id}读取答案的文本形式
#{$question_id}读取题目分值
#{question_id.$row_id.option_id}引用矩阵中的行、列单元

表中的 ID 为占位名称。字段树插入的变量与当前问卷对应,不能把另一份问卷的 ID 原样复制过来。点击变量标签可配置默认值、文本或分值模式。

例如 采购金额演示 使用:

ROUND(#{quantity.quantity_value|0}*#{price.price_value|0},2)

数量 10、单价 28 时返回 280;任一来源为空时按 0 参与计算。

高级逻辑:使用题号​

在 逻辑 → 高级逻辑 中,可以使用以下题号引用。函数分类页中的 Q1 示例采用这一套写法。

写法含义
Q1第 1 题答案
Q1A1第 1 题第 1 个选项
Q1~4连续第 1 至第 4 题
QS1第 1 个题组
QS1Q1第 1 个题组内第 1 题
QS1Q1A1该题组题目的第 1 个选项
Q1S1第 1 题矩阵的第 1 行
Q1S1A1第 1 题矩阵第 1 行、第 1 列
TEXT(Q1)答案或选项的显示文本
SCORE(Q1)题目分值
COUNT(Q1)多选题选中数量等计数值

高级逻辑需要完整的规则,不是只放一个函数。例如前三题依次为数量、单价、金额时:

assignment Q3 with ROUND(DEFAULT(Q1,0)*DEFAULT(Q2,0),2)

题号按高级逻辑编辑器显示的映射确定。调整题目顺序或结构后,应重新检查映射与规则。更多写法见 变量规则。

运算符与常量​

运算写法固定值示例
加、减、乘、除+、-、*、/10*28
大于、小于>、<80>60
等于、不等于==、!="A"=="A"
大于等于、小于等于>=、<=60>=60

判断相等使用 ==,不能写 =。公式输入框不需要在开头加等号。逗号、括号和引号使用英文半角字符;固定文本放在引号中,变量不加引号。

SUM(10,20)
IF(80>=60,"合格","不合格")
ROUND(3*19.99,2)

返回值与空值​

写入位置应返回的类型
数字填空数字
普通文本填空文本或数字
显示条件TRUE 或 FALSE
自定义校验按该入口要求返回条件或错误提示,参照校验文档

未填写、数字 0 和空字符串不是同一种情况。来源为空时,公式可能不计算;只有业务允许把空值视为 0 时才配置默认值。除法还需要单独处理分母为 0,不能仅靠默认值解决。

当前时间函数在页面计算时执行,不等于后端保存的提交时间。需要审计或统计正式提交时间时,使用数据详情中的系统提交时间字段。

常见错误​

  • 照抄 Q1 后无结果:确认是否误把高级逻辑题号写进单题公式;改为从字段树插入变量。
  • 变量不再存在:检查来源题目或填空项是否被删除、替换。
  • 结果为空或异常:检查来源空值、分母为 0、返回类型和循环引用。
  • 从 Excel 复制后失败:不要假定所有 Excel 语法和函数都兼容,按分类文档说明和当前编辑器支持情况验证。

正式使用前,用正常值、空值、边界值和修改后重新计算各测试一次。函数参考提供写法说明,不能替代具体业务的试算。