質問: sumproduct($a$1:$a$10,$b$1:$b$10)とsumproduct($a$1:$a$10*$b$1:$b$10) エクセルのsumproduct関数についてお尋ねします。 =sumproduct($a$1:$a$10,$b$1:$b$10) と =sumproduct($a$1:$a$10*$b$1:$b$10) の違いは何でしょうか? 両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか? 正しいとすれば、なぜでしょうか?
回答: お師匠さん、こんばんは。 ヘルプの読み込みがあまいですぞ。(笑) ●ヘルプによると、数値以外の「要素」は、0とみなす、とあります。 それを踏まえて。。。。 _____a___b____ 1____3___10___ 2____あ___20___ 3____2___30___ ---------------------------------------------------------------- (1)sumproduct(a1:a3 , b1:b3) sumproduct(配列1 ,配列2) 配列1* 配列2 3 * 10 =300 0 * 20 =0 2 * 30 =600 ヘルプより、配列1の2番目の要素「あ」は、0として計算しているので、エラーはでない。 ----------------------------------------------------------------- (2)sumproduct(a1:a3 * b1:b3) sumproduct( 配列1 ) 配列1 3 * 10 =300 あ * 20 =#value 2 * 30 =600 この場合は掛け算の段階ではまだ「配列の要素」ではないので個々の掛け算は通常の法則でされ「あ*20」はエラーとなる。 そしてそれらの結果が配列の要素になるが、配列がひとつなのでそれ以上掛け算するものがないので ここでもヘルプは当てはまらず通常の法則で合計されるため結果としてエラーになる。 ----------------------------------------------------------------- たぶんこんなことではないかと、← おい、おい。(^^;;; 何れにしろ、ヘルプの、数値以外の▲要素▲、という文言がポイントだと思われます。 以上です。