公式规则
公式写得稳不稳,关键看四件事:字段引用对不对、标点对不对、参数类型对不对、结果能不能写回目标字段。
使用场景
- 第一次写公式,不知道字段、函数和运算符怎么组合
- 公式保存报错,不清楚是语法问题还是类型问题
- 公式能保存,但结果一直为空或不符合预期
公式由什么组成
一个公式通常由字段、函数、运算符和标点组成。
体重 / POWER(身高 / 100, 2)
| 部分 | 作用 | 示例 |
|---|---|---|
| 字段 | 提供数据来源 | 体重、身高、总分 |
| 函数 | 做判断、拼接或计算 | IF(...)、SUM(...)、TEXT(...) |
| 运算符 | 做加减乘除或比较 | +、-、*、/、>、== |
| 标点 | 让公式结构完整 | ()、,、" |
字段和文本怎么写
| 写法 | 是否正确 | 说明 |
|---|---|---|
总分 > 60 | 正确 | 字段直接写,不加引号 |
"优秀" | 正确 | 手动输入的文本要加双引号 |
总分 == 60 | 正确 | 判断相等用 == |
总分 = 60 | 错误 | 单个 = 不是比较运算 |
“优秀” | 错误 | 中文引号会导致报错 |
提示
字段尽量从公式编辑器里点选,不要手动输入字段名。这样更不容易选错题目,也能避免把字段当普通文本。
常用运算符速查
| 作用 | 运算符 |
|---|---|
| 加 | + |
| 减 | - |
| 乘 | * |
| 除 | / |
| 大于 | > |
| 小于 | < |
| 等于 | == |
| 不等于 | != |
| 大于等于 | >= |
| 小于等于 | <= |
选择题参与公式时,先确认模式
| 模式 | 返回的是什么 | 常见用途 |
|---|---|---|
| 值模式 | 题目值 | 数值计算、区间判断 |
| 计分模式 | 选项分值 | 评分、量表汇总 |
| 文本模式 | 选项文本 | 文案拼接、关键词查找 |
返回值类型要和目标字段匹配
| 目标字段 | 推荐返回值 |
|---|---|
| 单行文本、多行文本 | 文本、数字、日期 |
| 数字 | 数字 |
| 日期时间 | 日期或时间戳 |
如果结果类型不匹配,最常见的表现就是保存成功,但页面上看起来像“没算出来”。
常见字段在公式里的表现
| 字段类型 | 在公式里的常见值 |
|---|---|
| 单行文本、多行文本 | 文本 |
| 数字 | 数字 |
| 日期时间 | 日期值或时间戳 |
| 单选、下拉 | 值、分值或文本,取决于当前模式 |
| 多选、下拉复选 | 数组或文本,取决于当前模式和函数 |
常见报错怎么排查
| 现象 | 先检查什么 |
|---|---|
| 保存时报字符错误 | 有没有用了中文逗号、中文括号、中文引号 |
| 保存时报语法错误 | 括号是否成对、逗号是否缺失、函数是否写完整 |
| 提示参数个数不对 | 这个函数是不是少填了参数 |
| 提示参数类型不对 | 数学函数是不是传了文本,文本函数是不是传了错误类型 |
| 结果为空 | 目标字段类型不匹配,或者参与计算的字段本身没有值 |
| 选项判断不生效 | 当前模式是不是选错了,文本是不是忘了加引号 |
推荐写法
| 要做什么 | 推荐公式 |
|---|---|
| 判断是否填写 | IF(ISEMPTY(手机号), "未填写", "已填写") |
| 判断区间 | IF(AND(年龄>=18, 年龄<=60), "符合", "不符合") |
| 拼接提示文案 | CONCATENATE("报名人:", 姓名) |
| 格式化日期 | TEXT(提交时间, "yyyy-MM-dd") |
常见问题
字段为什么不能加引号?
加了引号之后,它就会被当成普通文本,而不是题目或字段本身。比如 "总分" 只是四个字,不是总分这个值。
什么时候需要用 VALUE 或 TEXT?
当你要在文本和数字之间切换时再用。比如文本数字要继续参与加减乘除,就先用 VALUE;数字或日期想按固定格式展示,就用 TEXT。
为什么明明看到了答案,公式还是算不出来?
先看三个地方:题目当前有没有值、公式里的引用模式对不对、目标字段能不能接住这个结果。大多数“看得到但算不出”的问题都出在这里。