2012-07-17 169 views
1

我在Excel中有一個列表,基本上有兩列:DateValue如何在Excel中做一個動態範圍的平均值? (VBA?)

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|  |   | 

我想返回兩個日期,我將設置在兩個單獨的單元格之間的平均值。那可能嗎?

所以,讓我們說在細胞D1我把「2012/01/01」,並在細胞D2我把「2012/01/07」。它應該返回在該日期範圍內的值的平均值,在這種情況下(10 + 5 + 10)/ 3 = 8.33

我能夠返回兩個日期的單元格(例如C100),但我沒有知道如何將它們包括在平均範圍內。還是有更聰明的方法來做到這一點?

+0

請插入'code'塊到你的問題,給出一些樣本數據。例如,日期是按單列列出的? 「這兩個日期返回單元(C100)」是什麼意思? – 2012-07-17 23:52:34

+0

相應地更新了它。通過「返回單元格(C100)的兩個日期」我的意思是 - 在這種情況下 - 有一個公式(vlookup)來查找設置日期引用的單元格 - A1和A3 - 也許它有幫助 – user1507035 2012-07-18 00:13:42

回答

0

由於您擁有Excel 2007,因此您可以使用AVERAGEIFS。對於你的情況

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

其中D1是你的最小日期,D2的最大日期和A1:B10包含您的日期和值範圍將返回8.33

+0

嗯,如果我做正是這個它返回一個**#Value!**錯誤 – user1507035 2012-07-18 00:31:01