仅当存在日期时才在单元格中添加一个值

时间:2019-05-20 15:19:27

标签: excel excel-formula

我是新来的,所以请原谅简单的excel公式。请随时向我展示正确的方法。

我正在跟踪按日期发送的电子邮件数量。 发送7封电子邮件后,我只想将单元格保留为“已发送7封电子邮件”

我尝试添加超过12天的额外IF语句,但这还将包括根本没有任何条目的单元格。尝试使用OR,但无法弄清楚它们如何与这些IF配合使用。

=IF(F4=TODAY(),"1 Email Sent",IF(F4=TODAY()-2,"2 Emails Sent",IF(F4=TODAY()-3,"2 Emails Sent",IF(F4=TODAY()-4,"3 Emails Sent",IF(F4=TODAY()-5,"3 Emails Sent",IF(F4=TODAY()-6,"4 Emails Sent",IF(F4=TODAY()-7,"4 Emails Sent",IF(F4=TODAY()-8,"4 Emails Sent",IF(F4=TODAY()-9,"5 Emails Sent",IF(F4=TODAY()-10,"6 Emails Sent",IF(F4=TODAY()-11,"6 Emails Sent",IF(F4=TODAY()-12,"All 7 Emails Sent",IF(F4<TODAY()-13,"")))))))))))))

我只想说IF(F4<TODAY()-12,"All 7 Emails Sent",但是在F4中没有日期的地方-只需将单元格留空。

2 个答案:

答案 0 :(得分:1)

如果A1包含过去12天以上的日期或A1为空白,则此公式将返回“已发送所有7封电子邮件”。

IF(OR(ISBLANK(A1),A1<TODAY()-12),"All 7 Emails Sent")

enter image description here

修订-

实际上,有几种更好的方法可以解决此问题,但是要基于您要实现的目标。在工作簿中的单独工作表上创建一个表,该表与下面的屏幕快照右侧的表匹配。这将是您的查找表。在所示的示例中,Excel计算相邻单元格中的日期与今天之间的天数。然后在查找表的第一列中查找该数字。如果找到,则返回左侧的相邻单元格。它还基于近似匹配与完全匹配,这意味着它将也返回最接近的匹配(对于记录超过7条消息的记录)。另外,在Excel运行计算之前,如果先确保左侧的单元格为数字,否则将返回空白。这是您要找的吗?

IF(OR(NOT(ISNUMBER(A1)),A1>TODAY()),"",VLOOKUP(EDATE(TODAY(),0)-EDATE(A1,0),$E$2:$F$16,2,1))

enter image description here

答案 1 :(得分:0)

谢谢珍妮。 该修订版非常有效。

=IF(OR(NOT(ISNUMBER(A1)),A1>TODAY()),"",VLOOKUP(EDATE(TODAY(),0)-EDATE(A1,0),$E$2:$F$16,2,1))

你是明星。