next up previous contents
Next: マクロの使用 Up: 表計算 Previous: 二つの条件を全て満たす個数を数える: COUNTIFS   Contents

二つの条件を全て満たす個数を数える、合計を計算する: SUMPRODUCT

前節では、SUMとIF文、COUNTIFSを用いて2つ以上の条件を満たす場合を数える方法を演習しました。 これを実施するためにExcelのSUMPRODUCTという関数を利用する事も出来ます。 SUMPRODUCT関数は、配列を取り扱います。配列とは、数学の行列の様な ある行と列からなる数字のグループです(図の参照 12.3.12)。

Figure 150: 配列
   \includegraphics[width=14cm,clip]{hairetsu.eps}   

SUMPRODUCTの基本的機能は、同じ 行数と列数をもつ配列同士の要素ごとの積を計算し、その積の合計を計算します。

=SUMPRODUCT([配列1],[配列2],[配列3],[配列4],・・・)
かけ算は、2つの配列のみならず、カンマで区切って複数の配列の要素同士で行う事が出来ます。

例えば図(12.3.12)にある2つの配列のうち、上の配列のA1と下の配列の A9とを掛け合わせ、次にB1とB4を掛け合わせ・・・最後にC5とC13を掛け合わせ て全ての15個のかけ算の答を足し合わせる場合には、

=SUMPRODUCT(A1:C5,A9:C13)

とします(図の参照 [*])。

Figure 151: SUMPRODUCT
   \includegraphics[width=14cm,clip]{SUMPRODUCT100.eps}   

また、SUMPRODUCTは、IF文と同様に、論理式を配列を指定して 書く事ができます。例えば論理式を、

=SUMPRODUCT((A1:C5>10)*1)

としましょう。上記論理式の

 (論理式)*1
によって、配列で(論理式)を満たすものののうち、配列要素を 「1」として数えることができます。さらにその和を求めるので、 上の例の場合、10より大きい要素数を数える事になります。

さらに、SUMPRODUCTの論理式をかけ算マークで組み合わせれば 2つ以上の条件を満たす要素数を数える事が出来ます。即ち、

=SUMPRODUCT((A1:C5<10)*(A9:C13<10)*(A1:C5>3))
の様に書け、この場合一つの条件を満たす場合を数えるのに使った1 は必要なくなります。この例では、上の配列で10未満で、下の配列でも10未満で 上の配列で3よりも大きい要素数を数えます。



Takeyoshi Nagai 2013-09-03