Excel月度公式

我有一个表设置员工开始date,终止date,然后每月列 – 请参阅下面的图片。

我试图计算员工的任期,但基于以下情况:

  1. 雇员已经在月内开始工作或者目前有工作,没有终止date – 任期将按照开始date和报告月份(CF,CG等栏目)

  2. 员工已经终止 – 任期将以开始date和报告月份计算,直到终止月份,然后交换到开始date和终止date之间的计算(E栏,F栏)。 一旦终止月份结束,该雇员的任期将为0。 例如。 开始11月1月16日,终止8月7日 – 16日,CF栏(6月)和CG(7月)将按正常计算,CH栏(8月份)应为0。

这里是我当前工作表的设置图片: 在这里输入图像说明

我现在的公式是:

=IF(OR(CF$2>CurrentReportMonth,$E9>CF$2),0,IF($F9>CF$2,0,IF(OR($E9<=CF$2,$F9<CF$2),DATEDIF($E9,CF$2,"M"),DATEDIF($E9,$F9,"m")))) 

这是我们讨论的总结:

 =IF(OR(CF$2>ReportDate,AND($F9>0,$F9<CF$2),$E9>=CF$2),"-",IF(AND($E9<=CF$2,$F9=0‌​),DATEDIF($E9,CF$2,"M"),IF(AND($E9<=CF$2,$F9>CF$2),DATEDIF($E9,CF$2,"M"),DATED‌​I‌​F($E9,$F9,"M")))) 

cell CF9使用此公式并上下复制,这应得到结果。

尝试这个:

 =IF($A25>$F$24,0,IF(AND(LEFT(CELL("format",$B25),1)="D",$B25<$F$24),0,IF(ISNUMBER(F25),F25+1,1))) 


我的数据在文件中设置:

  • A = Start Date
  • B栏= Termination Date
  • 我有我的每月从E列开始的date

你将不得不根据你的工作表调整列名,但这应该会给你你想要的结果