我有一个大的温度和湿度读数数据集,每半小时收集一年。我想获得平均日夜温度,但我的平均值实验到目前为止都失败了。这就是我的意思。
=AVERAGEIFS(Sheet1!D$7:D$17622,Sheet1!$C$7:$C$17622, ">="&$A21, Sheet1!$C$7:$C$17622,"<" &$A22)
A21和A22中的值为6:00和18:00,格式为h:mm。
这只返回DIV / 0!错误 - 我没有任何零,所以我不知道问题是什么。
我使用日期完全相同的公式。两个公式都使用相同的输入,输入每个单元格,如下所示:
1/02/2016 3:00:00 PM
我会非常感谢任何帮助(或者如果这是错误的论坛,请告诉我。)
答案 0 :(得分:2)
您的问题是您指定范围的大小。
<强>语法:强>
AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2],...)
AVERAGEIFS
函数语法具有以下参数:
Average_range
必需。要平均的一个或多个单元格,包括数字或名称,数组或包含数字的引用。
Criteria_range1, criteria_range2, …
Criteria_range1 required ,后续criteria_ranges 可选。 1至127个范围,用于评估相关标准。
Criteria1, criteria2, …
Criteria1 required ,后续条件可选。 1到127个标准,以数字,表达式,单元格引用或文本的形式定义哪些单元格将被平均。例如,条件可以表示为32
,"32"
,">32"
,“apples"
或B4
。与
AVERAGEIF
函数中的范围和条件参数不同,在AVERAGEIFS
中,每个criteria_range的大小和形状必须与sum_range 相同。
所以,对于AVERAGEIFS
,SUMIFS
,COUNTIFS
,如果要计算的范围(第一个参数)是,例如,A1:A10
,那么您指定的所有条件范围也必须跨越10个单元格。
您可能错误地使用AVERAGEIFS
而不是AVERAGEIF
。
如果您有一行标准并希望平均一行或多行数据,请使用AVERAGEIF
。
如果您有多个条件(即,在此时间之前和之后)并且想要平均一行数据,请使用AVERAGEIFS
。
我不相信你可以使用多个标准+多个数据行。如果您正在尝试这样做,则可能需要使用SUMIFS
和COUNTIFS
每行,然后根据这些行计算平均值。
例如:
如果您想平均白天气温(06:00至18:00之间)
时间存储在A1:X1
中,如00:00
至23:00
(*并且不附加日期,即使不是'可见' “)
温度存储在A:X
列中(每行一天)
并且您想要计算一天的平均白天温度,该温度存储在第2行,
...然后您可以使用:
=AVERAGEIFS(A2:X2,A1:X1,">="&6/24,A1:X1,"<&18/24)
注意,根据开始/结束日期/时间计算总数时,通常最好使用:
>=
开始日期/时间,以及
<
结束日期/时间
...以防止 重叠 。
此外,在进入更复杂的公式时,请务必手动计算几行进行比较,并确认您已正确指定公式标准。
更多信息:
Office.com:AVERAGEIFS function
Office.com:AVERAGEIF function
Office.com:SUMIFS function
Office.com:COUNTIFS function
Exceltip.com:AVERAGEIFS, SUMIFS and COUNTIFS Functions in Microsoft Excel
答案 1 :(得分:0)
一个尚未解决的问题是如何获得夜间平均值(当天工作正常)。我也想要每个季节的平均值。以下是我用数组公式修复它的方法:
=AVERAGE(IF((Sheet1!C$7:C$17622>=A$31)+(Sheet1!C$7:C$17622<A$32),IF(Sheet1!$B$7:$B$17622 >=$B31, IF(Sheet1!$B$7:$B$17622<$B32,Sheet1!D$7:D$17622))))
在Sheet1中,C列是时间,B列是日期/时间,D是温度。
和: A31 = 18:00 A32 = 6:00(夜间)
B31 = 1/03/2016 B32 = 1/06/2016(季节的范例)