• ベストアンサー

エクセルのaverage関数について

エクセルである条件を満たすデータの平均値を求めたいと思っております. 例えば,データと条件は以下の場合, データ R 1 R 2 S 3 S 4 T 5 T 6 条件 一列目がRまたはSの場合 averageif関数では,条件は一つしか使えないので,RorSという複数の条件があるときは出来ないと思い,averageifs関数を使って求めようと思ったのですが,うまく計算してくれません. どのように関数で,どのように引数を決めれば良いか教えてください.

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

一般の関数だけでやるなら、要するに =(AがRのB列計+AがSのB列計)/(Rの個数+Sの個数) で計算できます。 つまり: =(SUMIF(A:A,"R",B:B)+SUMIF(A:A,"S",B:B))/(COUNTIF(A:A,"R")+COUNTIF(A:A,"S")) 配列数式を使うと =SUMPRODUCT(SUMIF(A:A,{"R","S"},B:B))/SUMPRODUCT(COUNTIF(A:A,{"R","S"})) みたいにできますが、あんまり短縮にはならないですね。 AVERAGEIFS関数はAND条件なので、またはの結合は計算できません。

tigers007
質問者

お礼

回答ありがとうございます. やはりaverageifsは使えないみたいですね.

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です! たびたびごめんなさい。 ネットで検索すると AVERAGEIFS関数は 検索条件が「AND」のようですので 検索範囲が同列の場合は無理みたいですね! 前回の最後の部分は無視してください。 何度も礼しました。m(_ _)m

tigers007
質問者

お礼

わざわざ調べていただいたみたいで,ありがとうございます.

noname#204879
noname#204879
回答No.2

添付図参照 M1: =SUMPRODUCT((A1:A6="R")+(A1:A6="S"),B1:B6)/SUMPRODUCT((A1:A6="R")+(A1:A6="S"))

tigers007
質問者

お礼

回答ありがとうございます. sumproduct関数があるなんて知らなかったので,少し調べてから使ってみます.

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 手元のExcel2003での場合です、 A・B列にデータがあるとして =SUM(SUMIF(A:A,"R",B:B),SUMIF(A:A,"S",B:B))/SUM(COUNTIF(A:A,"R"),COUNTIF(A:A,"S")) といった感じで可能だと思います。 Excel2007以降では AVERAGEIFS関数が使用できないでしょうか? (手元にないので検証できません) 参考になりますかね?m(_ _)m

tigers007
質問者

お礼

ご回答ありがとうございます. SUM,SUMIF関数を使った方法を試してみます.

関連するQ&A

  • Office 365 Excelでの平均値

    =AVERAGEIFS関数を使って、 =AVERAGEIFS(G6:G266,J6:J266,K6) 上記のように作りましたが、「0(ゼロ)」を除き平均値を出そうと思い、 "<>0" を真ん中に入れたり、最後に入れてみたりしましたができませんでした。 AVERAGEIFS関数を使った場合のゼロを除いた平均の出し方を教えていただけると助かります。 ちなみにAVERAGEIF関数では、 =AVERAGEIF(G3:G262,"<>0") と書いたらできました。 よろしくお願いいたします。

  • AVERAGEIFSに相当する関数はないのか

    エクセル2003以前でAVERAGEIFS関数みたいなことはできないのですか? 条件が2つありますので無理なのでしょうか。 一回データを整理してから(再入力)平均ということになるのでしょうか。

  • エクセルの関数(AVERAGE)について質問です。

    エクセルの関数(AVERAGE)について質問です。 エクセル2007を使ってこのような、表を作りました。     A     B     C      D 1  入院日   退院日  在院日数   区分 2 2010/3/2  2010/5/8  68     (1) 3 2010/4/18  2010/5/9  22     (5) 4          … と、100行分まで表があります。 Cの『在院日数』は「退院日-入院日+1」で計算します。 計算式は『=IF(B1="","",B1-A1+1)』といれてみました。 在院日数を求めるのはこれでうまくいくのですが、 問題は、この在院日数の平均を求めることがうまくいかないのです。 以前、エクセル2003を使っていたときは 普通に『=AVERAGE(C2:C101)』でうまくいっていたと思うのですが エクセル2007にしてからは 空白のセルも、計算式が入っているせいか、数値があると認識してしまうらしく 80行までしか入力されていない時は、81から100行までの分を0と考え 1行目から100行目までの値を足し、100でで割られた値が出てきてしまいます。 どうしたら、空白のセルは計算せずに平均値を出すことが出来ますか? それと、もう一つ質問があり 区分では、(1)~(8)を入力するのですが この、区分の(1)と(3)だけを選んで平均値を出したい ということもしたいのですが どうしたらよいでしょうか? (1)だけなら、AVERAGEIFを使えばと思うのですが (1)と(3)という時は、どういう風にしたらいいのか教えて下さい。

  • 関数について

    =AVERAGEIFS(AV11:AV1048576,AU11:AU1048576,1,AR11:AR1048576,2) この式の第二条件の数字の2を→1と2と3と4と5と6の複数の場合の計算をしたいのですが、どのように変えればいいでしょうか? エクセル2010を使っています。 

  • AVERAGEIFS関数の引数が可変の場合

    averageifs関数のことについて教えてください。   引数の合計対象範囲をindirect関数とaddress関数、match関数を使い可変にしています。 条件範囲また条件はダイアログボックスで確認する限り計算されてはいるのですが、 戻り値が#VALUEになります。 どうすればキチンと戻り値が表示されるのでしょうか? ちなみに可変の部分(合計対象範囲)をaverage関数で計算するとちゃんと計算されています。          ↓こんな式です。    AVERAGEIFS(INDIRECT(ADDRESS(MATCH(DATE(データ!$D$1,$A3,1),データ!$D:$D,0),6,,,"データ")):INDIRECT(ADDRESS(MATCH(DATE(データ!$D$1,$A3+1,0),データ!$D:$D,0),6,,,"データ")),データ!$C:$C,0) ややこしいですが、お願いします。

  • エクセルのaverageif関数の使い方

    たとえば1月からの毎日の体重のデータがあるとします。これを月の平均でグラフ化したいと思います。 averageifで条件はどう設定すればいいのでしょうか。 別の味方ですが、グラフを使うときに月平均を自動で計算してグラフにする機能はありませんか。 よろしくお願いします。

  • AVERAGEIFS関数について

    どなたか、お尋ねいたします。 AVERAGEIFS関数でA1~E1のセルに示した数値 A1  B1    C1  D1  E1 9  20   21  22  31 二つの条件 10以下、30以上の数値を除く平均値 20、21、22   答え21.0 ただし、10と30は別の計算式から求めた値とします。 実際は20程の数値から以下、以上を除いた平均値を計算したいと思っています。 AVERAGEIFSで計算式の書き方を教えていただけませんか。 他の方法でも可能なら結構ですので、よろしくお願いします。

  • エクセルにて、この関数はありますか?

    エクセルにてt検定(ウェルチの検定)を行いたいと思います。 ツール→分析ツールより、t検定・分散が等しくないと仮定した2標本による検定を行おうとしましたが、手持ちのデータが結果のみ(データの平均、標準偏差、分散)なので、行うことができません。 そのため、公式を元に計算しようかと思うのですが、手入力で作成すると間違えそうなので、簡単な関数でこれがないか調べていますが、見つかりません。 平均の検定:異分散の場合(ウェルチのt検定)の、「t0」と「v」 http://ja.wikipedia.org/wiki/T%E6%A4%9C%E5%AE%9A どなたか、関数を知っている、または、この公式のエクセル用に演算した式を知っている方がいましたら、教えてください。

  • ExcelのAVERAGE関数で、ゼロを含めない平均値の出し方

    いつも大変お世話になっております。 ExcelにAVERAGE関数がありますが、セル内に予め数式を入れておいて、その結果から平均値を出したい場合、数式の結果が出ているものだけ(つまりゼロでないものだけ)の数で平均値を出したいのですが、何か良い方法はありますか? 具体的には 4月 5月 6月 7月 8月 9月 上期 4  3  2  0  0  0  平均値を算出 上記のような表があり、数字はそれぞれ数式より算出しています。その数値をもとに、「上期」のセルにはAVERAGE関数より平均値を算出したいのですが、6月の時点では、まだ6月までの数値しかなく、7月・8月・9月は計算式だけ入っている状態なので「ゼロ」となります。 6月の時点で、4月~9月の平均値を算出すると(4+3+2+0+0+0)/6をしてしまい、平均値が実際の数値より低くなってしまいます。 そこで、実績のある月だけ(今回は4~6月だけ)の平均値を「上期」セルに出したいのですが、毎回計算式を更新などせず、どのような方法をとればできますか? よろしくお願い致します。

  • Excel IF関数とAVERAGE関数

    定期考査の成績をExcelで作ってみようと思うのですが、関数の打ち方を忘れてしまいました。 IF関数を使い、点数の所がどこも記入されていなかった場合空白にして、一つでも入っていたらその平均を出そうと思っているのですが、出来ますよね? 平均を出したいところは、下の写真の範囲指定してあるところなのですが、覚えている感じで関数を入力すると、「VALUE」と出てしまいます。 関数は =IF(B3:J3="","",AVERAGE(B3:J3)) にしていますが、関数のせいならば、正しい関数を教えて下さい。 お願いします。

専門家に質問してみよう