• ベストアンサー

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

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

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答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/306)
回答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% (364/1805)
回答No.3

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

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答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

専門家に質問してみよう