如何在Excel中平均动态范围? (VBA?)

时间:2012-07-17 23:45:10

标签: excel excel-2007 excel-formula excel-2010

我在Excel中有一个列表,基本上有两列:DateValue

Col A     |Col B |Col C|Col D     |Col E
----------+------+-----+----------+-----
Date      |Value |     |Date-range|
2012/01/01|    10|     |2012/01/01| 8.33
2012/01/05|     5|     |2012/01/07|
2012/01/07|    10|     |          |
2012/01/13|     1|     |          |

我想返回两个日期之间的平均值,我将在两个单独的单元格中设置。这可能吗?

让我们说在Cell D1中我放了“2012/01/01”,在Cell D2中我放了“2012/01/07”。它应该返回该日期范围内的平均值,在这种情况下(10 + 5 + 10)/ 3 = 8.33

我能够为两个日期返回单元格(例如C100),但我不知道如何将它们包含在平均范围内。或者有更聪明的方法吗?

1 个答案:

答案 0 :(得分:0)

正如Excel 2007所示,您可以使用AVERAGEIFS。对于你的情况

=AVERAGEIFS(B1:B10,A1:A10,">="&D1,A1:A10,"<="&D2)

其中D1是您的最短日期,D2是您的最长日期,A1:B10包含您的日期,值范围将返回8.33