• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのエラー非表示について)

エクセルのエラー非表示方法

このQ&Aのポイント
  • エクセルで『#REF!』エラーを表示しない方法について教えてください
  • シート削除による『#REF!』エラーの対処方法を教えてください
  • エクセルのエラー表示をゼロもしくは表示なしにする方法を教えてください

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

3つ続けて書いちゃってすいません。あと・・・。 =VLOOKUP(A1,B11:C20,2) なんて場合、11行目や20行目を消しちゃうと、B11:C20の 参照先が無くなって、VLOOKUPそのものもエラーになります。 =VLOOKUP(A1,#REF,2) って感じになるのかな(未検証) ところが19行目や12行目を消す分にはエラーにならないん ですね。ですので、VLOOKUPの参照先先頭行と最終行は 「絶対に消さない」ような運用をするか、消さずに済む何か ダミーのデータを入れておくと良いかもしれません。

mihamantyu
質問者

お礼

ありがとうございます。

その他の回答 (4)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.5

削除された後、相当セルに何もないのであれば、 そのセルの参照を関節参照にすればセル参照がいつも固定されるので、#REF!はなくなる。 =IF(ISERROR(VLOOKUP(A2,INDIRECT("Sheet1!A1:B5"),2)),"",VLOOKUP(A2,INDIRECT("Sheet1!A1:B5"),2)) とか。

mihamantyu
質問者

お礼

ありがとうございます

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

例えばシート2のB2セルからB10セルにわたってシート1のB2セルからB10セルの値を表示させるために、シート2のB2セルには=Sheet1!B2の式を入力してB10セルまでドラッグコピーした場合には、シート1で行が消去された場合には#REF!のエラーが表示されますね。それらの表示が無いようにするためには例えばシート1での1行目が削除されないということであれば次のような式をシート2のB2セルに入力します。 =OFFSET(Sheet1!B$1,ROW(A1),0) このようにOFFSET関数を使うことで削除によるエラーを解除することができます。

mihamantyu
質問者

お礼

ありがとうございます

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

判りにくかったかな。要は =VLOOKUP(IF(ISERROR(Sheet1!A1),0,Sheet1!A1)・・・ みたいな書き方をするんじゃなく セルD1 :=VLOOKUP(A1,B1:C10,2) セルD2 :=IF(ISERROR(D1),0,D1) こうやっておいて、他のシートから =Sheet1!D2 と参照させなさい、という話です。

mihamantyu
質問者

お礼

なるほど

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

VLOOKUPの式の中に直接ISERRORを入れると、判りにくい だけでなく、参照系のドコでエラーが出るかによって、関数が 正常な戻り値を返さないことがあります。 ですので、VLOOKUPなどで計算した結果を直接次のシートに 参照させないで、VLOOKUPで計算した結果を一旦同じシート に書きだし、そこに#REFが出ているかをISERRORでチェック、 その結果を改めて別のシートに参照させればいいかと。 要は、「エラーが出そうな算式があるシートは、そのシート中で エラーが出ないように始末をつけて、始末が付いた(=エラー にならない)セルを改めて別のシートから参照させる」という 方法を取ればオッケー、という話です。 何のためにアレだけ広大なシートを使えるか、というと、こういう ときのため・・・ということもあるのです。

mihamantyu
質問者

お礼

ありがとうございます