AVERAGEIF平均状况

时间:2012-09-26 16:45:52

标签: excel if-statement excel-2007 average worksheet-function

是否可以使用平均嵌入条件的AVERAGEIF?我想使用这样的公式:

=AVERAGEIF($A1:$A10,"<5",B1:B10)

但不是检查A3以查看它是否小于5我想检查AVERAGE(A1:A3)是否小于5.对于A4,我想检查AVERAGE(A2:A4)

现在我首先对列进行平均,但每次执行此操作时都必须创建一个新列。我想知道是否有更优雅的解决方案。

来自编辑的其他信息:
这是为了检查一个人的症状与他们服用的药物,但症状在药物服用三天后出现。因此,如果在症状栏中三天的平均症状小于5,我想输出之前三天的平均药物水平。

任何已发布的答案都能为这种情况提供解决方案吗?

2 个答案:

答案 0 :(得分:2)

REVISED

现在看来很可能是一个相对简单的=IF(AVERAGE(C2:C4)<5,AVERAGE(B2:B4),"")可能适合:

SO12606558a

进入第四行(1表示标题,2&3表示积累3天)并复制下来。假设每日“读数”和剂量逻辑上先于症状(虽然问题似乎暗示列可能是另一种方式)。

查看是否紧靠左侧的单元格+紧接在平均值小于5的左侧的两个单元格,如果是,则立即对其左侧的三个单元格求平均值。如果不是,则不显示""。结果四舍五入为2 DP。

如果三天的症状与剂量的三天不同,可能需要调整。

答案 1 :(得分:1)

我不确定在平均值中包括B1或B2的标准,但是如果AVERAGE(A1:A3)<5则听起来想要包括B3,如果AVERAGE(A2:A4)&lt; 5,则包括B4。如果AVERAGE(A3:A5)&lt; 5等等,则包括B5 ......

如果是这样,那么您可以使用SUBTOTAL和OFFSET来获得3个单元格平均值的数组,AVERAGE(A1:A3)直到AVERAGE(A8:A10),并将其包含在您的公式中,如下所示:

=AVERAGE(IF(SUBTOTAL(1,OFFSET(A1:A3,ROW(A3:A10)-ROW(A3),0))<5,B3:B10))

这是一个需要用CTRL+SHIFT+ENTER确认的“数组公式”,以便在公式栏中的公式周围出现像{和}这样的花括号