/公式·[05.03]· 90 min

公式实战案例

用真实场景串起来。

理论看完了,动手写几个真实项目中一定会用到的公式

多维表格模拟器
[4 行 · 5 列]
#

文本

数字

单选

人员

日期

01
?
02
?
03
?
04
?

案例一:客户等级自动判断

按金额自动分三档:

IFS([金额] > 100000, "A 级", [金额] > 10000, "B 级", TRUE(), "C 级")

拆解

  • IFS 是一串"如果...就..."的链式写法
  • 第一个条件 [金额] > 100000 命中 → 返回 "A 级"
  • 不命中 → 看第二个 [金额] > 10000
  • 都不中 → TRUE() 永远为真 → "C 级"

为什么用 IFS 而不是 IF 嵌套?

如果用 IF 嵌套写同样的逻辑:

IF([金额] > 100000, "A 级", IF([金额] > 10000, "B 级", "C 级"))

功能一样,但 IFS 更容易读。用 IFS。

延伸:按状态 + 金额分等级

IFS(
  AND([状态] == "已签约", [金额] > 50000), "VIP",
  AND([状态] == "已签约", [金额] > 10000), "标准",
  [状态] == "洽谈中", "跟进",
  TRUE(), "其他"
)

案例二:计算距离截止日还有几天

DATETIME_DIFF([截止日], TODAY(), "d")
  • 正数 = 还有 N 天
  • 0 = 今天
  • 负数 = 超期了

加状态标签

IF(
  DATETIME_DIFF([截止日], TODAY(), "d") < 0,
  "🔴 已超期",
  IF(
    DATETIME_DIFF([截止日], TODAY(), "d") <= 3,
    "🟡 即将到期",
    "🟢 正常"
  )
)

这个公式可以当看板折叠标识——一眼看出哪些任务紧急。

案例三:拼一个"二维码内容"

把多个字段拼成一条:

CONCAT("姓名: ", [姓名], "\n公司: ", [公司], "\n职位: ", [职位])

这种公式常配合第三方二维码生成,生成员工吊牌/活动签到码。

案例四:算提成(带阶梯)

IFS(
  [金额] > 500000, [金额] * 0.15,
  [金额] > 100000, [金额] * 0.10,
  [金额] > 10000, [金额] * 0.05,
  TRUE(), 0
)

案例五:去重统计「本月新客户数」

COUNTIF + 日期比对:

COUNTIF(字段, 条件)

前提是有一个"创建日期"字段(系统字段),然后:

COUNTIF([创建时间], ">= 2026-06-01")

实际多维表格的 COUNTIF 对日期支持较有限,复杂统计建议用仪表盘汇总字段

案例六:生成任务编号

用流水号 + 前缀生成唯一编号:

"TASK-" & TEXT([序号], "0000")

如果你的表有一个自增的"编号"字段(比如 1, 2, 3...),可以格式化成 TASK-0001TASK-0002

EXERCISE

公式实战

  1. Q.01

    有一个'订单'表,字段有[数量]和[单价],想自动算出总价,公式应该是?

  2. Q.02

    想根据分数自动判定等级:90以上为A,60以上为B,其他为C,公式怎么写?

  3. Q.03

    想统计'状态'字段为'已完成'的记录数量,应该用什么公式?

EXERCISE

第五章:公式

  1. Q.01

    以下哪个公式能正确计算折扣价?(原价字段名:[原价],折扣字段名:[折扣],折扣是0-1的小数)

  2. Q.02

    想把'张三'和'销售部'拼接成'张三-销售部',公式怎么写?

  3. Q.03

    IF 函数的语法是什么?

  4. Q.04

    SUMIF 函数的作用是什么?

  5. Q.05

    公式 [日期A] - [日期B] 的结果是什么?

  6. Q.06

    公式中引用了一个空的数字字段,会发生什么?

  7. Q.07

    想用公式判断[年龄]是否在18到60之间,怎么写?

  8. Q.08

    以下哪个函数可以计算有多少条记录满足特定条件?


下一章:关联与汇总