2017-04-18 34 views
0

我想編寫一個vba代碼來計算數值列(第三個)的平均值,但除了包含最短日期的行外,因爲我想比較第一天的數據是針對其他日子的數據。vba - 除包含最短日期的所有行上的平均值

但是,我也必須考慮一年。我想除AN17之外的所有AN16的平均值。

我不知道如何做到這一點,這裏沒有任何東西似乎爲我工作。

這裏是我的數據:

AN17 01-mar-17 65298340734 
AN17 02-mar-17 30382114732 
AN17 03-mar-17 25149388406 
AN17 04-mar-17 54249361285 
AN17 05-mar-17 34757947426 
AN17 06-mar-17 18546884324 
(I need an average here, that excludes number from March 1st) 
AN16 26-feb-16 56450549777 
AN16 27-feb-16 51285706203 
AN16 28-feb-16 37384621464 
AN16 29-feb-16 28992655707 
AN16 01-mar-16 21979700006 
AN16 02-mar-16 27826026350 
(I need an average here, that excludes number from February 26th) 

誰能幫助?

謝謝,最好的問候!

回答

4

如果你有一個Office 365的Excel的訂閱,然後使用這個公式D1:

=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & MINIFS(B:B,A:A,A1)),"") 

抄下:

enter image description here


如果您沒有訪問Office 365然後使用此公式代替:

=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & AGGREGATE(15,6,$B$1:$B$12/($A$1:$A$12=A1),1)),"") 

如果使用的是2007或以上,那麼你就需要使用這個數組公式:

=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & MIN(IF($A$1:$A$12=A1,$B$1:$B$12))),"") 

作爲數組公式,它必須與確認按Ctrl-Shift鍵輸入,而不是退出編輯時輸入模式。如果正確完成,Excel將在公式周圍放置{}

+0

謝謝,斯科特!這工作完美! –