- ベストアンサー
エクセルのセル範囲内計算
初歩的な質問で、すいません。 エクセルなのですが、例えばB1からB10まで数値を入力したとします。 B11には、B1からB10までの平均値(AVERAGE関数により算出)を表示するようにしています。 そこでなのですが、AVERAGE関数を設定すると、B1からB10までの間全部の数値が入力されていなくても計算されるのですが、B1からB10全てのセルに数値が入力されていないと計算されないようにしたいのです。 マクロは、まだ使えるとこまでいっていないので、マクロを使わないで計算表示される方法お分かりの方、教えていただきたいです。宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=IF(COUNT(B1:B10)=10,AVERAGE(B1:B10),"数値未入力")
その他の回答 (4)
- dogs_cats
- ベストアンサー率38% (278/717)
空白はカウントしませんが、0はカウントします。0を数値として認めるか否かで関数は変わります。 =if(count(B1:B10)=10,average(B1:B10),"") 数値0は含まない場合 =if(count(B1:B10)-COUNTIF(B1:B10,0)=10,average(B1:B10),"")
- kagakusuki
- ベストアンサー率51% (2610/5101)
それでしたら、入力する関数を次の様なものにされては如何でしょうか。 =IF(COUNT(B1:B10)<ROWS(B1:B10),"",AVERAGE(B1:B10)) 或いは =IF(COUNT(B1:B10)=ROWS(B1:B10),AVERAGE(B1:B10),"")
- ishika_ishika
- ベストアンサー率32% (55/170)
こんな感じでしょうか? =IF(B1<>"",IF(B2<>"",IF(B3<>"",IF(B4<>"",IF(B5<>"",IF(B6<>"",IF(B7<>"",IF(B8<>"",IF(B9<>"",IF(B10<>"",AVERAGE(B1:B10),0),0),0),0),0),0),0),0),0),0) 一つでも入力されていなければ、0となります。 0がいやな場合、後ろの式の後方の0を""にすれば、ブランクとなります。
- xpz3
- ベストアンサー率63% (53/84)
様々な式があると思いますが、下記で如何でしょうか? =IF(COUNTIF(B1:B10,"") > 0,"",AVERAGE(B1:B10)) ※入力されていないセルをCOUNTIF関数でカウントし、1個でもあれば計算せずブランクに。セルが全部入力されていればAVERAGEで平均を計算します。