• ベストアンサー

エクセル 検索値が関数でVLOOKUPの時

括弧付き社員番号「(12345)」からMID関数で12345を取り出したセルを使用してVLOOKUP関数で検索するとヒットしません。 ・セルが数字なのに左寄せになっている。 ・直接12345と入力すると右寄せで入りヒットする。 関数の結果は数字といえども文字列で戻ってくるようです。 セルもテーブルもどちらも半角です。 数字と英字の混在を試すと正しくヒットする。 VLOOKUPでは「関数で取り出した数字」は正しく認識してくれないのでしょうか? 基本的な質問かもしれませんが対処策を教えてください

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です すみません。はしょりすぎました =VLOOKUP(MID(A1,2,5)*1,B1:C100,2,0) のようにMID()で取り出した値に「*1」します

noname#252806
質問者

お礼

回答ありがとうございます。 お蔭様で出来ました。 >文字列の「12345」です。数値の「12345」とはヒットしません そうなんですか。 VLOOKUPのヘルプを見ても関数の戻り値を使用するにあたっての注意点は書いて無かったので最初は原因がさっぱり掴めませんでした。 でも文字列と数値で区別しておきながら文字列*1は出来るのが 何とも不可解ですね。 *1のテクニック、覚えておきます。 どうもありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>数字といえども文字列で戻ってくるようです。 その通りです。 >MID関数で12345 は文字列の「12345」です。数値の「12345」とはヒットしません  =VLOOKUP(…)*1 で試してください 「数値に見える文字列」を「数値」に変換できます  =IF(ISNUMBER(VLOOKUP(…),VLOOKUP(…)*1,VLOOKUP(…)*1)) でもいいと思いますが…

関連するQ&A