Skip to content

行内公式

This content is not available in your language yet.

行内公式字段让你用表达式基于本表其它列自动计算值。数据变动后服务端增量重算、结果冻结写入单元格,前端只读渲染。

  1. 在表格里点击「+」加一列,选择 ƒ 行内公式
  2. 在表达式编辑器里写公式,引用其它列用 {列名} 语法
  3. 保存,存量行自动重算,新增行自动求值
{单价} * {数量}

两列数值相乘。

ROUND({总价} * 1.13, 2)

总价含税(13%),四舍五入保留两位小数。

IF({金额} > 1000, "大额", "小额")

条件判断:金额大于 1000 则标记”大额”。

{姓名} & " - " & {部门}

拼接文本:张三 - 技术部。

LEFT({手机号}, 3) & "****" & RIGHT({手机号}, 4)

手机号脱敏:138****1234。

DAYS(NOW(), {创建时间})

计算从创建到今天过了多少天。

YEAR({日期}) & "-" & PAD(MONTH({日期}), 2) & "-" & PAD(DAY({日期}), 2)

把时间戳格式化为 YYYY-MM-DD。

IF(ISBLANK({负责人}), "⚠️ 未分配", IF({状态} = "完成", "✅ 已完成", "🔄 进行中"))

嵌套 IF:根据负责人和状态显示不同标记。

函数说明示例
SUM(a,b,...)求和SUM(1,2,3)6
AVERAGE(a,b,...)求平均AVERAGE(10,20)15
MIN(a,b,...)最小值MIN(3,1,5)1
MAX(a,b,...)最大值MAX(3,1,5)5
ROUND(v,dec)四舍五入ROUND(3.1415,2)3.14
ABS(v)绝对值ABS(-5)5
CEILING(v)向上取整CEILING(3.1)4
FLOOR(v)向下取整FLOOR(3.9)3
函数说明示例
CONCATENATE(a,b,...)拼接文本CONCATENATE("A","B")"AB"
LEFT(s,n)从左取 n 字符LEFT("hello",2)"he"
RIGHT(s,n)从右取 n 字符RIGHT("hello",2)"lo"
MID(s,start,n)从 start 取 n 字符MID("hello",2,3)"ell"
LEN(s)文本长度LEN("hello")5
UPPER(s)转大写UPPER("hi")"HI"
LOWER(s)转小写LOWER("HI")"hi"
TRIM(s)去首尾空格TRIM(" hi ")"hi"
PAD(v, w)补零到宽度 wPAD(5,4)"0005"
FIND(sub, s)查子串位置(从 1 起;找不到 0;区分大小写FIND("lo","hello")4
CONTAINS(s, sub)是否包含子串(不区分大小写CONTAINS("Hello","ELL")TRUE
REPLACE(s,pos,n,new)按位置替换(从 pos 起 n 个字符)REPLACE("hello",1,2,"HI")"HIllo"
SUBSTITUTE(s,old,new)按内容全文替换SUBSTITUTE("a,b,c",",","-")"a-b-c"
REPT(s,n)重复 n 次REPT("★",3)"★★★"
CHAR(code)码点转字符CHAR(65)"A"
函数说明
NOW()当前时间戳 (ms)
TODAY()今天日期
YEAR(ts)提取年份
MONTH(ts)提取月份
DAY(ts)提取日
HOUR(ts)提取小时
MINUTE(ts)提取分钟
SECOND(ts)提取秒
DAYS(a,b)两个日期间隔天数
WEEKDAY(ts)星期几(1=周一)
WEEKNUM(ts)年内第几周
WORKDAY(start,days)工作日加偏移
函数说明
IF(cond, then, else?)条件分支(else 可省略)
NOT(cond)取反
OR(a,b,...)任一为真
AND(a,b,...)全部为真
ISBLANK(v)是否为空

+ - * / 算术,& 拼接字符串,= != > < >= <= 比较,&& || 逻辑与或。