Excel 如果在单元格日期的3天内更改单元格颜色

Excel 如果在单元格日期的3天内更改单元格颜色,excel,date,formatting,conditional-statements,Excel,Date,Formatting,Conditional Statements,我试图为需要在特定日期提交的文书工作制作一份备忘单。单元格A8是给定的日期;单元格B8-F8具有基于A8给定日期生成日期的公式。我希望B18-F8单元格在生成日期前3天变为红色,并保持这种状态,直到到期日过去(目前) 我尝试过:=$FD8使用另一组单元格生成B8-F8日期并减去三天最方便。例如,B9-F9。然后可以使用条件格式根据B9-F9值格式化B8-F8 要减去天数,可以生成创建自定义函数的VBA代码 Function myDateAdd(interval, howmany, adate)

我试图为需要在特定日期提交的文书工作制作一份备忘单。单元格A8是给定的日期;单元格B8-F8具有基于A8给定日期生成日期的公式。我希望B18-F8单元格在生成日期前3天变为红色,并保持这种状态,直到到期日过去(目前)


我尝试过:=$FD8使用另一组单元格生成B8-F8日期并减去三天最方便。例如,B9-F9。然后可以使用条件格式根据B9-F9值格式化B8-F8

要减去天数,可以生成创建自定义函数的VBA代码

Function myDateAdd(interval, howmany, adate)
myDateAdd = DateAdd(interval, howmany, adate)
End Function
或者写一个更复杂的公式

=IF(
DAY(B8)>3,
DATE(YEAR(B8),MONTH(B8),DAY(B8)-3),
DATE(YEAR(B8),MONTH(B8)-1,(DAY(B8)-31)*-1)
)

您仍然需要编写一些额外的内容来验证B8日期是否有31天(或30天或28天)。将IF()和ISDATE()组合多次以实现此目的。

FD8如何小于或等于自身-3TODAY()返回一个数字,您只需减去3即可提前3天获得:
=TODAY()-3