web-dev-qa-db-ja.com

SUMPRODUCTとSUMIFS

Excelの社内ガイドを作成しようとしています(私たちは小さな非営利団体であり、何らかのベースラインガイドが非常に必要です)。しかし、SUMPRODUCTとSUMIFSの違いを説明しようとすると、行き詰まってしまいました。

私の理解では、SUMPRODUCTはExcel 2007より前に複数のsumif基準を(他のものとともに)持つ方法として使用されていました。 SUMIFSが利用可能になったので、両方の数式の容量に違いはありますか?

少し調べてみたところ、SUMIFSの方が高速である傾向にありましたが、それだけでした...洞察や資料を読んでいただければ幸いです。

ありがとう

11
Kelley Hamrick

SUMPRODUCTは、SUMIFSの他の関数を使用して範囲を変更できるため、SUMPRODUCTよりも柔軟に使用できます。 _A2:A100_に日付範囲がある場合、December日付(任意の年)の_B2:B100_の対応する金額をどのように合計できますか?

この式を使用して答えを得ることができます

=SUMPRODUCT((MONTH(A2:A100)=12)+0,B2:B100)

SUMIFSを使用してこれを簡単に行うことはできませんが、日付がすべて1年である場合は、範囲の開始点と終了点をSUMIFSの基準として使用できます。 2014年12月のみ:

=SUMIFS(B2:B100,A2:A100,">="&DATE(2014,12,1),A2:A100,"<"&DATE(2015,1,1))

SUMPRODUCTは、closedブックのデータを参照するためにも使用できます。SUMIFSはそれを実行できません-ここを参照してください

http://support.Microsoft.com/kb/260415

...しかし、一般的にはSUMIFSの方がはるかに高速です。引用された_5x_の数値を見たことがありますが、確認していません。

SUMPRODUCTの複数の興味深い使用法については、MS Excel MVPによるこの記事を参照してください_Bob Philips_

http://www.xldynamic.com/source/xld.SUMPRODUCT.html

9
barry houdini

SUMPRODUCTは、配列数式のように機能します。これにより、SUMIFよりもはるかに柔軟性が高くなります。 OR(+ summproduct)を使用できる例を次に示します。

=SUMPRODUCT((A1:A10="Marketing")*((B1:B10="North")+(B1:B10="South"))*(C1:C10))

これは、Aでマーケティングを行っているすべてのものと、Bで北または南を持っているものすべてを合計します。

これは、範囲で関数を使用する例です

=SUMPRODUCT((YEAR(A3:A7)=2014)*(B3:B7=1)*(C3:C7))

これは、列Aの日付の年が2014で列Bが1であるすべてを合計します。

5
Dick Kusleika

SUMPRODUCTは実際には複数の配列の積を合計できます。SUMIFSは単一の範囲の値のみを合計します。

例えば入力データ用

_10    1
20    2
30    3
_

=SUMPRODUCT(A1:A3, B1:B3) => 10 * 1 + 20 * 2 + 30 * 3 = 140

4
Aprillion
  1. SUMIFSは通常、同様のSUMPRODUCT数式の計算負荷の内で機能します。
  2. SUMIFSは、使用されたを実際に計算するだけでSUMPRODUCTが行う方法とは異なり、計算の遅れを損なうことなく、完全な列参照を使用できます(A2:A999ではなくA:Aなど)。範囲
  3. SUMIFSは、数学演算でSUMPRODUCTを使用してエラーを作成する列のテキスト値をスキップします。
  4. SUMPRODUCTSUMIFSにない機能を提供しますが(上記のOR機能は最も一般的に必要とされる機能の1つです)、新しいSUMIFSは断然使用可能な場合は常に推奨される方法。
4
user4039065