Excel - 随时间推移计算​​发病率和患病率的最简单方法是什么?

时间:2017-12-13 08:43:25

标签: excel excel-formula survival

假设我有下面的数据集,填充D列中细胞的最有效公式是什么,其中计算了活着的患者数量?

Example data set in excel

它应该计算的方式是:

第1个月:8 * 100%= 8

第2个月:8 * 80%+ 6 * 100%= 12.4

第3个月:8 * 75%+ 6 * 80%+ 9 * 100%= 19.8

...

第10个月:等等。

我遇到的问题是每一行,公式变得更长。仅手动输入小数据集的公式是可行的,但随着数据集变大,此任务变得不可行。

我已经能够使用VBA来编码新患者列数(C)的存活率。但是,一旦我更改了该列中的单个值,我就必须重新运行VBA代码。

我觉得应该可以在Excel中使用INDEX函数的某种组合,我只是无法弄明白。

谁能帮助我?

亲切的问候, 桑德

1 个答案:

答案 0 :(得分:0)

如果至少在计算时允许移动数据,您可以执行以下操作:

=SUMPRODUCT($F$11:$F$20,B2:B11)

它使用了当前新患者列表的反向列表。该列表是使用(从this site获得的公式)创建的:

=INDEX($C$11:$C$20,COUNTA($C$11:$C$20)+ROW($C$11:$C$20)-ROW())

结果:

enter image description here

增加的空间对于公式起作用是必要的(因此对于尚未出现的患者,它会达到0%)。

或者你不必留下空格的地方(但是上面的所有东西都是颠倒的):

=SUMPRODUCT($C$2:$C$11,G11:G20)

enter image description here