Excelで各ランクごとの平均を求める方法

このQ&Aのポイント
  • Excelで各ランクごとの平均を求める方法を説明します。
  • データの範囲を選択し、AVERAGE関数を使用することでランクごとの平均を求めることができます。
  • 未入力のセルは0として考え、AVERAGE関数にデータの範囲を指定すれば、各ランクの平均値を求めることができます。
回答を見る
  • ベストアンサー

条件を付けて平均を求めたい!(Excel)

列   A      B         C    商品名    ランク       金額    1みかん    A        1000 行 2みかん    C         300    3みかん    B         600    4みかん    C            5             合計 1900    6             平均A    7             平均B    8             平均C 説明をする為に適当に作ったので、何故こんな物の平均を?と思うかもしれませんが、そこはあまり気にせずご回答頂ければ幸いです。 例えば、こんな表があったとします。(勿論、データ量はもっと沢山。。。) 各ランクごとの平均を求めたいのですが、どんな関数を使い、どんな範囲選択をすれば宜しいのでしょうか?  条件を付けAVERAGEで求めれば良いことはなんとなく分かるのですが・・・ 範囲の設定や数式の順番が全然分かりません。 よろしくお願いします。 ※金額欄(C列)・・・ 実際に未入力のセルがあるので、未入力のセルを0(ゼロ)として考えてくれる数式をお願いします

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

それなら、以下のようにしてみてください。 ※検索条件は要りません。 セル C7(平均A) → =SUMPRODUCT(($B$2:$B$5="A")*($C$2:$C$5)) / COUNTIF($B$2:$B$5,"A") セル C8(平均B) → =SUMPRODUCT(($B$2:$B$5="B")*($C$2:$C$5)) / COUNTIF($B$2:$B$5,"B") セル C9(平均C) → =SUMPRODUCT(($B$2:$B$5="C")*($C$2:$C$5)) / COUNTIF($B$2:$B$5,"C")

nanakotaka
質問者

お礼

pkh4989サン 早速のご回答ありがとうございました。 他の作業を終えた後、pkh4989サンのご回答を元に・・・ 漸くたった今全ての作業が終わりました。 私の分かりづらい説明にも関わらず、ご丁寧にご回答頂き本当にありがとうございました。m(__)m また何かありましたら、宜しくお願いします。*^^*

その他の回答 (1)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

おはようございます。 以下の方法で、如何でしょうか。 F2:H3 に検索条件を設定してください。 但し、未入力の金額欄には「0」を入力するか、「0」を表示出来るようにしてください。 セル C6(合計) → =SUM(C2:C5) セル C7(平均A) → =DAVERAGE($A$1:$C$5,$C$1,F2:F3) セル C8(平均B) → =DAVERAGE($A$1:$C$5,$C$1,G2:G3) セル C9(平均C) → =DAVERAGE($A$1:$C$5,$C$1,H2:H3) A   B   C   D   E   F   G   H 品名  ランク 金額        検索条件 みかん A   1000        ランク ランク ランク みかん C    300        A   B   C みかん B    600 みかん C     0     合計  1900     平均A 1000     平均B  600     平均C  150 =DAVERAGE($A$1:$C$5,$C$1,F2:F3) $A$1:$C$5 → 基になる表全体 $C$1    → 平均を算出する項目名 F2:F3    → 別表の検索条件

nanakotaka
質問者

補足

pkh4989サン おはようございます ご丁寧にご回答頂きありがとうございます。 しかし、私の説明が下手だったために・・・ 申し訳ございません。 実はpkh4989サンは「未入力の金額欄には0を入力するか、0を表示できるようにしてください」 と書いてありますが、この列には実際に0と言うデータも入っており、未入力欄に0と入力してしまうと、 0円の「0」なのか、それとも未入力(空白)の「0」なのか分からなくなり困るんです。 ここでは簡単に説明出来るように商品・金額で表していますが、実際仕事で使用してるデータは全く異なるもので、実際のデータでは・・・ ここの「金額」にあたる部分に実験結果の値が入力してあるんです。 そして、まだ実験してないセルは空白の状態になってるです。 だから、この空白のセルに0を入力してしまうと。。。 困るんです。 何か良い方法はありますでしょうか。 再びご回答頂ければ幸いです。 お忙しい中ありがとうございました。

関連するQ&A

  • 関数で求めた2つのセル範囲内の、平均値を出したい。

    日の出から日の入までの範囲の平均温度を求めたいのですが、日の出時刻と日の入り時間はVLOOKUP関数によって求めています。 A列に時刻、B列に温度が並んでいます。 求めた時刻が例えば、日の出6:00(セル番号 A360)、日の入18:00(セル番号 A1080)となっている場合。 当然ながら、=AVERAGE(A360:A1080)と入力すれば可能ですが、 =AVERAGE(VLOOKUP関数数式:VLOOKUP関数数式)はエラーとなります。 =AVERAGE(VLOOKUP関数数式,VLOOKUP関数数式)は2点のみの平均温度となってしまいます。 どのような方法で解決できるでしょうか? あるようで見つからないのですが、指定した範囲内に一致する数値があった場合にそのセル番号を返すような数式はあるのでしょうか?

  • 配列数式での平均値

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

  • 平均の出し方

    Excel初心者です。 下記のような平均を出す関数を教えてください。 日毎に3列使い、日々の処理数を集計しています。 A列、B列、D列、E列は数値又は空欄。 日計:C列はsum(A:B) 日計:F列はsum(D:E) 月合計計:Q列はsum(C,F・・・) Z列に処理平均を出したい。 C列とF列の値がゼロの時は平均の対象外にする。 average(C4,F4)とすると、数式が入っているせいか、結果が1.5になってしまいます。 ここにゼロや数式が入っているセルを除いた平均を出し、Z4に3と出るようにしたいです。 範囲が10個以上あるので、範囲指定もうまくできません。   A   B   C     D    E    F  ・・・    Q        Z 1 9/1           9/2               9月 2 午前 午後 終日  午前 午後 終日       月合計   処理平均 3  4   1   5    1    3   4         9       4.5 4               2    1   3         3        3 5  1   5   6                      6        6 6  6   1   7    5       5         12        6 宜しくお願い致します。

  • 空白セルの場合の平均値が「#DIV/o! 」と表示される

    こんにちは。下記のような表を作り月別の平均値をそれぞれの年別の列の所に出したいと思います。B列の所に「=AVERAGE(B2:B13)」と、数式を入力しました。そして、その数式を横のセルにオートフィルして同じ数式をコピーしました。処が、平成19年の平均値のセルの所に「#DIV/o! 」が表示されます。それぞれの年月日に何も入力しないときはなにも表示させないようにするにはどうしたらいいのでしょうか?教えて下さい。尚、他の方のQ&Aなどを読んで、試しに平成19年の平均値のセルの所に、 =IF(AVERAGE(B2:B13)=0,"",AVERAGE(B2:B13))を入力したら、「50011」 と、隣のB列の数値が表示されました。どうしたらいいでしょうか? 宜しくお願いします。 A B     C 月/年 平成16年 平成19年 1月   12340 2月 23450 3月 34560 4月 45600 5月 56780 6月 67800 7月 89000 8月 34340 9月 34340 10月 67670 11月 88800 12月 45450 平均  50011 #DIV/o!

  • エクセル関数で教えてください。

    エクセルでB列には商品名(セルB1にみかんセルB2にみかんセルB3にみかんセルB4に柿セルB5に柿セルB6に柿、C列にはみかん柿の数量ランク(例:C1に1~、C2に10~、C3に100~と記入)、D列にはC列のランク毎の単価が表示されています。(D1に1000、D2に800、D3に500、D4に1500など) この表を、ほかのシートのA1にみかん、A2に柿と入力させて、B1に関数を入力してB1セル内で数量ランクの1~1000、10~800、100~500と横一列に表示させたいのですが可能でしょうか? どのような関数が適当でしょうか? このパソコンはエクセル使えず、添付できずわかりにくい説明で申し訳ないのですがどなたか教えてください。よろしくお願いいたします。

  • Excel_条件に合う範囲の平均値の求め方

    Excel関数についての質問です。 以下のようなデータが合った場合、条件に合う範囲のデータのみ 抜き出して平均値を求める方法を教えてください。 ■やりたいこと マイナスが続いている範囲を見つけ出し、マイナスが続いている 範囲のみの平均を算出する。 以下で言うとB4~B7の平均を自動で計算してくれる 関数を考えています。 A列:時間が入っていますが、これ自体も他の値を時間に換算したもの。 (式が入っています。) B列:データが入っており、プラスの領域とマイナスの領域を交互に繰り返す。    A  B 1 Time DATA 2  0   0.05 3  6   0.04 4  8   -0.02 5  11  -0.01 6  15  -0.03 7  17  -0.05 8  21  0.05 9  24  0.06 10  27  -0.03 ・・・(以下プラスとマイナスが交互に続きます。) DABERAGEなどの様に、条件に合うセルの平均ではなく、 ある範囲のセルの平均を出したいと思いますが 中々良い案がありません。 よろしくお願いします。

  • Excel関数の使い方、条件と選択

    エクセルを用いて以下のようなことをしたいです。 まず条件として1は1000、2は2000、3は3000、4は4000。 つぎにAさん、Bさん、Cさんなどに条件、1、3、4などを割り振りその結果、1000、3000、4000などの数値を出したいです。 A列 B列 1 1000 2 2000 3 3000 4 4000      ↓この1000、3000、4000などを数式で表したい。 Aさん 1 1000 Bさん 3 3000 Cさん 4 4000 Aさん・・・・や1,3・・・などは自分で手入力します。その右セルの1000・・・などを数式で表して結果を表示させたいです。 Choose、Indrect、If、など調べてみたのですがどの関数を使ったらよいかわかりません。 もっと具体的に言うと、Aさん、Bさんなどそれぞれに数字の条件を割り振り、その時のお金の金額を計算したいです。 以上、よろしくお願いいたします。

  • エクセルで条件付きの平均値を求める関数

    お世話になります。 恐らく簡単な見落としかと思うのですが、 関数がうまく動いてくれないので質問します。 A1~A5に商品名群(空白セルあり)、B1~B5(空白セルなし)にその値段が入力されています。 C1セルに、A1~A5で空白ではない行のB1~B5セルの平均値を出したいです。 例: A1:リンゴ  B1:100 A2:(空白) B2:50 A3:みかん  B3:400 A4:メロン  B4:500 A5:みかん  B5:200 この場合、B2の「50」は含めず、それ以外の行の平均値を求める。 関数はC1=AVERAGEIF(A1:A5,"<>""",B1:B5)と入れたのですが、空白セルを除いて計算してくれません。 間違いが分かる方がいましたら、返信頂きたいです。

  • Excel数式について

    Excel2010を使用しております。 A列 2~60セルに数量が入力されております。 B列 2~60セルに5種類のフルーツの名称 (りんご・みかん・ぶどう・もも・なし)がランダムに入力されております。 例えばB列に「りんご」が10か所入力されている場合、 A列に入力されている数量の合計(リンゴ数)をC1セルに返したい場合、 どのような数式(関数)を使用すればよいでしょうか? ご教示頂きたくお願い致します。

  • 配列数式で平均を出すと空欄が0で計算されてしまう

      A B C D 1  1 2 1 {=AVERAGE(IF($A$1:$A$4=$C1,B$1:B$4))} 2  1 4 2 {=AVERAGE(IF($A$1:$A$4=$C2,B$1:B$4))} 3  2 6 4  2 8 上記のような数値、数式ですと、 B列すべてに数値が入力されているため、問題なく計算するのですが、 例えば、B2のセルを空欄にすると、空欄を0としてしまい、 D1の計算結果が1となってしまいます。 D1の数式を=AVERAGE(B1:B2)としますと、空欄は空欄として扱い、 計算結果は2となります。 配列数式を使った場合にも、空欄を空欄として扱い、 計算結果が2となるような方法はありませんでしょうか。 よろしくお願いします。