プロが教える店舗&オフィスのセキュリティ対策術

エクセルで表を作っています。こういった表を作ったときBの平均値のセルに「#DIV/0」と表示されてしまいます。

  あ い う え お 平均
A 1 2 2 2 1  1.6
B            #DIV/0
C 2 2 2 2 2  2.0


 そこで質問なのですが、Bの数値を何も入れなかったとき、この「#DIV/0」を非表示にすることはできますか。何もないときは、何も表示無しにしたいのです。
 よろしくお願いします。

A 回答 (7件)

こんにちは。

maruru01です。

=IF(COUNT(B2:F2),AVERAGE(B2:F2),"")

です。
No.3の方が用いている、COUNTA関数は、範囲内で何かが入力されている個数を数えます。
この場合の「何か」には文字列も含まれます。
例えば、Bの行のどこかに、
「a」「あ」
などの文字列(数値以外)が入ると、No.3の方の数式では、別のエラーが出ます。
したがって、厳密には、COUNT関数(これは、範囲内の"数値のみ"の個数を数えます)にすべきでしょう。
もちろん、範囲には数値以外は絶対に入力しないということなら、COUNTAでもいいですが。
数式が長くなるわけでもない(逆に短くなる)ので、COUNT関数を使用するのが無難だと思います。
    • good
    • 0
この回答へのお礼

何も入れないという条件を考えていたのこちらの確かめも何も入れずに考えていました。もちろん、文字を入れることも考えていませんでしたので文字を入れたときにエラーが発生するのですね。
 maruru01さんの方法も確認しました。みごとに非表示になりますね。しかも空白セルに数値を入れると入れた分だけの平均を出してくれます。このような解釈でよろしいでしょうか。
 いろいろな関数があり、いろいろな方法があることが今回よくわかりました。マニュアルを読んでいるだけでは、どうしてもわかりませんでした。
 本当にありがとうございました。 

お礼日時:2003/10/15 18:51

#3です。

回答ではないのですが、#6さんへ。

考えが深いですね、さすがです。
あと、私ごときでは<>0の省略にも思い至りませんでした。勉強させていただきました。
    • good
    • 0
この回答へのお礼

ベテランの方が勉強させてもらうほどこの問題は、難しいのですね。私は、みなさんの考えにただただ驚くばかりです。

お礼日時:2003/10/16 13:54

ブランクセルが1つでもあれば空白、全て埋まっていれば


平均値
=IF(COUNTBLANK(A2:E2)<>0,"",AVERAGE(A2:E2))
ブランクセルが5つであれば空白、1つでも埋まっていれば平均値
=IF(COUNTBLANK(A2:E2)=5,"",AVERAGE(A2:E2))
実例ケースにおいて、データの1部欠けで意味があるかを考察して、状況に応じて使い分けるのはどうでしょう。
    • good
    • 0
この回答へのお礼

imogasiさん、これまた、すばらしいアイデアをありがとうございます。状況に応じて考えてくださったのですね。実例で使っていけそうです。
 みなさん、本当にありがとうございます。いろいろな方法やアイデアがわかってきます。初心者にとってうれしい限りです。

お礼日時:2003/10/14 22:57

条件付書式ではいかがですか。


通常に平均値の式を入れます。エラー表示は無視してください。
完了したら、式の入ったセルを選択して、書式→条件付書式を選択。
数式を選択して、「=iserror(A1)」とし、書式のフォントを「白」に設定します。(A1とは、式の入ったセル=条件付書式を設定するセル番号です。)
これで背景が白の上に白い文字だから、見えません。非表示と同じです。
    • good
    • 0
この回答へのお礼

なるほど、発想を変える方法もあるのですね。文字そのものを見えなくすればいいわけですね。
 それにしてもみなさん、すばらしいです。すごすぎます。こんな初心者に丁寧に教えて頂き、本当にありがとうございました。

お礼日時:2003/10/14 20:37

質問例の”あ”がB1に、”A”がA2にあるとして、”平均”の下のセル(G2)に、



=IF(COUNTA(B2:F2)<>0,AVERAGE(B2:F2),"")

でいかがでしょう。
    • good
    • 0
この回答へのお礼

これまた、違う式ですがいいですね。いろいろなやり方があるのですね。もう感心するというか感動しています。
ありがとうございました。

お礼日時:2003/10/14 20:39

こんばんは。



できますよ。
ネスト5つですね。

例:A~E列の平均式(エラーなしの場合)

=IF(A4="",IF(B4="",IF(C4="",IF(D4="",IF(E4="",""),""),""),""),AVERAGE(A4:E4))

どうでしょうか?(Excel2000動作確認済み)
    • good
    • 0
この回答へのお礼

これまた、できますね。式は、長いのですが動作まで確認してくださいまして本当にご丁寧にアドバイスして頂きありがとうございます。

お礼日時:2003/10/14 20:32

=IF(ISERROR(AVERAGE(A1:A5),"",AVERAGE(A1:A5))


でどうでしょうか?
    • good
    • 0
この回答へのお礼

すばらしいです。すっきりしました。ありがとうございます。

お礼日時:2003/10/14 20:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!