Excel:计算不同个人在多个date范围内发生的天数的公式

我正在尝试开发一个Excel公式,它允许我计算两个date范围内发生的不同个人的天数。 以下是我的数据集示例:

id admDt sepDt admDur id dxDt-1 dxDt admDurTot 1 16/01/2000 18/01/2000 2 1 24/01/2000 24/02/2000 28 1 22/01/2000 18/02/2000 27 2 30/03/2000 30/04/2000 0 1 20/02/2000 22/02/2000 2 3 3/02/2000 3/03/2000 0 1 24/02/2000 28/02/2000 4 4 31/12/1999 31/01/2000 0 5 19/05/2000 20/06/2000 32 5 20/05/2000 20/06/2000 31 8 25/12/1999 28/12/1999 3 6 13/11/2000 13/12/2000 0 8 18/01/2000 26/01/2000 8 7 14/04/2000 14/05/2000 0 8 28/01/2000 28/01/2009 3288 8 23/12/1999 23/01/2000 9 9 9/02/2000 9/03/2000 0 

对于AD列,每行反映一个事件(在这种情况下,医院入院):

  • id =个人的身份证号码
  • admDt =入学date
  • sepDt =卸货date
  • admDur =入场时间(以天计)

请注意,多行可以涉及一个人 (例如, A2:E5 )。

对于FI列,每行都反映一个人的数据:

  • id =个人的身份证号码
  • dxDt-1 =诊断前一个月的date
  • dxDt =诊断date
  • admDurTot =入场时间(天数)

每个入场( admDtsepDt )和个人( dxDt-1dxDt )的date范围可以不同。 虽然每个事件的date范围可能跨越几个月(例如,单元格A3:C3A9:C9 ),但我有兴趣计算在诊断前一个月( admDurTot )在诊断前的天数( dxDt ) 。 请注意, admDurTot 中的值 反映了我希望获得的值,而不是从我使用的不同公式获得的值

我已经尝试了SUMIFS公式的变体:

  • = SUMIFS($ D:$ D,$ A:$ A,$ G2,$ B:$ B,“> =”&$ H2,$ C:$ C,“<=”&$ I2)
  • = SUMIFS($ D:$ D,$ A:$ A,$ G2,$ B:$ B,“<=”&$ I2,$ C:$ C,“> =”&$ H2)
  • = SUMIFS($ D:$ D,$ A:$ A,$ G2,$ B:$ B,“> =”&$ H2,$ C:$ C,“>”&$ H2,$ C:$ C ,“<=”&$ I2)

然而,他们被这样一个事实所困惑,即他们经常不在所关心的范围之内(即他们不在dxDt-1dxDt )。 例如,在个人1的情况下,上述公式表明他在诊断前一个月在医院呆了33天。 实际上,他在这段时间里住了28天。

我发现在其他网站很less指导。 我已阅读以下链接; 不过,我不熟悉C#。

计算按月分隔的两个date之间的天数

任何援助将不胜感激!