- ベストアンサー
エクセルで0と空白を除外した平均値を算出させたい
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>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を右へオートフィルコピーすれば良い。
その他の回答 (4)
- tsubu-yuki
- ベストアンサー率46% (179/386)
お答えする前に確認しておきたいこと・・ > 2)#DIV/0! や #VALUE! エラーを0に置き換えて表示させたい コレ、どの範囲(セル)に対するものでしょうか? まぁ、おそらくは > 1)0と空白を除外した平均値を算出して B15~E15 に表示させたい この範囲についてのことでしょうけども。 ということで↑を前提にして、 質問文から読み取れる「やりたいこと」を実現するには 例えば B15セル:=IFERROR(AVERAGEIF(B4:B14,"<>0"),0) で「範囲内の(空白を含む)0以外の数値」の平均を求め、 範囲内に対象となる数値が無いときには0を返します。 おそらくこれで充分行けるかと。 関数については > ネット検索などして試行錯誤を繰り返して くださいませ。
お礼
ご教示頂いた関数式で十分行けました。 有り難う御座いました。 他にも色々やり方があるようなので 引き続き色々試行錯誤してみます。
- Chiquilin
- ベストアンサー率30% (94/306)
> 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.1]へのコメント、 この場を借りて、bunjiiさんにお尋ねします。 》 0と空白を除外した平均値を… 》 下記の数式で良い。 》 B15=AVERAGEIF(B4:B14,">0") この式は「0と空白」だけでなく、負数も除外していると理解しています。 「0と空白を除外」して負数は含めたいときはどうすればよろしいのでしょうか? 教えてください。
- imogasi
- ベストアンサー率27% (4737/17069)
参考までに書いてみます。(ビミョーな点があるようです。加算器の加算合計/・件数カウントで筆算チェックも使って慎重に) ーー 多数のセルを使って計算して、結果(合計、件数、平均、最大最少など。集合関数というタイプ)を出すには 関数で、(セルの値によって)除外するデータがある場合は (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に置き換えればよいでしょう。
お礼
色々なやり方があるんですね~ 少し時間がかかりますがじっくり試してみたいと思います。 今回はご回答下さり有り難うございました。
お礼
ご教示の通りやってみて思い通りの形になりました。 関数式もシンプルでしたのでこちらを ベストアンサーとさせて頂きますね!? 今回は有り難う御座いました。