- ベストアンサー
Excel:VLOOKUP関数で検索値が見つからないとき、エラーが出ないようにしたい。
ただいまこういった数式を使っているんですが、 =IF($G$12<>"",$H$12-VLOOKUP($G$12,使用材料,2,0),) この数式の場合、範囲”使用材料”に、G12の値が見つからないと、エラーになってしまいます。 エラーが出ないようにするには、どういった数式にすればよろしいのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 下記のように、VLOOKUPがエラーかどうか判断すればOKです。 =IF( ISERROR(VLOOKUP($G$12,使用材料,2,0)) ,$H$12-VLOOKUP($G$12,使用材料,2,0),"") 以上です。
その他の回答 (4)
- quit123
- ベストアンサー率21% (4/19)
ISERROR関数とCOUNTIF関数が出てますがそれについてちょっと。 (COUNTIF関数) 式が短く出来るメリットがある反面、使える場合が限られる。 (ISERROR関数) VLOOKUP時のエラー(#N/A) に限らず、 その他のエラー(例えば、#VALUE, #DIV/0!, #NUMなど)にも対処できる。 その辺りを理解して使うといいと思います。
- maccheroni
- ベストアンサー率29% (12/41)
使用材料という範囲がA1から始まっているとします。 =IF(COUNTIF(A1:A10,G12),VLOOKUP(G12,使用材料,2,0),"") ※G12とH12を絶対参照にしておかなくてもいいような気がしますが。
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
私もエラーの回避にISNA関数を使っていましたし、これが正統派と思いますが、VLOOKUPの長い関数を2回も使うのは冗長的であると思います。 この場合、あえてISNAは使わず、COUNTIF関数で検索する値の件数が0かどうかを判断する方がスマートだと思います。 即ち、 =IF(COUNTIF($A$2:$A$100,A16)=0,"",VLOOKUP(C1,$A$2:$B$100,2,FALSE)) のような形になります。
- taocat
- ベストアンサー率61% (191/310)
NO.1です。 真偽の処理が反対でした。(^^;;; =IF( ISERROR(VLOOKUP($G$12,使用材料,2,0)) ,"" ,$H$12-VLOOKUP($G$12,使用材料,2,0)) 以上です。
お礼
勉強になります。なるべく頭に入れるように努力します。