• ベストアンサー

配列数式での平均値

こんにちは。 今、エクセルで配列数式を使って平均値を出す作業をしています。 列Aには男女別を示す1、2が入力されており、 列B以降にはいろいろなデータが入っています。 それらデータにおける男女別の平均値を出したいので 配列数式を使って求めるまでは良かったのですが、 どうやら、列B以降の空欄になっているセルも 0として計算されてしまっているようなのです。 (普通のaverageと同様に)空欄を数に入れないで計算させるには どのようにしたらよいのでしょうか? ちなみに今使っている配列数式は、 {=average(if(A1:A10=1,B:B10,""))} です。

質問者が選んだベストアンサー

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.3

あまりスマートではありませんが、 =SUMIF(A1:A10,1,B1:B10)/SUMPRODUCT((A1:A10=1)*(B1:B10>0)) または、 {=SUM(IF(A1:A10=1,B1:B10))/SUMPRODUCT((A1:A10=1)*(B1:B10>0))} で求められると思います。

noname#105027
質問者

お礼

ありがとうございます!ばっちりでてきました!

その他の回答 (2)

  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.2

#1 のものです。 ごめんなさい。 あまり質問を読んでいませんでした。 空白を全く考慮していませんでした。 下は無視してください。

noname#105027
質問者

お礼

ありがとうございます。 まだ#1の方法を試してないのでわかりませんが、 せっかくお答えいただきましたので、試してみようと思います。 また良い方法がありましたが教えてください。

  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.1

=sumif(a1:a10,1,b1:b10)/countif(a1:a10,1) ですね。 確実に1(男性)のものに対するカウント・合計を調べる場合は、 countif、sumifを使います。

関連するQ&A