2016-05-24 10 views
1

数年前にいくつかのコードを書いて、スプレッドシートを生成しました。それは、ヒストグラムのためにいくつかの奇妙なことをすることを含む。私はちょうど別のプロジェクトのためにこれを更新/使用する必要性に出くわしました。そこにいくつかのコードがありますが、私は完全に理解していません。論理積演算子、加重ヒストグラム(excel)の名前付き範囲にある論理演算子

基本的には、指定された範囲で作業する論理演算子であり、その論理演算子はサンプ製品で使用されます。そして私の人生のために、私はそれがなぜ機能するのか完全には知りませんが、そうしています。ここに違反行があります。

=SUMPRODUCT((tblC62>G90)*(tblC62<=G91) * tblC2wgt2) 

tblC62tblC2wgt2参照いくつかのペアデータ。 のレコードでtblC62の各レコードが並んでいます。目的は、重み付きヒストグラムを作成することです。 tblC2wgt2は重量を提供する。データはtblC62値でビニングされ、ビン範囲はG90G91tblC62で定義されます。それで、それが定義されます。

これは機能します。私はそれを徹底的にチェックした。そして、なぜ私は理解していない。最も紛らわしいのは、tblC62の論理が乗算されていることです。

とにかく、私の上司に数学を説明しなければなりません。誰かが私にこのコードの仕組みを説明できるなら、私はそれを感謝します。

答えて

1

ブールTrue/Falseの固有の値を使用しています。数学でそれらを使用すると、自動的に1/0の値に戻ります。

はそうで:(tblC62>G90)がtrueの場合

=SUMPRODUCT((tblC62>G90)*(tblC62<=G91) * tblC2wgt2) 

その値は1で、それが両方に該当する場合だから我々は1に等しい1 * 1を得る(tblC62<=G91)

と同じ0のときはfalse。どちらかがfalseの場合、0 * 10になります。

次に、その結​​果にtblC2wgt2が乗算されます。どちらかまたは両方が偽である場合、それは0 * tblC2wgt2 which = 0です。どちらも真の場合、1 * tblC2wgt2 = tblC2wgt2となります。

Sumproductはすべてのバリエーションを追加します。

+0

ahhhhhhです。だから、それは本当に伝統的な意味ではなく、雑貨ではありません。その範囲内にある名前付き範囲からすべてを合計し、他のすべてをnullにするだけです。男、ありがとう。私が実際にしたことを本当に理解できなかった。私は真剣に、私は5分で私のマネージャーと会うつもりです。あなたは本当に私のお尻を救った。 – emorris1000

+0

@ emorris1000答えのチェックマークをクリックして、正しいとマークすることを検討してください。それはあなただけができることです。 –