• ベストアンサー

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

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答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

専門家に質問してみよう