带有 OR 条件的 AVERAGEIFS

带有 OR 条件的 AVERAGEIFS

我有一系列血压测量数据。我想确定白天和晚上的平均血压。

血压数据

问题的前半部分很简单:

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

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

我的问题是如何计算小时的平均值外部那个范围。我必须检查时间是否小于 7:00或者大于 22:00,但AVERAGEIFS条件是通过 进行组合的AND

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

正如您上面看到的,条件突出显示不是问题 - 我可以在那里输入几个按顺序测试的条件,从而有效地给我一个OR运算符......

是否有一个函数可以用来从某个范围中获取单元格子集,然后可以对其应用另一个函数?当我想确定白天/夜晚的血压最大值和最小值时,我可能需要类似的东西 - Excel 没有这个函数MAXIFS()...

答案1

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

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

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

对于第二部分,您可以执行相同的操作,但将 -function 切换AVERAGEMAX

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

我希望这对你有用!

答案2

尝试以下方法。它利用了这样一个事实:你可以提取白天的测量值,从总数中减去白天的元素,从而得出隔夜平均值。

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

答案3

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

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

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

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

但是,这并不能帮助我找到所有“日值”的最大压力......

相关内容