- 締切済み
AVERAGE
Excelにて平均を出したいのですが、範囲の中に #DIV/0! があります。 その為かわかりませんが答えが #DIV/0! に表示されます。 どうすればきちんと表示されるのでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- koma1000nin
- ベストアンサー率30% (342/1133)
むずかしく考えずに、領域全体の初期値として「0値」を設定しておき、空白欄を作らないように心がければ済む問題です。 すると未入力部分が計算されて#DIVや#VALUEエラーが表示されるセルが現れるかもしれませんが、それは気にしないことです。 「一つでも値を入力すればエラーは消える」 「月末にはすべてのエラーが消える」 と妥協していればいいのです。締日が来れば、エラー表示はすべて消えているでしょう。
- Wendy02
- ベストアンサー率57% (3570/6232)
>その日に売れなかったら入力しないので結果的にその日の平均が#DIV/0!になるのです。 うーん…… そうすると、会社だったら、入力しなかったら、平均から省いてくれる、なんてことはしてくれないですよね。 × =IF(AND(COUNT(A1,B1)=2,B1<>0), A1/B1,"") ○ =IF(AND(COUNT(A1,B1)=2,B1<>0), A1/B1,0) ということになりますね。「0」は「0」ですよね。 この場合、 例えば、A列が、売上金額?で、B列が、売上数? 式の説明は、 売上金額にも、売上数にも、数字を入れてあって、なおかつ、数量が「0」でない場合は、平均を出してください、そうでない場合は、「0」です、ということだけれど、意味が合っていますか? 現場では、微妙に違うかもしれませんね。 「""」にすれば、AVAGATE のカウント数からは外れるから、平均値は上がりますね。 違っていたら、教えてください。また考え直します。 それで、「0」は表示しないでくれっていう要請があれば、セルの書式を、 「#,##0 ;-#,##0; 」 こんな風にしてしまうとか? (私は、経験者です(^^;)
- Wendy02
- ベストアンサー率57% (3570/6232)
#DIV/0! のエラーなので、#1のSAKURAMYLOVEさんの式で良いと思いますが、文字列(長さ0の文字列を含む)や空白の場合は、エラー値は、#VALUE!になります。もし、厳密に、正しく、分母と分子に与える目的なら、 =IF(AND(COUNT(A1,B1)=2,B1<>0), A1/B1,"") または、上の式の偽の部分の「""」 を「0」に換えて、「0」のセルをカウントする。 こういうような式になるのでは? でも、元のデータに、#DIV/0! があるのは、あまり関心しないですね。こんな式が、必要であるかはどうかは、ご質問者さんの状況しだいです。
- koma1000nin
- ベストアンサー率30% (342/1133)
いや、B1がゼロとは限りません。 空白のときもあるでしょうから、次のようにします。 =IF(OR(B1=0,B1=" "),0,A1/B1) ゼロ除算の答えを"0"にしたくなかったら、"∞"でもいいでしょう。このときは、 =IF(OR(B1=0,B1=" "),"∞",A1/B1) とします。結果は確認してあります。
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
0で割っているセルがあるためです。 例えば =A1/B1 のような式である場合は、 =IF(B1=0,"",A1/B1) のように分母となるセルが0の場合は、IF式で""となるようにすれば解決します。 もし、#DIV/0!のセルも平均に加えるのであれば、 =IF(B1=0,0,A1/B1) と""を0に変えます。
補足
でも、元のデータに、#DIV/0! があるのは、あまり関心しないですね。こんな式が、必要であるかはどうかは、ご質問者さんの状況しだいです。 社内の売上販売平均です。 その日に売れなかったら入力しないので結果的にその日の平均が#DIV/0!になるのです。 これは表示されないようにできるのでしょうか?