如何在SharePoint列表验证中通过选择列设置日期列值为当日或空
问题分析
你原公式的问题在于:计算列公式不需要赋值操作([DateColumn]=TODAY()是错误写法),而是直接返回对应的值;另外要注意选项列的数值类型——如果选项是数字格式的6,不需要加引号,文本格式才需要。
解决方案1:使用计算列(最简单)
如果日期列不需要手动编辑,仅作为计算结果展示,直接将日期列设置为计算列,公式如下:
=IF([choiceColumn]=6,TODAY(),"")
- 注意:如果你的选项列是文本类型(选项值是"1"到"6"字符串),则公式改为
=IF([choiceColumn]="6",TODAY(),"") - 设置计算列时,将数据类型选择为「日期和时间」,这样返回的日期会以正确格式显示,而非纯文本。
解决方案2:使用Power Automate流(支持日期列手动编辑场景)
如果需要保留日期列的手动编辑权限,同时在选项列变更时自动更新日期,可以用Power Automate实现:
- 新建自动化流,触发条件选择「当项目被创建或修改时」,指定目标SharePoint列表
- 添加「条件」动作,判断
选项列的值是否等于6 - 条件成立时:添加「更新项目」动作,将日期列设置为
utcNow()(如需本地时间,可添加「转换时间区域」动作转换后再赋值) - 条件不成立时:添加「更新项目」动作,将日期列设置为空值
内容的提问来源于stack exchange,提问作者Ankit Sharma
相关产品推荐
相关产品推荐

