- 締切済み
#DIV/0! #NUM! の表示を消したいのですが
未計算時の#DIV/0! #NUM!表示を消したいのですが何か良い方法はありませんか?シートが#DIV/0! #NUM!だらけになって非常に見にくく困ってます。 大変申し訳ありませんがよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mshr1962
- ベストアンサー率39% (7417/18945)
#DIV/0!:0による除算を行なったエラー 元の式が =A1/B1 として =IF(ISERROR(A1/B1),"",A1/B1) 'すべてのエラーに対応 =IF(B1=0,"",A1/B1) 'A1,B1が数値又はブランク限定 #NUM!:数値以外が計算に使われているエラー 元の式が =A1+B1+C1 のような場合 =IF(ISERROR(A1+B1+C1),"",A1+B1+C1) 'すべてのエラーに対応 =SUM(A1:C1) 又は =SUM(A1,B1,C1) 'SUM関数は文字列を0とみなします =IF(COUNT(A1:C1)=3,A1+B1+C1,"") 'COUNT関数でセルが数値であることを確認 =IF(AND(ISNUMBER(A1),ISNUMBER(B1),ISNUMBER(C1)),A1+B1+C1,"") 'ISNUMBER関数でセルが数値であることを確認 ※SUM関数と同様で文字列を数値として計算する関数 =AVERAGE(A1:C1) → =SUM(A1:C1)/COUNT(A1:C1)と同じ結果 文字列=0 件数には数えない =AVERAGEA(A1:C1) → =SUM(A1:C1)/COUNTA(A1:C1)と同じ結果 文字列=0 件数に数える =PRODUCT(A1,B1,C1) → =A1*B1*C1と同じ結果 文字列=1
- imogasi
- ベストアンサー率27% (4737/17069)
3つぐらいあるでしょう。 (1)式のエラーの出る場合が想定される場合 0で割る場合、割る値のセルが0の場合は空白を返す =IF(B1="","",A1/B1) 原因が2,3ある場合は式が複雑。 =IF(OR(A1="",B1=""),"",A1/B1)のようなイメージ。 例 http://allabout.co.jp/study/pcbasic/closeup/CU20040122/ (2)計算させてエラーであれば空白を返す =IF(ISERROR(A1/B1),"",A1/B1) 2,3の原因がある場合でも1つ。 例 http://dreamy.boy.jp/kan42.htm (3)表示上見えなくする。ややキワモノてき。 既回答で、できないとあるのを見て誘発されて考えて 例 C1:C3セルに式 =A1/B1 =A2/B2 =A3/B3 と入っているセルC1:C3を範囲指定 書式 条件付き書式 数式が =ERROR.TYPE(C1)=2 書式で、フォント色を白色に設定 ーー エラー値は http://www.relief.jp/itnote/archives/000012.php に説明あり。 2つ以上の場合は、OR関数を用いて、式を書けばよい。 ERROR.TYPE関数は珍しく関数中にピリオドあり、注意。 例 http://dreamy.boy.jp/kan42.htm の最後の部分の例。
- FEX2053
- ベストアンサー率37% (7991/21371)
これらのエラーを非表示にする方法はありませんので(つか、エラー なんで消しちゃうと困る)、エラーが発生しないように計算式そのものを いじる必要があります。 =#DIV/0! は被除数がゼロ、即ち「割る数に指定したセルが未入力」 だから表示され、#NUM!は引数が不適切、即ち「関数の引数にゼロが 指定できない」状態だから表示されるのです。 ですので、方法としては =(計算式) として作られているセルを、例えば =IF(非除数のセル=0,"",計算式) または =IF(ISEROR(計算式),"",計算式) というように修正するのが本道です。逆にセル全てに"1"なり何なりの 「計算に影響を与えない"0"以外の数」を与えてしまうという邪道な 方法も無いわけじゃないです。シートの状況によって判断して下さい。 詳細はここらを参考にすると良いと思います。 http://allabout.co.jp/study/pcbasic/subject/msubsub_series_pcbasic06.htm
- hana-hana3
- ベストアンサー率31% (4940/15541)
IF関数等を使ってエラーチェックなり、エラーが起きないように式を設定する必用があります。
お礼
早速の回答ありがとうございます。 それは分かるのですが、方法が。。。
お礼
具体的な説明ありがとうございます。 とりあえず紹介していただいた方法でやってみます。 また、紹介していただいたページでエラーの勉強を頑張ってみようと思います。 ありがとうございました。