2017-04-18 2 views
0

数字の列(3番目)の平均を計算する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) 

誰でも助けることができますか?

ありがとうございます。あなたはOffice 365のExcelのサブスクリプションをお持ちの場合は

答えて

4

は、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またはそれ以前を使用している場合:

編集を終了するとき、それはCtrlキーを押しながらShiftキーを押しながら入力する代わりに入力して確認する必要があります、配列数式なので
=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & MIN(IF($A$1:$A$12=A1,$B$1:$B$12))),"") 

モード。正しく実行された場合、Excelは{}を数式の周りに置きます。

+0

ありがとう、スコット!これは完全に機能しました! –

関連する問題