具有OR条件的AVERAGEIFS


1

我有一系列血压测量值。我想确定白天和夜间的平均压力。

血压数据

问题的前半部分是微不足道的:

=AVERAGEIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17)

如果列A(“时间”)的对应值大于7:00且小于22:00(这些时间值在单元格I16 / 17中),则构建列B(“Sys”)中所有单元格的平均值。

我的问题是如何计算该范围之外的小时平均值。我必须检查时间是否小于7:00 大于22:00,但AVERAGEIFS条件是合并的AND

我显然无法使用,NOT()因为我必须立即将它应用于两个比较的结果,并且似乎没有办法做到这一点。

有条件的突出显示不是问题,你可以看到上面 - 我可以输入几个顺序测试的条件,有效地给我一个OR操作员...

是否有一个函数我可以使用从一个范围获取一个单元格的子集,我可以应用另一个函数?无论如何,当我想确定日/夜的血压最大值和最小值时,我可能需要类似的东西 - Excel没有MAXIFS()功能......

Answers:


1

谷歌搜索了一下,我想我找到了解决你的两个问题的方法。对于第一部分,您可以尝试为两个条件添加布尔值,看看它们是否都是真的:

=AVERAGE(IF((A17:A71<I16)+(A17:A71>=I17);B17:B71))

请注意,这是一个数组公式,因此您必须按此输入(输入公式后点击Ctrl+ Shift+ Enter)。

对于第二部分,您也可以这样做,但切换AVERAGE-function MAX

=MAX(IF((A17:A71<=I16)+(A17:A71>I17);B17:B71))

我希望这对你有用!


谢谢!我不知道数组公式,将不得不调查。
Tim Pietzcker 2015年

1

请尝试以下方法。它使用的事实是,您可以提取白天测量值,从总数中减去白天元素,得出过夜平均值。

= (SUM(B17:B71) - SUMIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17)) / (COUNT(B17:B71) - COUNTIFS(B17:B71;A17:A71;">="&I16;A17:A71;"<="&I17))


0

到目前为止,我有以下想法:

我正在使用带有该功能的辅助列

=IF(AND(A17>=$I$16;A17<$I$17);"Day";"Night")

如果时间是白天,则包含字符串“Day”,否则包含“Night”。然后,我可以使用该AVERAGEIF函数查看该列。

尽管如此,这并没有帮助我找到所有“日期价值”的最大压力......

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.