[[20100826085333]] 『SUMPRODUCT関数について』(kosuke) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『SUMPRODUCT関数について』(kosuke)

いつもお世話になっております。

SUMPRODUCT関数について、以下に表される2式が意味する違いを教えていただけませんか?

=SUMPRODUCT(($B$2:$B$7=B$11)*($D$2:$D$7=$A12),($E$2:$E$7))

                                             ~
=SUMPRODUCT(($B$2:$B$7=B$11)*($D$2:$D$7=$A12)*($E$2:$E$7))
                                             ~

 一番目は
 =SUMPRODUCT(配列1,配列2)
 となって配列同士の乗算と加算計算をSUMPRODUCT関数がおこなう。

 二番目は
 =SUMPRODUCT(配列1)
 となってSUMPRODCUT関数は加算計算のみをおこなう。

 で、結果の違いとしてはE2セルからE7セル内に(数値に変換できない)文字列があった場合、
 一番目は乗算段階でSUMPRODUCT関数が文字列を無視するため文字列部分が「0」として計算されます。
 二番目の式では($B$2:$B$7=B$11)*($D$2:$D$7=$A12)*($E$2:$E$7)の計算段階で文字列の乗算が発生するため
 エラーになります。

 もし、文字列が数値に変換できる文字列だった場合は一番目は上記と同じく文字列部分が無視されますが二番目の場合、
 乗算時にその文字列が意味する数値に変換されて計算されます。

 例
 ($B$2:$B$7=B$11)*($D$2:$D$7=$A12)は全て満たされるとして。
 E2セルからE7セルが順に「1,1,1,1,1,A」だとした場合
 一番目:5
 二番目:#VALUE!

 E2セルからE7セルが「1,1,1,1,1,"1"」と最後が文字列の「1」の場合。
 一番目:5
 二番目:6

 (独覚)

 配列数式について、詳しく説明されてます。。
http://pc.nikkeibp.co.jp/pc21/special/hr/hr5.shtml
 (kei)

独覚さん、ありがとうございます。

詳しいご説明のお陰で理解することができました。

keiさん
勉強不足で申し訳ありません!

(kosuke)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.