Excel:用于计算不同个人的多个日期范围内发生的天数的公式

时间:2016-09-29 02:34:43

标签: excel

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

    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

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

  • id =个人的身份证号码
  • admDt =入学日期
  • sepDt =出院日期
  • admDur =入学时间(以天为单位)

请注意,多行可以与一个人相关(例如A2:E5)。

对于列F-I,每行反映一个人的数据:

  • id =个人的身份证号码
  • dxDt-1 =诊断前一个月的日期
  • dxDt =诊断日期
  • admDurTot =录取的总持续时间(以天为单位)

每次入场(admDtsepDt)和个人(dxDt-1dxDt)的日期范围可能不同。虽然每个事件的日期范围可能跨越几个月(例如,单元格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)
但是,admDtsepDt通常都不属于感兴趣的范围(即它们不在dxDt-1dxDt之间)这一事实使他们感到困惑。 。例如,在个人1的情况下,上述公式表明他在诊断前一个月内在医院度过了33天。实际上,他在那段时间里住了28天。

我在其他网站上找不到什么指导。我查看了以下链接;但是,我不熟悉C#。

Calculate number of days between two dates separated by month

非常感谢任何帮助!

0 个答案:

没有答案