0

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

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 及以上的所有天数与症状级别 3 及以下的所有天数。然后将它应用到药柱天。例如,在上面的案例中,当服用更多的药物 1 和更少的药物 2 时,症状水平似乎更高。现在我通过手动标记日期来手动执行此操作。

由于症状可能由药物价值的最后 x 天确定,我希望药物价值也是 X 天前的平均值。每次我标记这些日子时,我都会手动返回几天。

4

2 回答 2

3

如果我理解正确,那么这是绝对可能的。下面是我能够创建的屏幕截图:

Excel 工作表1

这为您提供每种药物用量的平均值,仅当它是>=<=指定的症状水平时。

公式如下,但不是ENTER在键入后点击,而是必须点击CTRL + SHIFT + ENTER

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

这是它在 Excel 中的样子:

Excel 工作表2

如您所见,该公式仅对满足要求的数据进行平均。对于此条件函数的其他用途,可以替换逻辑测试(数字、字符串、日期等),该函数也可以(、、、、、、sum等)averageminmaxcount

如果您尝试此操作并最终完成,#VALUE那么您跳过了重要的步骤!

输入公式后,HITCTRL+SHIFT+ENTER

通过点击该组合键,Excel 知道表单中的数据应该是单元格或区域的数组,而不是单个单元格或单个区域。

查看此链接以获取有关 Excel 数组公式的更多信息

于 2012-09-26T01:19:52.703 回答
1

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

像这样的东西:

=AVERAGEIF(R2C1:R9C1,">=6",R2C2:R9C2)
=AVERAGEIF($A$2:$A$9,">=6",$B$2:$B$9)
于 2012-09-26T00:29:38.417 回答