• ベストアンサー

#VALUE!を表示させないようにしたい

C1=A1/B1で答えが#VALUE!になった時、表示させないようにしたいです。 A1とB1には計算式が入っているので(他のシートを参照しています)、IF関数やISERROR、ISERRでは対応できません。

  • dra96
  • お礼率49% (310/624)

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。maruru01です。 No.1の方の回答にもありますが、計算式があるとか、他のシートを参照しているとかの理由でISERROR関数が使えないという状況が理解出来ません。 もう少し詳細な説明をお願いします。 それはそうと、エラーを非表示にする方法は主に3つです。 (1)数式で場合分けをする (2)条件付き書式で見えなくする (3)セルの表示形式で見えなくする (1)と(2)は既出ですので、あまり一般的でない(3)の方法を。 まず、C1のセルの文字の色を白(セルの背景色と同じ色)にします。 そうしたら、C1のセルの表示形式を、ユーザー定義で、 「[黒]G/標準」 にします。 これで、エラーの場合のみ元のセルの文字色(白)になって見えなくなります。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

多分B1が0の時に#DIV/0!が出るのではないですか。 =IF(B1=0,"",A1/B1) でどうですか。 #2を矮小化してみました。 A1やB1がエラーが出ている場合でしょうか。

  • bucchukun
  • ベストアンサー率43% (18/41)
回答No.5

>A1とB1には計算式が入っているので(他のシートを参照しています)、IF関数やISERROR、ISERRでは対応できません。 今回のケースでは、エラー判定するのはC1セルです。 A1,B1がどのようなものでも無関係です。

  • moon00
  • ベストアンサー率44% (315/712)
回答No.3

表示させない→見えなくする、という解決法ですが、 条件付書式ではいかがでしょうか。 「数式が」→「=ISERROR(C1)」として、書式で文字の色を 白(背景色が白の場合ですが)とすれば、見かけ上は エラー値が表示されなくなります。

  • YSW
  • ベストアンサー率23% (33/141)
回答No.2

C1=IF(ISERR(A1/B1),"",A1/B1) これじゃあ、だめですか。

  • RZ350R
  • ベストアンサー率28% (439/1551)
回答No.1

表示だけでしょうか? 印刷するときだけエラーが回避される場合もあります。 [ページ設定]ダイアログでエラー値を印刷しない設定にするのが簡単でしょう。 (EXCEL2002以上) 他のシートを参照していても、ISERROR、ISERRで対応出来るのですが・・・ 対応出来ないと言われるのであれば上記方法での逃げしかありません。

関連するQ&A

  • #value!を非表示にしたい

    エクセルの関数に関する質問です。 Book「A」または「A'」のセルを参照にして、いくつかの関数をBook「B」、Book「C」およびBook「D」に書き込みました。 まずは、Book「A」のセル「a」またはBook「A'」のセル「a'」のどちらか入力されている方のセルを表示させる関数をBook「B」のセル「b」に作りました。 これです。↓ =if(「a」="",(if(「a'」=""," ",「a'」),「a」) 次に、セル「b」を参照にして、 =if(「b」=""," ",「b」) という関数をBook「C」のセル「c1」に作りました。 「a」または「a'」に入力されていなければ、「c1」は空欄になるはず・・・だけど、実際には参照セルに関数が入力されているからどうかな・・・と思いましたが、これは見事に、成功しました。 これが成功したので、さらに、「c2」に、 =if(「c1」=""," ",datedif(「b」,「c1」,"Y")) を作りました。 しかし、空欄か年齢のどちらかになるはずのセルが、「#value!」がでてきてしまい、空欄が出てきません。「a」または「a'」に入力されていれば問題なく年齢を計算して返してくれるのですが、「#value!」は目障りなので、表示させたくありません。参照を「a」または「a'」までさかのぼって関数を作ればもちろん問題ないのですが、いろいろ並べ替えなどをしておりそれは最高に面倒くさいのです。参照を「b」や「c1」にするとオートフィルを使って楽にできるので、こっちの方法を採用したいと思っています。 上の関数を使った結果出てきてしまった「#value!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

  • エクセルでの0とエラー値の非表示

    お世話になります。 エクセルでエラー値を表示させないのはIF関数とISERRORを使えばよいのですが そこに0を加える簡単な方法はないでしょうか? たとえば A1/B1の計算結果について0やDIV/0や#VALUEなどがでるとして 現状は =IF(OR(ISERROR(A1/B1)=TRUE,A1/B1=0),"",A1/B1) で対処しようとしていますが、より簡単な方法はないでしょうか? お願いします

  • EXCEL関数で#VALUEが表示される

    Aというホルダ内のA1シート上でBというホルダのB1シートを参照して値を返す式が入力されています。A1シート上には同様の式が3列に入力されています。 このA1シートを開くと3列中1列のみが####と表示され確認すると「#VALUE」となっています。 ここでB1シートを開くと「#VALUE]が消えて正しい計算値が表示されます。 他の2列も同様なら納得できますがいつも同一列のみ{VALUE}となってしまいます。どこに原因がありそうでしょうか。

  • valueの非表示の方法

          A                B 1  20090505     =DATEVALUE(TEXT(A1,"0!/00!/00")) 2  20090506     ↓以下コピー 3  20090507          平成21年5月6日 4                  #VALUE 5 #VALUE A列は日付の入力のしやすさでそのようにしてます。印刷時は不要ですので非表示です。B列に=DATEVALUE(TEXT(A1,"0!/00!/00"))を下までコピーしたんですが、 エラー表示になってしまいます。A列に何も入力してないので当たり前ですが。条件付き書式で文字色を変えてやればエラー表示が見えなくなるのですが、 A4に20090508と入力してもいちいち文字色を変えてやらなければなりませんよね? でIF関数とISERROR関数でA列に何も入れてないときにB列でエラーを表示させないためにはどのようにすればよいのでしょうか? いろいろやってみたんですがどうしてもできません。 どなたか教えて下さい。おねがいします!

  • エクセル ISERROR

    エクセルでISERROR関数を使い、エラー表示されないようにした2つ以上のセルを他のセルで更に計算すると#DIV/0!が表示されます。 例) B2 4月数量 C2 4月金額 D2 4月単価 =IF(ISERROR(C2/B2),"",C2/B2) E2 5月数量 F2 5月金額 G2 5月単価 =IF(ISERROR(F2/E2),"",F2/E2) 4~3月までのセルが続き、各単価の平均・伸長率などを他のセルで計算しようとすると#VALUE!が表示されます。 上記のようにISERROR関数を使った複数のセルを参照させ計算し、更にエラー表示させないようにするにはどのような方法がありますか。 どなたか教えてください。

  • Excel2003 #VALUE!表示をさせない

    A B C 1 2 3 2 3 6 7 C1に=B1/(Sheet1$A$1*A1/10000) 式が入力してあります。 A2,B2は、エラーが出ています。その時C2に#VALUE!表示されます。 この表示を非表示にしたいのですが? 2つ(複数)のエラーを計算式に入力した時の非表示方法をお願いします。

  • if関数の順番 iserrorが認識されない

    タイトルは検索用のためぶっきらぼうですが、よろしくお願いします。 以下のように、A列からB列までの日数を求めるのですが、AやBに ””(空白)や #VALUE!エラー が入ることがあるので、IF関数で回避させています。      A    B      C列 2行  10/1  10/25    =B2-A1+1                 (C2は25となる)                  ↓                =IF(B2="","甲",B2-A1+1)                または                =IF(ISERROR(B2),"乙",B2-A1+1) ところが、 =IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",IF(B2="","甲",B2-A2+1))) という複合式なら、甲、乙、丙はきちんと判別されるのに、 =IF(B2="","甲",IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",B2-A2+1))) という風に順を変えると、結果は   #VALUE! になってしまいました。      A    B      C列 2行  10/1  #VALUE!   =IF(B2="","甲",IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",B2-A2+1)))                (C2は #VALUE! となる。乙にならない) また、 =IF(OR(B2="",ISERROR(A2),ISERROR(B2)),"",B2-A2+1) でも、同じように #VALUE!エラーになってします。 関数の順番を変えただけで、なぜ ISERROR が正常に値を返さないのでしょうか?

  • Excelで0とエラーを非表示にしたい

    Excel97で、B1/A1という計算の答えをC1に表示させる場合についてです。 答えが0のときとエラーのときは空欄にしたいのですが、 下記のように入れてみましたが正しく表示されません。 (答えが0のときは空欄になるのですが、エラーは表示されてしまいます) =IF(OR(ISERROR(B1/A1),(B1/A1=0)),"",B1/A1) 正しいやり方をご存知の方、教えて下さい…

  • エクセルの参照セルがずれないようにしたい!

    エクセルの参照セルがずれないようにしたい! sheet1のC列にデータを入力しており、sheet2には A1に =IF(ISERROR(FINDB("○○",sheet1!C1,1))=FALSE,"△△","××") A2に =IF(ISERROR(FINDB("○○",sheet1!C2,1))=FALSE,"△△","××") A3に =IF(ISERROR(FINDB("○○",sheet1!C3,1))=FALSE,"△△","××") ・ ・ ・ ・ ・ ・ ・ ・ と、計算式を入れています。 sheet1で行の挿入をすると、sheet2の計算式が何故かずれてしまいます。「shhet1!C1,1のところの行番号」 これをずれないようにするにはどうしたらよいのでしょうか? =IF(ISERROR(FINDB("○○",Indirect(sheet1!C1),1))=FALSE,"△△","××")としても行番号はずれるし、期待する結果(sheet1のC列に○○という文字があればsheet2にA列に△△と表示したい。)が返ってきません。 説明が下手でわかりづらいとは思いますが、ご回答よろしくお願いします。

専門家に質問してみよう