2012-09-26 77 views
0

我有一个健康项目电子表格,有一列症状和患者正在服用的药物。 这些实际上是列,但我不知道如何编写堆栈溢出列。有条件的平均excel数据列

symptom drug1 drug2 
7   150  0 
6   150  0 
7   150  0 
6   150  0 
2   75  25 
3   75  25 
2   75  25 
3   75  25 

我需要帮助写一个公式,将所有的天平均有症状6级及以上VS所有的3及以下症状级天。然后将其应用于药柱日。例如,在上面的情况下,当服用更多的药物1和更少的药物2时,症状水平看起来更高。现在,我正在通过人工标记日期来手动完成此项工作。

由于症状可能由药物价值的最后x天决定,我希望药物价值也是X天的平均值。每次我标记这些日子的时候,我都会手动去做这件事。

回答

3

如果我理解正确的话,那么这绝对是可能的。下面是什么,我能创造一个截图:

Excel Worksheet1

这给了你每种药物的量的平均水平,只有当它是>=<=指定的症状水平。

的公式如下,但而不是打ENTER输入后,你必须打CTRL + SHIFT + ENTER

=AVERAGE(IF($B$1:$I$1<=3,B2:I2)) 

下面是它看起来像在Excel中:

Excel Worksheet2

正如你可以看到,该公式仅平均符合要求的数据。对于该条件的功能的其他用途,逻辑测试可以更换(数字,字符串,日期等)和功能也(sumaverageminmaxcount等)

如果你试试这个并最终与#VALUE然后你跳过了重要的一步!

键入式之后,HIT CTRL+SHIFT+ENTER

通过击打该键组合的Excel知道您的形式的数据应该是代替单个细胞或个体范围任一单元格或范围的阵列,。

Check out this link for more info about Excel Array Formulas

+0

有趣的是,你可以通过拖动来实现。我的数据虽然在列中。在有条件的情况下3天内有没有办法平均症状或药物?就像最近3天的症状平均值必须小于3 – techdog

+0

那么,无论是列还是行,这都不重要,它只是如何选择数据。至于你的第二个问题,这很难理解,“平均3天后的症状或药物”有点令人困惑,所以请详细解释。如果您现在关注日子,还可以添加另一行/列以显示日期编号。 – JimmyBoh

1

你正在寻找的公式是AVERAGEIF我认为。

事情是这样的:

=AVERAGEIF(R2C1:R9C1,">=6",R2C2:R9C2) 
=AVERAGEIF($A$2:$A$9,">=6",$B$2:$B$9) 
+0

谢谢。我抬头看了平均数。我明白averageif。我应该一起使用这些方程吗?我试图将它们插入到Excel中,看看它们如何将列标签R更改为A和C,但是我正在获取div/o。此外,我从未见过像R2C1之类的东西。我的背景是在JavaScript编程。 – techdog

+0

= AVERAGEIF($ A $ 1:$ A $ 10,“> = 1”,B1:B10)这似乎适用于检查任何一列与第一列。 – techdog

+0

@danielsavage - 要使用“R1C1”地址,您需要将excel放入“R1C1”模式,否则使用默认的“A1”模式。使用“R1C1”通常比“A1”容易,但需要时间才能习惯。 – Enigmativity