• 締切済み

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!が表示されます。 何がいけないのでしょうか?

みんなの回答

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

こういう場合のチェックの要領について +の前後 ISERRORの()内 などを仮に別セルにコピーして、 その結果がどうなるかチェックするのがコツでしょう。 ただ今回のように、数字で無いのに加える、文字列+文字列はおかしいと気づくはずですが。文字列結合は&ですね(昔BASICで文字列結合は+でよかった時代があったが)。&は関数ではなく結合演算子で、+などの算術演算子などと、演算子の仲間で、関数の本には、関数として、独立して書いてないかもしれない。 先ほども&について別の質問があったようだが、各種の関数を学ぶ前に+-などと同列に、&を学ぶべきなんでしょう>

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 「+」ではなく「&」に変更して下さい。

teinepark
質問者

お礼

基本中の基本でした。。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

この数式からは次の事が想定できますが如何でしょうか。 ■シート2のD列の値とシート3のC列の値を加算する事になっていますので、各々の列が数値になっていなければ、#VALUE!です。 ■又、シート3に検索値が無かった場合、空白セルとなる為、#VALUE!になります。

teinepark
質問者

お礼

早速の回答ありがとうございます。 仰るとおり、シート2のD列とシート3のC列の値は文字列です。 ですから、シート2だけですとその文字列を表示できたのですね。 シート2とシート3の両方を参照して、該当した文字列を参照したい場合、どのようにすれば宜しいでしょうか?

関連するQ&A