• ベストアンサー

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

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

noname#252806
noname#252806

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

  • ベストアンサー
  • 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

  • VLOOKUP関数で、上手く計算が出来ない

    VLOOKUP関数を組んでみたのですが、 数式に問題は無く、表記も全て左寄せで文字列に変換、昇順に置き換えたのですが、 エラーなどではなく、セルそのものに「=VLOOKUP(A2,A858:N1432,4,false)」という 表記が出できてしまいます。 色々と解決策を探したのですが、解決できません(泣) どなたか助けて下さい。

  • ExcelのVLOOKUP関数でわからないことが・・・

    N   ┃O       ┃P     ・・・   X   ┃    Y┃ Z 車番 ┃乗務員コード┃運転手 ・・・乗務員CD┃運転手┃車番 上記のような構成の表を作ってあります。 O列に数字を入力した時点で、N列・P列の両方がいっぺんに出るような関数を入れたいと言うのが目標です。隣のX列~Z列はその参照する表です。P列に =IF(O3="","",IF(O3=VLOOKUP(O3,$X$1:$X$202,1),VLOOKUP(O3,$X$1:$Y$203,2),#REF!)) と言う関数により片方はできました。Oに数字を入力した時点でP列には運転手の名前がちゃんと出ます。問題は隣の車番でして、同じようにO列の乗務員CDを参照させてVLOOKUP関数を設定したのですが、値を返してくれないどころか、Enterを押すと数式がそのままセルに表示された状態になってしまいます。ちなみにN列に打った関数は =IF(O3="","",IF(O3=VLOOKUP(O3,$X$1:$Y$202,2),VLOOKUP(O3,$X$1:$Z$203,3),#REF!)) です。しかももっとわからないことに、他にも同じ作業をさせているセルがいくつかあるのですが、唯一ココだけができないと言うことです。これはどうすれば良いのでしょうか? 下手な質問で申し訳ありませんが、これでわかる方がいましたら、是非、是非力を貸してください! よろしくお願いします。

  • エクセルVLOOKUP関数について

    =IF($B$3="","",IF(ISERROR(VLOOKUP($B$3,注文管理!A$3:AE$9898,4,0)),"客注NO.を確認!",VLOOKUP($B$3,注文管理!$A$3:$AE$9898,4,0))) VLOOKUP関数を使って、上の式を作りました。 B3に入るのは5桁の数字で文字列です。注文管理のA列に5桁の数字が入っており、そこも文字列にしています。 うまくいく数字とうまくいかない数字があるのですが、なぜだかわかりません。 どこがおかしいのかおしえてください。

  • エクセル関数VLOOKUPのことですが

    VLOOKUPで別のシートのセルから数字を引っぱってくる設定をしたのですが、その参照するセルが空白だった場合、0が表示されてしまいます。 空白のときは空白にしたいのですが、以下の関数にどう付け加えればいいですか? =VLOOKUP(B2,Sheet1!B4:I52,8,0)

  • VLOOKUP 関数 のコピー

    エクセル2010で、VLOOKUP 関数式をセルの下に連続 コピーしたい時に、列番号が変わらないので、手で列の数字を入れています。良い方法はありますか?

  • エクセルでVLOOKUP関数の使い方を教えてください。

    J列に"○"が入っていて、かつC4="1番"というシートのI3が同じ場合、(C4=1番I3) P列に"1番"のJ列の数字を入れたいのですが、うまくいきません。 VLOOKUP関数を使うと思うのですが、どのようにやればよいのでしょうか。 よろしくお願いします。

  • エクセルのVLOOKUP関数

    エクセルでVLOOKUP関数を使ってます。 一般的には、たとえば製品番号(数字)を入力すると 製品名(文字列)を引いてくるという使い方でVLOOKUP 関数を設定すると思いますが、製品名を入力すると、製品番号を引いてくるように設定しようと思ったらうまくできません。 何かよい方法はありますか?

  • VLOOKUP関数で複数の検索値を設定したいのですが

    VLOOKUP関数で複数の検索値を設定することはできるのでしょうか。 例えば5列目のセルのうち、A列に"日本人"、B列に"学生"が入力されている行のセルの内容を求めるといった具合です。 VLOOKUP関数に特にこだわってはいないので別の関数を用いた方法でもかまいません。 ExcelはExcel2000,OSはWindows2000を使用しています。 よろしくお願いします。

  • Excelでの関数vlookupの応用

    関数については、ほとんど初心者の者です。 vlookup関数では、縦型の表の中から必要なデータを取り出すことができますが、それを応用して取り出した数値の合計を出すことはできますか? もし、vlookup関数以外の関数で、そのようなことをできる関数を知っている方、教えてください。お願いします。 (例:セルA列に科目、B列に科目コード、C列に金額の表で、    D列セルに科目コードを打ち込むと、E列にはB列から    抽出した科目コードの金額(C列)を合計して反映)

  • VLOOKUPを使用したのですが、検索できず・・

    VLOOKUP関数を使用したのですが、 検索範囲のテーブルの一番下セルのみを引っ張ってきてしまいます。 テーブルは別シートに作成していて2列のみです。 (物の名前を入れると品番を検索するようにしたかったのですが・・) 数式は下記です。 =VLOOKUP(G6,Sheet1!B3:C2756,1,1) もし、数式が合っていれば、テーブルがおかしいのでしょうか? 基本的な質問で住みませんが、回答をいただければ幸いです。

専門家に質問してみよう