【EXCEL】条件格式:设置整列小于当前日期的单元格变为红色

公式:=(D1>0)*(D1<--(TEXT(NOW(),"e-m-d")))
信息来源:http://club.excelhome.net/thread-1337933-1-1.html

说明:
1、公式是筛选单元格的,具体格式(变为红色或是其它格式)请自行另设。
2、EXCEL中的日期本质为数字,只是通过“单元格格式”的设置可以改变表现形式。如数字43834,设置单元格格式为日期后,可以表现为“2020/1/4”或“2020年1月4日”。
3、对公式的解释(公式中以D列为例,“D1”这个字符可以自行更改)
1)这个公式可以拆为两部份,“D1>0”(part1)和“D1<--(TEXT(NOW(),"e-m-d"))”(part2),分别加上括号,以乘号*相连。
2)part2中有这几个函数:TEXT(),NOW()。NOW()返回当前日期和时间;TEXT(value, format_text) 是将“选定值”以“指定格式”的文本形式输出。例如在D1中输入“2020/1/4”,然后在E1中输入公式“=TEXT(D1, "yyyy年m月")”,然后E1中就会出现2020年1月。其中D1就是选定值,"yyyy年m月"就是指定格式。
3)本公式中TEXT(NOW(),"e-m-d")的“选定值”就是函数NOW(),“指定格式”为"e-m-d",三个字母分别代表年月日,意思是取NOW()函数中的年月日以文本格式输出。
4)"--"是将文本格式的日期转换为数字格式,--(TEXT(NOW(),"e-m-d"))就是当前年月日日期的数字格式;
5)单元格D1中的内容是日期,而EXCEL中的日期本质是数字,所以D1<--(TEXT(NOW(),"e-m-d"))就是比较D1中的日期与当前日期的大小,D1中的日期较小,则返回TRUE;D1中的日期较大,则返回FALSE。
6)part1中的值一般为TRUE。两者相乘,若都为TRUE,则返回值为1;若不相同,则返回值为0。

PS:
1. part2中的<可以根据具体情况改为=或>;
2. 虽然信息来源中似乎是说"e-m"在EXCEL中等同于"e-m-d",但在实际测试中并不等同,出现错误,本人用的版本是Microsoft Office Professional Plus 2019;
3. NOW()函数也可以用TODAY()函数替代。两者区别就是NOW()返回当前日期和时间;TODAY()函数返回当前日期。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值