在Access中我有一个Duration_in_days列,当end_date列的值为0或null时,我想将值设置为“仍然活动”,否则它给出值end_date-start_date。我在表达式字段属性中尝试了以下代码,但它将显示
转化'不支持'表达式
IIf([End date]=NULL,"Still active",[End date]-[Start date]
我也尝试用0替换NULL,但它显示相同的结果。
答案 0 :(得分:1)
[End date]
永远不会等于Null,因为Null永远不会等于其他任何东西......甚至不能等于Null。
使用IsNull()
检查[End date]
是否为空。
IIf(IsNull([End date]),"Still active",[End date]-[Start date])
但是,当[End date]
为空时,"仍处于活动状态" ,当它为零时,您可以使用Access中的Nz()
功能。
IIf(Nz([End date],0)=0,"Still active",[End date]-[Start date])
我不明白Excel如何适应这个问题。