【问题标题】:Excel TODAY() function in IF formula doesn't work properlyIF 公式中的 Excel TODAY() 函数无法正常工作
【发布时间】:2018-10-03 08:56:45
【问题描述】:

我有“Microsoft MonthView Control 6.0 (SP4)”组件,该组件将日期输入到单元格“D17”我希望我的函数将今天的日期与单元格“D17”的日期进行比较并给出特定的消息。因此,如果单元格“D17”中的日期早于当前日期,它将显示“OFFER EXPIRED”消息。在单元格“D17”中,我目前有1.10.2018。我使用公式=IF(D17>TODAY();"OFFER EXPIRED";""),但它不起作用。我尝试了不同的单元格格式选项,但没有成功。问题可以隐藏的任何想法?

【问题讨论】:

  • 1.10.2018 是否被正确识别为日期?
  • 试试D17<TODAY()
  • 尝试在比较公式中格式化 D17。
  • 公式审核的结果是什么?

标签: excel function formula


【解决方案1】:

请尝试:

 =IF(1*SUBSTITUTE(D17;".";"/")>TODAY();"OFFER EXPIRED";"")

(在进行比较之前,试图将 Text 1.10.2018 强制转换为 Number。)

【讨论】:

  • 刚刚测试过,实际上“>”在我的情况下应该是“=IF(1*SUBSTITUTE(D17;".";"/")<TODAY();"OFFER EXPIRED";""),但重点是它有效!!!非常感谢!
【解决方案2】:

假设您拥有的日期是字符串格式和dd.mm.yyyy 格式。使用下面的代码进行比较:

=IF(DATE(
   RIGHT(D17,4),
   MID(D17,FIND(".",D17,1)+1, (
      FIND(".",D17,FIND(".",D17,1)+1)- 
      FIND(".",D17,1))-1),
   LEFT(D17,FIND(".",D17,1))
   )<TODAY(),
"OFFER EXPIRED","")

【讨论】:

  • 这个公式对于处理这样一个简单的问题有点极端。我不会投反对票,但您可能应该更熟悉 Excel 如何处理日期,然后再在此网站上提出答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
  • 2020-02-11
  • 2021-09-14
  • 1970-01-01
  • 2013-03-01
相关资源
最近更新 更多