こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel:特定の項目だけ平均値を出したい

お世話になります。
画像参照頂き、ご教授いただければ幸いです。

画像のような表を作り、「いちご」のみ数値の平均を求めたい場合
どのような関数を使えばよいでしょうか。

【試した方法】
=SUMPRODUCT(NOT(ISERROR(FIND("いちご",範囲)))*範囲)/SUMPRODUCT(NOT(ISERROR(FIND("いちご",範囲)))*1)
→「#DIV/0!」が返されました。範囲にゼロ除算セルはなかったのですが…

その他作業列を作ってみたり、条件付き書式を設定しましたが
うまくいきませんでした。

バージョンは2003です。
よろしくお願いいたします。

投稿日時 - 2009-08-28 15:38:29

QNo.5243708

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

質問の意味がわかりませんね

=SUMPRODUCT(NOT(ISERROR(FIND("いちご",範囲)))*範囲)/SUMPRODUCT(NOT(ISERROR(FIND("いちご",範囲)))*1)
で問題なくできると思いますが・・・

因みに
=SUMPRODUCT(("いちご"=A2:A11)*B2:B11)/SUMPRODUCT(("いちご"=A2:A11)*1)
でいいように思いますが・・・・・

もしかして、いちごという文字を含むということかな
=SUMIF(全体の範囲,"*いちご*",合計したい数値の範囲)/COUNTIF(名前の範囲,"*いちご*")


No.4 さんの表の場合に
空白と0を区別して、空白は含まず、0は含んで平均を出すということかな
=SUMPRODUCT(("いちご"=A2:A11)*B2:B11)/SUMPRODUCT(("いちご"=A2:A11)*(B2:B11<>""))

質問の主旨が不明ですので、参考までに

投稿日時 - 2009-08-28 18:36:37

お礼

ありがとうございます。
質問の意味も主旨も不明なのに回答をいただけるとは…
お礼が遅くなり失礼しました。

投稿日時 - 2009-09-26 17:39:04

ANo.4

#3です。
>さっそく試しましたが、#DIV/0が返されます…
>実際に計算をしている表に0はないのですが、空白セルを含むからでしょうか)
添付図のように空白のある表でテストしましたが、#DIV/0 は返されなかったです。
ただしD2の"いちご" がA列に無いと、#DIV/0 は返されます。

投稿日時 - 2009-08-28 17:17:29

お礼

ありがとうございます。
0が返される原因は自己解決しました。
こちらの方法で処理しました。
お礼が遅くなり失礼しました。

投稿日時 - 2009-09-26 17:38:17

ANo.3

配列数式で求めることが出来ます。
添付の図のE2セルに
=AVERAGE(IF(A2:A11=D2,B2:B11))
と入力後 [Ctrl]+[Shift]+[Enter]で配列式としてください。

投稿日時 - 2009-08-28 16:18:32

補足

ありがとうございます。
さっそく試しましたが、#DIV/0が返されます…
(実際に計算をしている表に0はないのですが、空白セルを含むからでしょうか)

投稿日時 - 2009-08-28 16:29:51

お礼

ありがとうございます。
0が返される原因は自己解決しました。
お礼が遅くなり失礼しました。

投稿日時 - 2009-09-26 17:36:57

ANo.2

こんにちは!
色々方法はあると思いますが・・・

一例として↓に画像をアップしてみます。

とりあえず二つの方法を説明しておきます。

画像のE2セルには
=IF(E1="","",SUMIF(A2:A11,E1,B2:B11)/COUNTIF(A2:A11,E1))
(E1に果物の種類を入力されると値が表示されます)

という数式を、

E5セルには
=IF(D5="","",DAVERAGE(A1:B11,2,D4:D5))
(前の数式同様にE4セルに果物の種類を入力すると
値が入ります。)

という数式を入れています。
どちらも同じ値が表示されるはずです。

尚、データ量によって範囲指定はアレンジしてみてください。

以上、参考になれば幸いですが、
他に良い方法があれば読み流してくださいね。m(__)m

投稿日時 - 2009-08-28 15:58:06

ANo.1

=SUMIF(全体の範囲,"りんご",合計したい数値の範囲)/COUNTIF(名前の範囲,"りんご")

投稿日時 - 2009-08-28 15:49:47

お礼

ありがとうございます。
お礼が遅くなり失礼しました。

投稿日時 - 2009-09-26 17:37:21

あなたにオススメの質問