excel的平均日夜温度

时间:2018-03-07 09:08:23

标签: excel date time excel-formula formula

我有一个大的温度和湿度读数数据集,每半小时收集一年。我想获得平均日夜温度,但我的平均值实验到目前为止都失败了。这就是我的意思。

=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

我会非常感谢任何帮助(或者如果这是错误的论坛,请告诉我。)

2 个答案:

答案 0 :(得分:2)

您的问题是您指定范围的大小。

来自documentation

  

<强>语法:

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 相同。

所以,对于AVERAGEIFSSUMIFSCOUNTIFS,如果要计算的范围(第一个参数)是,例如,A1:A10,那么您指定的所有条件范围也必须跨越10个单元格。

您可能错误地使用AVERAGEIFS而不是AVERAGEIF

  • 如果您有一行标准并希望平均一行或多行数据,请使用AVERAGEIF

  • 如果您有多个条件(即,在此时间之前和之后)并且想要平均一行数据,请使用AVERAGEIFS

我不相信你可以使用多个标准+多个数据行。如果您正在尝试这样做,则可能需要使用SUMIFSCOUNTIFS 每行,然后根据这些行计算平均值。

例如:

  • 如果您想平均白天气温(06:00至18:00之间)

  • 时间存储在A1:X1中,如00:0023:00(*并且附加日期,即使不是'可见' “)

  • 温度存储在A:X列中(每行一天)

  • 并且您想要计算一天的平均白天温度,该温度存储在第2行,

...然后您可以使用:

=AVERAGEIFS(A2:X2,A1:X1,">="&6/24,A1:X1,"<&18/24)

注意,根据开始/结束日期/时间计算总数时,通常最好使用:

  • >=开始日期/时间,以及

  • <结束日期/时间

...以防止 重叠

此外,在进入更复杂的公式时,请务必手动计算几行进行比较,并确认您已正确指定公式标准。

更多信息:

答案 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(季节的范例)