#N/Aを消そうとすると正常時も消えますこんにちはゲストさん。>>解決済みの質問#N/Aを消そうとすると正常時も消えますExcelの関数使用で困っています。下記2行はどちらも「調査あり」となるべきなのですが、#N/Aを消すために2行目のようにISERROR関数を加えると空白になってしまいます。何が間違っているのでしょうか?ご教示いただけると助かります。二つ目の式をよく見ると、「当然かなぁ」と思いますよ。二つ目の式の=ISERROR(VLOOKUP($C20,INDIRECT($K$1&"!$B$2"):INDIRECT($K$1&"!G$122"),6,FALSE))の部分だけを抜き取って、セルに入れてみましょう。「TRUE/FALSE」のどちらか(あるいはエラー)ですから、これに対して「$B=20」としてしまうと、B20セルが「TRUE/FALSE」じゃないと比較の使用が無いわけです。一つ目の式で正しく「調査あり」が返るとなると、B20セルにも何らかの(TRUE/FALSE以外の)値が入っていると推測されます。よって、これをそのままIF関数で判断させるとすると「ほぼ必ず否の場合が選択される」ということですね。・・・その前に、おそらくですが、VLOOKUPの部分はVLOOKUP($C20,INDIRECT($K$1&"!$B$2:$G$122"),6,FALSE)で良いかと思います。冗長ですが、=IF(ISERROR(VLOOKUP($C20,INDIRECT($K$1&"!$B$2:$G$122"),6,FALSE)),"",IF(VLOOKUP($C20,INDIRECT($K$1&"!$B$2:$G$122"),6,FALSE)=$B20,"調査あり",""))こんな感じでIFをネストして(重ねて)やるのが一番のようです。VLOOKUP関数で完全一致を狙っているようですので、=IF(COUNTIF(INDIRECT($K$1&"!$B:$B"),$C20)=0,"",IF(VLOOKUP($C20,INDIRECT($K$1&"!$B$2:$G$122"),6,FALSE)=$B20,"調査あり",""))のように「対象シートのB列に“合致するものが無い”場合は空白」としても良いかもですね。変わりませんが、ちょっとはスッキリできるかなと。以上、参考までにどうぞ。ありがとうございました。お陰様で解決しました。回答(4)ANo.4KURUMITO次のような式にすればよいでしょう。06:47:39お礼お礼が大変遅くなりました。ありがとうございました。(0)通報するANo.2okgoripon=IF(ISERROR(VLOOKUP($C20,INDIRECT($K$1&"!$B$2"):INDIRECT($K$1&"!G$122"),6,FALSE)),"",IF(VLOOKUP($C20,INDIRECT($K$1&"!$B$2"):INDIRECT($K$1&"!G$122"),6,FALSE)=$B20,"調査あり",""))たぶんこれでいけるはず。ISERRORは「エラーかどうかをBooleanで返す」だけの関数なので、#N/Aを消す場合にはもう1段、IF関数を重ねる必要があります。早々のご回答をいただき、ありがとうございました。ご提示いただいた式で目的の動作が実現できました。(0)通報するANo.1keithinISERROR関数の使い方が、考え方から間違っています。B20,"調査有","")と書かれています。"調査有","")となってB20はTRUEという値「ではない」ので""になります。あなたのご質問への回答は、以上です。#ご利用のエクセルのバージョンも書かれていないご相談ですが。早々に適切なご回答をいただきありがとうございました。ISERROR関数の理解ができました。Excelのバージョンも書かず申し訳ございませんでした。Excel2003と2010を使っています。EXCEL2007を使用しています。EXCELの質問です。2003にて予定表を作成しています。2003にて予定表を作成しています。祝日を、VLOOKUP関数にて表示しました。vlookupを使用して、数多くのフォルダ内のセル参照をしようとしています。