• ベストアンサー

エクセルで0と空白を除外した平均値を算出させたい

Excel 2007 を使用している者です 添付画像のような表で・・・ 1)0と空白を除外した平均値を算出して B15~E15 に表示させたい 2)#DIV/0! や #VALUE! エラーを0に置き換えて表示させたい これらの事を行いたく、ネット検索などして試行錯誤を繰り返してますが なかなか思い通りにいかず質問させて頂きました。 当方、SUM、AVERAGE等の基本的な使い方は理解できる程度の知識レベル・・・ ですのでどなたかご教示よろしくお願い致します。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>1)0と空白を除外した平均値を算出して B15~E15 に表示させたい 下記の数式で良い。 =AVERAGEIF(範囲,条件,[平均対象範囲]) B15=AVERAGEIF(B4:B14,">0") [平均対象範囲]は範囲と同じなので省略しました。 >2)#DIV/0! や #VALUE! エラーを0に置き換えて表示させたい AVERAGE関数(値)の外側へIFERROR関数を被せればエラー時のとき0を代入できる。 =IFERROR(値,エラーの場合の値) B15=IFERROR(AVERAGEIF(B4:B14,">0"),0) B15を右へオートフィルコピーすれば良い。

Deep-Forest
質問者

お礼

ご教示の通りやってみて思い通りの形になりました。 関数式もシンプルでしたのでこちらを ベストアンサーとさせて頂きますね!? 今回は有り難う御座いました。

その他の回答 (4)

回答No.5

お答えする前に確認しておきたいこと・・ > 2)#DIV/0! や #VALUE! エラーを0に置き換えて表示させたい コレ、どの範囲(セル)に対するものでしょうか? まぁ、おそらくは > 1)0と空白を除外した平均値を算出して B15~E15 に表示させたい この範囲についてのことでしょうけども。 ということで↑を前提にして、 質問文から読み取れる「やりたいこと」を実現するには 例えば   B15セル:=IFERROR(AVERAGEIF(B4:B14,"<>0"),0) で「範囲内の(空白を含む)0以外の数値」の平均を求め、 範囲内に対象となる数値が無いときには0を返します。 おそらくこれで充分行けるかと。 関数については > ネット検索などして試行錯誤を繰り返して くださいませ。

Deep-Forest
質問者

お礼

ご教示頂いた関数式で十分行けました。 有り難う御座いました。 他にも色々やり方があるようなので 引き続き色々試行錯誤してみます。

  • Chiquilin
  • ベストアンサー率30% (94/305)
回答No.4

> 1)0と空白を除外した平均値を算出 2)の対処が済んでたら こんな計算そもそも必要ないのでは? =SUMIF(B4:B14,"<1E15")/COUNTIFS(B4:B14,"<1E15",B4:B14,"<>0") > 2)#DIV/0! や #VALUE! エラーを0に置き換えて表示 ジャンプ機能で エラー値を一括で選択して そこに「0」を入力すれ ばいいと思います。 一括入力は選択した状態で数式バーに「0」と入れて Ctrl + Enter。

  • msMike
  • ベストアンサー率20% (363/1772)
回答No.3

[回答No.1]へのコメント、 この場を借りて、bunjiiさんにお尋ねします。 》 0と空白を除外した平均値を… 》 下記の数式で良い。 》 B15=AVERAGEIF(B4:B14,">0") この式は「0と空白」だけでなく、負数も除外していると理解しています。 「0と空白を除外」して負数は含めたいときはどうすればよろしいのでしょうか? 教えてください。

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

参考までに書いてみます。(ビミョーな点があるようです。加算器の加算合計/・件数カウントで筆算チェックも使って慎重に) ーー 多数のセルを使って計算して、結果(合計、件数、平均、最大最少など。集合関数というタイプ)を出すには 関数で、(セルの値によって)除外するデータがある場合は (1)関数名に「条件」を折り込み済みのもの CountBlank、COUNTAの様な関数のようなもの。 しかしNONBLANKやNONZEROは、、すべての集合関数にあるわけでない。 (1)’関数の引数に取り入れられているもの WORKDAY(開始日, 日数, [祝日])での「祝日」除きのようなもの。 (2)関数名に○○IFがついていて、「条件の引数」を予定していて、引数で指定するので そこに指定するもの (3)2007以後では「〇○IFS」タイプの複数条件を指定できる関数 (4)比較的自由に、条件が入れられるところの、「配列数式」で、IFを使い、 AND、ORなども 使える配列数式 関数ではないが、 (5)VBAで計算するもの (6)実質VBAだが、ユーザー定義関数を作るもの。 (7)その他  今思い付かないが などがある === 注意 http://www.moug.net/tech/exopr/0090041.html >エクセルにとって0は数であり(テストで0点の人は起こりえるが)、0を特別視して除外するには、 =SUM(平均対象範囲)/(COUNT(平均対象範囲)-COUNTIF(平均対象範囲,0)) を入力します。 ちなみに 配列数式でやろうとして =AVERAGE(IF(OR(A2:A9<>0,A2:A9<>""),A2:A9))と入れて SHIFT+CTRL+ENTERでは、分母の件数にあたる数に0分件数が含まれてしまうようだ。 この点小生の間違いや認識不足が、あるかもしれないが。 ーー さらに >)#DIV/0! や #VALUE! エラーを0に置き換えて表示させたい http://www.cando.co.jp/column/column_13.html 上記サイト記事は空白にする例だが、””の部分を0に置き換えればよいでしょう。

Deep-Forest
質問者

お礼

色々なやり方があるんですね~ 少し時間がかかりますがじっくり試してみたいと思います。 今回はご回答下さり有り難うございました。

関連するQ&A

  • 空白行があると #DIV/0なる?エクセル

    エクセル2010です 空白行があると #DIV/0 となることを解消したい G36 に G4からG34 までの 平均をもとめたいのですが・・ =IF(G4:G34=0,"",AVERAGE(G4*G34)) では #VALUE と 表示されてしまいます。 空白もしくは 0 が あっても平均値を G36に 表示したいのですが アドバイス お願いします。

  • 空白のセルを除いた平均は出ますか??

    お忙しい中お願いいたします。 エクセル関数で空白のセルは除いた指定範囲の平均(合計)を 算出することはできますか? 例えば、AVERAGE(A1:A20)という関数の中でA10とA13のセルは空白 にした時その他のセルの平均を出すことは可能ですか? お願いいたします。

  • エクセルで平均値&標準偏差

    エクセルで、奇数の行、偶数の行を分けて、それぞれの平均値と標準偏差を出そうとしています。 関数でaverageを選んで、ctrlを押しながらセルを選んでエンター!! とすると、なぜか「DIV/0!」になります。 なぜでしょうか?? また、標準偏差も同じく、1行おきの値の偏差を取りたいのですが、同じように「DIV/0!」もしくは「VALUE」になります。 表が何かおかしいのでしょうか??

  • Excel平均数式でゼロ除外+結果ゼロ表示

    会社でチームの4月~来年3月までの残業時間の平均をExcelで取っています。 数式は私が組んだのではないのですが、変更を求められ色々調べてみたのですがどうやっても上手くいかないので皆様の知恵をお貸しください。 (1)指定範囲内にゼロが含まれている場合、平均計算にゼロは入れず、割る数は入力されている数だけにする (例)計算範囲は12月までの12セル分指定でも、8月までしか時間が入力されていない(9月~12月はゼロ)場合は÷5(5ヶ月)として計算する (2)平均の結果がゼロである場合、「0」と表示すること この2点を組み込むように指示され、最初から組み込まれている平均数式は(1)の数式が入れられています。 (1)の数式 =AVERAGE(IF(セル範囲<>0,セル範囲,"")) しかしこのままでは平均結果がゼロの場合「DIV/0!」と表示されてしまいます。 チームの中には残業していなくて4月からずっとゼロの人も居ます。 その場合(1)の計算では数式エラーが発生します。 (2)の「結果がゼロの場合0と表示する」という条件に合う数式を自分なりに調べてみました。 =IF((COUNT(セル範囲)=0),"",AVERAGE(セル範囲)) この場合、ずっとゼロの人の場合でも結果はキチンと「0」と表示させることができます。 しかしこの数式にしてしまうと(1)の条件にある「割る数は入力されている数だけにする」の設定に反しすべて÷12にしてしまうのです。 じゃあ元々入力されていた(1)の数式と、自分で調べた(2)の数式を上手く組合せばいいんじゃないか?と色々試行錯誤してみたのですが、Excelの数式はちょびっとかじった程度なので、どう組み替えていけばいいのか分からずエラーばかり出ます。 (1)と(2)の条件をすべて呑んだ数式があれば教えてください! お願いします! ※ちなみに※ 文中に「ずっと残業時間ゼロの人が・・・」と書いていますが、来年の3月までゼロというワケではありません。 いつ残業が発生するのか分かりませんので、その人だけ別の数式、とかではなく全員同じ平均数式で(1)(2)の条件に合うものをお願いします!

  • エクセルで#N/Aを含めた平均値を求める方法

    エクセルで#N/Aを含めた平均値を求める方法を教えてください。 添付した画像のように入力した数値の平均値を求めたくて『=AVERAGE(B2:B8)』と設定しましたが、算出された平均値が『#N/A』と表示されてしまいます。 これを入力した数値分だけで平均値を求めることはできないでしょうか? どうぞ宜しくお願い致します。

  • Excelのエラー欄を空白にしたいのですが‥

    10分毎の測定値の平均をとり、その平均値をグラフ化する作業を行っているのですが、測定値が全て0の部分の平均値が#DIV/0!と表示されます。そうすると、グラフにしたとき点が0のところに出てきてしまいます。できれば、一発で#DIV/0!と表示される部分を空白にしたいのですが、何か良い方法がありましたら教えていただきたいです。宜しくお願い致します。

  • エクセルで平均値

    平均値の表を作成しましたが平均値(小数点以下ゼロの)を表示するセルが”#DIV/0!”になります。数値挿入すると問題がないのですが 数値挿入のセルが空欄の時に”#DIV/0!”の表示しないようにするには如何したら良いのでしょうか。”IF関数”でいろいろ試してるのですが解決しません。 よろしくお願いします。

  • エクセルでJ6 O6 T6の平均値を求めたいのですが、常に3つあるわけ

    エクセルでJ6 O6 T6の平均値を求めたいのですが、常に3つあるわけではなく、J6しかないときもあればO6 T6の2つのセルに数字があるときがあります。いろいろ試行錯誤してみたのですが、全てのセルに数字がないと#DIV/0!と表示されてしまいます。この場合平均値を出すにはどのような数式

  • 平均値の出し方

    お世話になります。 Javaのアプレットを使ったプログラムを作成しているのですが、 どうしても表示がおかしくなってしまうのでお助けいただきたいのです。 まず、乱数で数字を10個表示させ、 その下にその平均値を出すというプログラムなのですが、 肝心の平均値が黒い四角で出てきてしまって 平均値が全く読めません(というか数字じゃない)。 エラーも出ていないので、どこがおかしいのかわからないのです。 なお、プログラムは以下のとおりです。 import java.awt.*; import java.applet.*; public class Average extends Applet{ public void paint(Graphics g){ int [] numbers = new int [10]; for (int i=0; i<numbers.length; i++){ numbers[i] = (int)(Math.random()*12+1); g.drawString(""+numbers[i], 30+30*i, 30); } int sum=0; int average; for (int i=0; i<numbers.length; i++){ sum = sum + numbers[i]; average = sum/10; g.drawString("平均値は,"+average, 30, 60); } } } まず適当に乱数で数字を10個表示し、 合計(sum)をとりあえず0としておいて、 合計に乱数の変数numbers[i]を10回足していくというつもりで書きました。 どなたかご教授いただけると助かります。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Java
  • 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月だけ)の平均値を「上期」セルに出したいのですが、毎回計算式を更新などせず、どのような方法をとればできますか? よろしくお願い致します。

専門家に質問してみよう