ELLの足跡

人は最後は一人だという…でも、…今は妻が傍にいてくれる…

Excel関数・・・SUMPRODUCT関数(Excel2003でAVERAGEIFS関数と同じ様に平均を出す)

昨日紹介したExcel2007で取り上げられた関数・・・

AVERAGEIFS関数は・・・複数の検索条件にあったものを探し出して、その平均値を返す関数なのですが

大勢の方が使用しているExcel2003では、どの様な関数を使用すればよいのかとの質問が来そうな気がします。

今日は、そのような方の為に2003で複数条件にあったものの平均値を出す為の方法を紹介しますね・・・



昨日の表を使用してみます・・・24歳以上の女性で出席者の平均年齢を出したい訳です
  • 先ず、24歳以上をC列から選択します・・・C2:C7>=24
  • 女性をB列から選択します・・・B2:B7="女"
  • さらに、出席者をD列から選択します・・・D2:D7="出席"
  • この条件を全て満たす訳ですから「*」でつなぎます・・・(C2:C7>=24)*(B2:B7="女")*(D2:D7="出席")
  • C列でこの条件に合致した行と年齢を掛け算・足し算をするので・・・C2:C7
  • これをSUMPRODUCT関数に当てはめ年齢の合計を出します・・・
        =SUMPRODUCT*1
  • =SUMPRODUCT*2
  • Excel2003ではこのように成る訳です。


今日の小技は如何でしたか?

*1:C2:C7>=24)*(B2:B7="女")*(D2:D7="出席"),C2:C7)

  • このSUMPRODUCT関数に当てはめたC列を掛けなければ、人数が出る訳ですからそれで割ればよい訳です・・・
        =SUMPRODUCT((C2:C7>=24)*(B2:B7="女")*(D2:D7="出席"

    *2:C2:C7>=24)*(B2:B7="女")*(D2:D7="出席"),C2:C7)
          /SUMPRODUCT((C2:C7>=24)*(B2:B7="女")*(D2:D7="出席"