SharePoint计算列使用DATEDIF时,日期为空如何显示空白?
原代码的问题出在两个地方:一是中文引号会导致函数解析异常,二是未优先判断日期列是否为空,导致空值时触发错误计算返回异常大数值。以下是修正后的代码:
=IF(ISBLANK([End Date List]), "", IF(ISERROR(DATEDIF([End Date List], TODAY(), "d")), "", (DATEDIF([End Date List], TODAY(), "d"))+1-INT(DATEDIF([End Date List], TODAY(), "d")/7)*2-IF((WEEKDAY(TODAY())-WEEKDAY([End Date List]))<0,2,0)-IF(OR(AND(WEEKDAY(TODAY())=7,WEEKDAY([End Date List])=7),AND(WEEKDAY(TODAY())=1,WEEKDAY([End Date List])=1)),1,0)-IF(AND(WEEKDAY([End Date List])=1,(WEEKDAY(TODAY())-WEEKDAY([End Date List]))>0),1,0)-IF(AND(NOT(WEEKDAY([End Date List])=7),WEEKDAY(TODAY())=7),1,0)))
关键修改说明:
- 新增
ISBLANK([End Date List])判断:优先检查日期列是否为空,为空直接返回空白 - 替换所有中文引号为英文引号:SharePoint计算列仅支持英文半角引号,中文引号会导致函数失效
- 保留原有的工作日计算逻辑:确保非空日期时的计算结果和原逻辑一致
内容的提问来源于stack exchange,提问作者cptGT
相关产品推荐
相关产品推荐

