你应该换个思路来做这件事情:
按照你的这设想,B、C列的值依赖于A列的值的
变化
,其值均填写当前日期,由于日期函数TODAY()是一个易失性函数
,当日期变化时,它也会跟着变,不满足题主日期不变
的要求。所以,根据你的设想,只能使用VBA来实现,大致逻辑就是:
判断A列值变化,当值为1而且B列为空时,B列填写当前日期;当A列值为2时,填写C列日期。当填写B、C列日期时,判断这两个日期的相差天数再将提示写入D列(写入D列的这一步可以用函数)。
但是,我不推荐这种方式,将简单的问题弄复杂了,或许你只需要一个
快速输入日期的方式
而已:第一天,选中单元格B2,按组合键:Ctrl+; 【即Ctrl加分号键】,会自动输入当天日期。
第二天,选中单元格C2,按组合键:Ctrl+; 【即Ctrl加分号键】,会自动输入当天日期。
D2列写上公式(示例):
=IF(C2-B2=7,"相差7天","")
下面是示例截图(图中的A列,我认为根本不需要):