6

パート1:

(いくつかの例から)私が望むことを正確に実行する式を作成することはできましたが、それでも、それがどのように正確に機能するかを理解することはできません。セルA1から始めます。

Price   $
table   20
chair   10

Invoice Quantity
table   17
chair   1
chair   2
table   3

私が欲しいのは、各アイテムの数量*価格(17 * 20 + 1 * 10 + 2 * 10 + 3 * 20)として計算される請求書の最終合計(430)です。次の式はこれを正しく行います。

=SUMPRODUCT(B6:B9,SUMIF(A2:A3,A6:A9,B2:B3))

SUMPRODUCTとSUMIFの基本を理解しています。しかし、ここでは、SUMIFの範囲に対する私の議論はA2:A3です。これにより、SUMIFはA8:A11(基準)ではなく、A2とA3を反復処理すると思います。何が得られますか?

編集:不明確な部分は、最初の2つの引数が異なる次元である場合(ここでは、範囲は2セルで、基準は4セル)、SUMIFは正確に何をするか(その反復パターンは何ですか)です。また、SUMIFの「出力」とは何ですか?配列?どのような次元の?

パート2:

さらに、数量を無視して、テーブルを見るたびに20を追加し、椅子を見るたびに10を追加したい場合は、次のように考えました。

=SUMIF(A2:A3,A6:A9,B2:B3)

しかし、それは機能しません。それが機能し、60と正しく評価されるようにするには、SUMPRODUCT()で囲む必要があります。SUMで囲むことも機能しません(おそらくSUMIFが配列を返さないためですか? ) なぜ?

私はたくさんのチュートリアルを読みましたが、それでもこれを理解することはできません。これらの両方の場合について、明確で直感的な説明をいただければ幸いです。ありがとうございました。

4

2 に答える 2

11

SUMIF一連の結果を生成できます。あなたが私の公式を取るならば、
=SUMIF(A6:A9,A2:A3,B6:B9)
それは言います

A2(つまりテーブル)の基準について-A6:A9を見てください
-テーブルが一致する場合、B6:B9の対応する値を合計し
ます-20を返します(つまり17 +0 +0 +3)
-これは最初の位置に格納されますアレイの

次に、A3(つまり椅子)の基準について
-A6:A9を見てください
-テーブルが一致する場合、B6:B9の対応する値を合計し
ます-3を返します(つまり0 +1 +2 +0)
-これは2番目に格納されます配列の位置

したがって、からの最後の配列SUMIFは{20:3}です。

Excelの数式バーでSUMIF数式を強調表示してから、F9キーを押すと、配列の結果を確認できます。

次に、を使用して、B2:B3の$値でSUMPRODUCTカウントを乗算し、合計金額を取得します。SUMIF

= {20; 3} * {20:10}
= 20 * 20 + 3 * 10
= 430

パート1 ={20; 10; 10; 20} の4要素配列を生成するのでは
なく(テーブル;椅子;椅子;テーブルに対応)
SUMIF(A2:A3,A6:A9,B2:B3)



SUMIF(A6:A9,A2:A3,B6:B9)
B6:B9の値をA2:A3の2つの基準と合計して、目的の結果
= {20; 3} (テーブル;椅子に対応)を与えるものを使用する必要があります。

次に、を使用SUMPRODUCTして配列に重みを付けます。つまり、 =SUMPRODUCT(SUMIF(A6:A9,A2:A3,B6:B9),B2:B3) = {20; 3} * {20:10}
= 430

パート2
を使用して、椅子とテーブルの数の配列を返し、 = {20; 10} * {2; 2} =60COUNTIFを使用して値を乗算します。SUMPRODUCT
=SUMPRODUCT(B2:B3,COUNTIF(A6:A9,A2:A3))

于 2012-07-14T05:25:54.613 に答える
0

さて、あなたはただ一つの小さな間違いを持っ​​ています:

SUMIFが配列を返さないためか?

SUMIFは配列を処理できるため、数式SUMPRODUCT(SUMIF())が最初に機能します。SUMIFに配列を表示するには、セルのグループ(C6:C9など)を選択して数式を入力し、CTRL + SHIFT+ENTERを使用する必要があります。 ENTERのみの代わりに。これにより、中括弧{}で識別される「配列数式」が生成され(CTRL + SHIFT + ENTERでのみ入力でき、手動では入力できません)、配列数式と結果が表示されます。

于 2012-07-14T01:27:33.963 に答える