2017-07-11 10 views
2

FILTERの仕組みを理解できているかどうかわかりません。
FILTERの両方の条件を満たし、8+10=18を取得した結果だけをSUMにしたいと思いますが、最初の条件が無視されたように8+9+10=27を取得しているようです。FILTERが2つの条件を満たす場合は、結果をSUMに合わせる

両方=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4), E1:E10 > 7))=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4) * (E1:E10 > 7)))リターン27

は、任意のアイデアをお持ちですか?ここで

exampleで、スクリーンショット enter image description here

答えて

2

が重要なことは、完全に一致

=SUM(FILTER(E1:E10,MATCH(D1:D10, G1:G4,0), E1:E10 > 7)) 

を指定するには、match関数に第三引数を入れているそうしないと、最大値の位置を取得しますルックアップ値以下:例"G"の場合、 "D"との一致が4を返すでしょう。したがって、元の数式のMatch関数は、常にTrue>として扱われる数値> = 1を返します。

不一致が#N/Aを返すため、上記の式が実際に機能するのは面白いですが、明らかにfalseと扱われます。これが文書化されているかどうかはわかりません。

私はいつもそれをより明確にするために

=SUM(FILTER(E1:E10,isnumber(MATCH(D1:D10, G1:G4,0)), E1:E10 > 7)) 

を置きます。

+0

ありがとう@トム、私はマッチが実際にすべてを選択していたという事実を完全に逃しました – Ionut

関連する問題