dポイントプレゼントキャンペーン実施中!

excelのvlookup関数を使ってあるシートを作っています。

「basedata」というシートに3列表をつくり、1番左にキー、2番目と3番目に値をいれ、この表を別シートから検索にいっています。

検索元のシートには

文字列 文字列からMID関数で切り出した数値 検索1 検索2

の4列があります。

やりたいことは2列目の切り出した数値を元にして、basedataのキーを検索しにいき、検索1の列にbasedataの2列目の値を、検索2に3列目の値をいれたいと思っています。

=IF(ISERROR(VLOOKUP(B2,basedata!A2:E56324,2,0))=TRUE,"",VLOOKUP(B2,basedata!A2:E56324,2,0))

という式を検索1のセルに入力した場合、何も表示されず、B2に実際に入っている値を引用符なしで直うちすると値が表示されます。ステップインで分析すると、参照にした場合、参照値が引用符で囲われており、これが原因かと思うのですが、何か回避方法はないでしょうか。

A 回答 (3件)

元シートの参照列(数値)と検索値(文字列)の書式相違と思えます。


検索値を数値にする方法は如何でしょうか。
=IF(COUNTIF(basedata!$A$2:$A$56324,B2*1),VLOOKUP(B2*1,basedata!$A$2:$E$56324,2,FALSE),"")
    • good
    • 0
この回答へのお礼

ありがとうございました。MID切り出しの外にVALUEをつけることで解決しました。

お礼日時:2007/12/11 09:44

No1さんの回答と重複しますが・・・



検索値B2をB2*1に変更してどの様になりますか


因みに
=SUMIF(basedata!A2:A56324,B2,basedata!B2:B56324)
でも良いかな
    • good
    • 0

> 文字列からMID関数で切り出した数値



これは、数値になっていますか?数字の文字列のままだとダメかもしれません。
    • good
    • 0

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