2016-03-30 18 views
0

複数の条件に基づいて結果を集計する方法(配列式を使用)を理解する必要があります。私はこのトピックに関する多くの質問が既に回答されていることを理解していますが、鉱山は異なっているようですので、すでに与えられた解決策は私の知識の範囲内ではうまくいきません。Excel - (配列式)異なる場合の複数のIF条件の合計

例として、下の表を参照してください。私がしたいことは、同じ日にタイプCがないタイプAのValのすべてを合計することです。 (つまり、5日目& 7)J2で

Day  Type Val 
1  A  5 
1  B  6 
1  C  9 
2  B  2 
2  A  8 
2  C  3 
3  C  4 
3  B  2 
3  A  2 
4  A  5 
4  B  9 
4  C  8 
5  A  7 
5  B  5 
6  A  6 
6  B  3 
6  C  4 
7  A  7 
7  B  9 
+0

入力と出力の例を提供できますか? – Danielle

+0

@Danielle入力のテーブルがすべて用意されています。 –

+0

@ Morts81 Q:1日に1つのAしかない?リストは常に日の順にソートされますか? –

答えて

0

Result

1セル配列数式は次のとおりです。

=SUM((B2:B20="A")*C2:C20*ISERROR(MATCH(A2:A20,IF(A2:A20&B2:B20=A2:A20&"C",A2:A20),0))) 

そして、私はヘルパーの列を使用してI2式を作成している何が起こっているかを理解します。 "_S1"、 "_S2"、 "_S3"はヘッダーの下の名前付き範囲です。

I2は、通常の式

=SUMPRODUCT(_S1,_S3) 

_S1は、私はちょうど他のすべてのためのタイプ "A" の値とゼロを返す午前配列数式

ここ
=(B2:B20="A")*C2:C20 

です。

_S2は、ここで私は、私は「C」といくつかの追加FALSEsを持って一日番号の範囲を作成しています配列数式

=IF(A2:A20&B2:B20=A2:A20&"C",A2:A20) 

です。

_S3は、私は、範囲_S2から 'C-日' にA列から一日を一致させようここでは、配列数式

=ISERROR(MATCH(A2:A20,_S2,0))*1 

です。一致するものがある場合は0を返し、それ以外の場合は1を返します。