You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助编写SharePoint列表状态列顺序验证规则(含特殊条件)

SharePoint列表状态顺序验证规则解决方案

你的原有公式仅验证状态是否属于允许的集合,但没有实现按指定顺序切换的核心需求——它允许直接从「Not started」跳到「Complete」,完全不符合你的要求。以下是实现状态顺序控制的正确公式:

=IF(
  AND([Request type]="Material Site Transfer", [To location]="Siler City"),
  // 特殊情况:状态序列 Not started → In Work → In transit → Complete
  OR(
    ISBLANK(OLD([Status])) && [Status]="Not started", // 新建条目只能设为初始状态
    OLD([Status])="Not started" && [Status]="In Work",
    OLD([Status])="In Work" && [Status]="In transit",
    OLD([Status])="In transit" && [Status]="Complete"
  ),
  // 默认情况:状态序列 Not started → In Work → Complete
  OR(
    ISBLANK(OLD([Status])) && [Status]="Not started", // 新建条目只能设为初始状态
    OLD([Status])="Not started" && [Status]="In Work",
    OLD([Status])="In Work" && [Status]="Complete"
  )
)

注意事项:

  • 列名必须完全匹配:比如你的状态列显示是「In Work」还是「In work」,公式里的列名要和SharePoint列表中实际列名的大小写、空格完全一致。
  • 配置错误提示:在验证规则的「用户消息」框中输入提示文本,比如「状态必须按指定顺序切换:Not started → In Work → Complete(特殊请求需经过In transit环节)」,方便用户理解规则。
  • 新建条目逻辑:公式允许新建条目直接设置为「Not started」(初始状态),如果需要禁止新建时修改初始状态,可以调整对应逻辑。

设置步骤:

  1. 打开目标SharePoint列表,点击顶部「设置」→「列表设置」。
  2. 在「常规设置」板块找到「验证设置」。
  3. 将上述公式粘贴到「公式」输入框,填写用户消息后点击「保存」即可。

内容的提问来源于stack exchange,提问作者akinlaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 19:12:47