在Excel中确定项目是从开始日期和结束日期起处于活动状态,还是在当月处于活动状态
我有一个简单的电子表格来跟踪当前正在进行的项目,其中两列包含日期——一列是项目开始日期,另一列是项目结束日期 我还有两个专栏,使我能够生成当前处于活动状态或本月已处于活动状态的项目的报告。对于当月处于活动状态的项目列,我使用以下公式:在Excel中确定项目是从开始日期和结束日期起处于活动状态,还是在当月处于活动状态,excel,date,Excel,Date,我有一个简单的电子表格来跟踪当前正在进行的项目,其中两列包含日期——一列是项目开始日期,另一列是项目结束日期 我还有两个专栏,使我能够生成当前处于活动状态或本月已处于活动状态的项目的报告。对于当月处于活动状态的项目列,我使用以下公式: =IF(OR(MONTH(H5)=MONTH(TODAY()),MONTH(I5)=MONTH(TODAY())),"Yes","No") 这将拾取当前月份中有开始或结束日期的项目,但不拾取有开始日期但没有结束日期的项目,这意味着项目正在进行中。我尝试过这个公式
=IF(OR(MONTH(H5)=MONTH(TODAY()),MONTH(I5)=MONTH(TODAY())),"Yes","No")
这将拾取当前月份中有开始或结束日期的项目,但不拾取有开始日期但没有结束日期的项目,这意味着项目正在进行中。我尝试过这个公式,在各种变体中,我认为应该是可行的:
=IF(OR(MONTH(H5)=MONTH(TODAY()),MONTH(I5)=MONTH(TODAY()),(ISBLANK(I5))),"Yes","No")
…但这只会对每一行返回“否”。我知道我需要一个公式来测试任一列中的日期是否在当前月份,或者开始日期是否在当前月份,但结束日期为空,但我无法计算出公式是什么
类似地,我还有一列显示项目当前是否处于活动状态,我使用此公式测试今天的日期是否介于“开始日期”和“结束日期”列中的日期之间:
=IF(AND(TODAY()>=H5,TODAY()<=I5),"Current","Closed")
=IF(AND(TODAY()>=H5,TODAY()=H5,TODAY()最后一个几乎可以,但您需要进行测试
(1A) Start date on or before today
AND
(1B) Start date not blank
AND
(2A) End date on or after today
OR
(2B) End date blank.
导致
=IF(AND(AND(TODAY()>=H2,H2<>""),OR(TODAY()<=I2,$I2="")),"Current","Closed")
如果I2为空,MIN函数将忽略它,因此公式将只测试H2中的开始日期是否在当前月份之内或之后。谢谢-效果很好!唯一的问题是,如果有空行且H5和I5都为空,它仍然返回“current”。我尝试了:=If(and(TODAY()>=H5,或(TODAY())我现在还发现了另一个测试项目在当前月份是否处于活动状态的公式有什么问题——这是一个相同的问题,缺少I5=“”
。这个公式有效:=IF(或(月(H5)=月(今天()),月(I5)=月(今天()),或(I5=“”),“是”,“否”)
,但有一个相同的问题,即如果有空行,例如H列和I列中的单元格都为空,它仍然返回“是”。我得到了当前活动项目的公式:=if(and(H5=”,I5=”),if(and(TODAY()>=H5,或(TODAY()很抱歉,我只是想补充一下。如果H2和I2都为空,我会添加条件将其报告为“已关闭”,然后查看当月任何时间处于活动状态的项目。您正在测试一个在当月开始或结束的项目。如果它跨越当月,例如,它在2018年2月开始,在2018年4月结束,该怎么办您需要检查3月31日/之前的开始日期和3月1日/之后的结束日期,并添加空白日期的条件,并且始终假设日期顺序正确。
=IF(AND(AND(TODAY()>=H2,H2<>""),OR(TODAY()<=I2,$I2="")),"Current","Closed")
=IF(H2="","",IF(MIN(I2,EOMONTH(TODAY(),0))>=MAX(H2,EOMONTH(TODAY(),-1)+1),"Current","Not Current"))