【问题标题】:conditionally average excel data columns有条件地平均excel数据列
【发布时间】:2012-09-17 13:25:30
【问题描述】:

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

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 天前的平均值。每次标记日子时,我都会手动返回几天。

【问题讨论】:

    标签: excel conditional average


    【解决方案1】:

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

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

    公式如下,但打字后不能打ENTER,必须打CTRL + SHIFT + ENTER

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

    这是它在 Excel 中的样子:

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

    如果您尝试此操作并以 #VALUE 结束,那么您跳过了重要的一步!

    输入公式后,HIT CTRL+SHIFT+ENTER

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

    Check out this link for more info about Excel Array Formulas

    【讨论】:

    • 有趣的是,你可以通过拖动来做到这一点。我的数据在列中。有没有办法在有条件的情况下平均 3 天后的症状或药物?就像过去 3 天的症状平均值必须小于 3
    • 好吧,不管是列还是行,这只是您选择数据的方式。至于您的第二个问题,有点难以理解,“平均 3 天前的症状或药物”有点令人困惑,所以请解释一下。如果您现在关心天数,还可以添加另一行/列来显示天数。
    【解决方案2】:

    我想你要找的公式是AVERAGEIF

    类似这样的:

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

    【讨论】:

    • 谢谢。我查了一下averageif。我理解平均。我应该一起使用这些方程式吗?我正在尝试将它们插入 excel 以查看它们将列标签 R 更改为 A 和 C 更改为 B 的操作,但我得到了 div/o。而且我以前从未见过像 R2C1 这样的东西。我的背景是 javascript 编程。
    • =AVERAGEIF($A$1:$A$10,">=1",B1:B10) 这似乎适用于根据第一列检查任何一列。
    • @danielsavage - 要使用“R1C1”地址,您需要将 excel 置于“R1C1”模式,否则它使用默认的“A1”模式。使用“R1C1”通常比“A1”容易,但需要时间来适应。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2018-07-31
    • 2020-07-07
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多