こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

括弧付き社員番号「(12345)」からMID関数で12345を取り出したセルを使用してVLOOKUP関数で検索するとヒットしません。
・セルが数字なのに左寄せになっている。
・直接12345と入力すると右寄せで入りヒットする。

関数の結果は数字といえども文字列で戻ってくるようです。
セルもテーブルもどちらも半角です。
数字と英字の混在を試すと正しくヒットする。

VLOOKUPでは「関数で取り出した数字」は正しく認識してくれないのでしょうか?
基本的な質問かもしれませんが対処策を教えてください

投稿日時 - 2008-12-02 01:26:46

QNo.4523061

困ってます

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

#01です

すみません。はしょりすぎました

=VLOOKUP(MID(A1,2,5)*1,B1:C100,2,0)
のようにMID()で取り出した値に「*1」します

投稿日時 - 2008-12-02 01:35:34

お礼

回答ありがとうございます。
お蔭様で出来ました。

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

*1のテクニック、覚えておきます。
どうもありがとうございました。

投稿日時 - 2008-12-02 06:58:06

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>数字といえども文字列で戻ってくるようです。
その通りです。
>MID関数で12345
は文字列の「12345」です。数値の「12345」とはヒットしません

 =VLOOKUP(…)*1
で試してください
「数値に見える文字列」を「数値」に変換できます

 =IF(ISNUMBER(VLOOKUP(…),VLOOKUP(…)*1,VLOOKUP(…)*1))
でもいいと思いますが…

投稿日時 - 2008-12-02 01:31:55

あなたにオススメの質問