• ベストアンサー

0以外の平均が知りたい

エクセルの、AVERAGE関数で、 A行にA1~A5まで、 0 0 100 60 0 B行にB1~B5まで、 100 80 20 20 60 C行にC1~C5まで、 60 20 0 0 40 のとき、 A6に、160÷2=80 B6に、280÷5=56 C6に、120÷3=40 というふうに、 A6・・・80 B6・・・56 C6・・・40 と答えを出したいです。 A6~C6に、どういう計算式を入れたらいいでしょうか?

  • BonDyn
  • お礼率53% (484/897)

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

  • ベストアンサー
  • igu0625
  • ベストアンサー率100% (1/1)
回答No.2

=SUM(A1,A5)/COUNTIF(A1:A5,"<>0") B,Cはそれぞれ同じ要領です。 試してみて下さい。

BonDyn
質問者

お礼

出来ました。 有難うございます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

例データ 1 0 0 2 3 =SUMPRODUCT((A1:A5<>0)*(A1:A5))/SUMPRODUCT((A1:A5<>0)*1) 答え 2 ーー A2,A3を空白にしても上記式で変得なくて良いようです。

BonDyn
質問者

お礼

よく意味がわかってないのですが、 入力したら出来ました。 有難うございます。

noname#204879
noname#204879
回答No.4

A6: {=AVERAGE(IF(A1:A5,A1:A5))}

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

=AVERAGE(IF(A1:A5>0,A1:A5)) ★この式は「配列数式」です。式を入力後、Ctrl+Shift+Enter をおして、式を確定させてください。 ★確定すると、式の両端に{ }がつきます。

  • n4330
  • ベストアンサー率24% (215/872)
回答No.1

  =SUM(A1:A5)/COUNTIF(A1:A5,">0") A6の例です。 B、C、同じようにアレンジして下さい。 SUM(A1:A5)……A1~A5の合計 COUNTIF(A1:A5,">0")……A1~A5の中の0より大きい数の数  

BonDyn
質問者

お礼

出来ました。 有難うございます。

関連するQ&A

  • エクセルの関数(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)という時は、どういう風にしたらいいのか教えて下さい。

  • エクセル特定範囲で設定可能の平均算出について

    指定数字をいれたら平均本数が変わる方法があったら教えてください。    A   B   C   実数  計算         1  2            指定欄 2  3 3  13 4  22  関数 5  23  関数 6  34  関数   7  23 指定欄に数字が4といれたらB4はaverage(a1:a4)となり、 指定欄に数字の5と入れたらB4は消え、B5にaverage(a1:a5)と なる方法を教えて欲しいです。

  • エクセル セル参照

    エクセルでセル参照について分からなく困っています。宜しくお願いします。 エクセル2000を使っています。 例えば、A1に5を入力した場合に ”B1セルから5行下のセルを参照” させたい時には、どのようにすれば良いでしょうか? AVERAGE関数などで AVERAGE(B1:B1から5行下) のようにしたいのですが・・・。 回答、お待ちしてます。

  • 配列数式で平均を出すと空欄が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となるような方法はありませんでしょうか。 よろしくお願いします。

  • EXCELで「月平均10」と表示させる。

    まず、 =AVERAGE(B18:K18) という式をEXCELで作りました。 答えは「10」なので、セルには「10」が入りました。 これはうまくいきました。 次に「月平均10」と表示させたいので ”月平均”=AVERAGE(B18:K18) =AVERAGE(B18:K18):”月平均” など、いろいろしましたが、うまくいきません。 どのようにしたら、1つのセルに中に計算結果と文字を入力できるのでしょうか? よろしくお願いします。

  • エクセル関数について

    現在エクセル関数を勉強しだしたところですが、 一つのセルに条件付の計算式をいれたい場合に どうすればよいか困っています。 たとえば、A,B,Cという数値が1行に並んでおり、 A、B、Cの数をカウントして、合計のセルに (Aの数×5)+(Bの数×4)+(Cの数×3) という答えを関数で出したい場合はどうすれば よいのでしょうか? 本やヘルプで調べてもいまいちわかりません。 IF関数を使う? 初心者なので詳しく教えていただけたらと 思います。

  • [Excel] データ群の中で平均をする個数を逐次変えたい 

    A1 = 1 A2 = 10 A3 = 4 A4 = 16 A5 = 21 という5つのデータが入っているとします。このとき、 セルB1に任意の数(1~5)を入れて、 B1 = 1のとき → AVERAGE(A1:A1) B1 = 2のとき → AVERAGE(A1:A2)    (省略) B1 = 5のとき → AVERAGE(A1:A5) となる関数をセルC1に作りたいのですが、 どうやったらできるんでしょうか? 教えてください。 よろしくお願いします。。

  • EXCELの平均を出す関数について

    初歩的な質問となりますが、 どうぞよろしくお願いいたします。 sheet1に下記のようなデータがあります。   A    B    D 1 日付  売上  平均 2 7/1   200    3 7/2   100   =AVERAGE(B2:B3) 4 7/3   300   =AVERAGE(B2:B4) 5 7/4   200   =AVERAGE(B2:B5) 6 7/5         ・ 7 7/6         ・ ・  ・          ・ ・  ・          ・ ・  ・          ・ 32 7/31        =AVERAGE(B2:B5) 現在B6までデータが入力されています。 D列に今日までの平均を表示したいのですが、 上記のようなAVERAGE関数をD32まで先に埋めてしまった場合、 B6:B32のあす以降の計算結果も出てしまいます。 B列のセルに入力がない限り、 今日の日付以降を計算しない(空欄)ようにする方法はありますか? よろしくお願いいたします。

  • 答えに+を付けたいんですが

    エクセルの計算結果でA-B=Cで答えが整数のとき 答えに"+"(+C)を付けて表示したいんですがどのような関数を使えばいいですか 教えてください

  • エクセルの質問です。

    エクセルで 複数列 複数行で合計の出し方教えてください。 行A1 A B1 5 C1 B D1 4 A2 B B2 3 C2 D2 3 答えとしてほしい数字は A 5  B 7 C 3 となるように関数にしたいのですが 方法がありませんか?    

専門家に質問してみよう