アプリ版:「スタンプのみでお礼する」機能のリリースについて

ただいまこういった数式を使っているんですが、

=IF($G$12<>"",$H$12-VLOOKUP($G$12,使用材料,2,0),)

この数式の場合、範囲”使用材料”に、G12の値が見つからないと、エラーになってしまいます。
エラーが出ないようにするには、どういった数式にすればよろしいのでしょうか?

A 回答 (5件)

こんにちは。


下記のように、VLOOKUPがエラーかどうか判断すればOKです。


=IF( ISERROR(VLOOKUP($G$12,使用材料,2,0)) ,$H$12-VLOOKUP($G$12,使用材料,2,0),"")


以上です。
    • good
    • 0

ISERROR関数とCOUNTIF関数が出てますがそれについてちょっと。



(COUNTIF関数)
式が短く出来るメリットがある反面、使える場合が限られる。

(ISERROR関数)
VLOOKUP時のエラー(#N/A) に限らず、
その他のエラー(例えば、#VALUE, #DIV/0!, #NUMなど)にも対処できる。

その辺りを理解して使うといいと思います。
    • good
    • 0
この回答へのお礼

勉強になります。なるべく頭に入れるように努力します。

お礼日時:2005/02/19 13:53

使用材料という範囲がA1から始まっているとします。



=IF(COUNTIF(A1:A10,G12),VLOOKUP(G12,使用材料,2,0),"")

※G12とH12を絶対参照にしておかなくてもいいような気がしますが。
    • good
    • 0

私もエラーの回避にISNA関数を使っていましたし、これが正統派と思いますが、VLOOKUPの長い関数を2回も使うのは冗長的であると思います。


この場合、あえてISNAは使わず、COUNTIF関数で検索する値の件数が0かどうかを判断する方がスマートだと思います。
即ち、
=IF(COUNTIF($A$2:$A$100,A16)=0,"",VLOOKUP(C1,$A$2:$B$100,2,FALSE))
のような形になります。
    • good
    • 0

NO.1です。


真偽の処理が反対でした。(^^;;;


=IF( ISERROR(VLOOKUP($G$12,使用材料,2,0)) ,"" ,$H$12-VLOOKUP($G$12,使用材料,2,0))

以上です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!