- 締切済み
エクセルのVLOOKUPについて
ご覧いただきありがとうございます。 下記の画像のような場合のVLOOKUPの使い方について教えて下さい。 【Sheet1】A列に【Sheet2】A列の文字が含まれていた場合に、【Sheet1】B列に【Sheet2】B列の数を入力するようにしたいと思っております。 【Sheet1】A列の文字数が少なく(列:◯◯)、【Sheet2】A列の文字数が多い場合(列:東京都立◯◯高等学校)は、 =IF(COUNTIF(Sheet2!$A$1:$A$6,"*"&A1&"*")=0,"",VLOOKUP("*"&A1&"*",Sheet2!$A$1:$B$6,2,0)) を入力したら出来たのですが、下記の画像のように、【Sheet1】A列の文字数の方が多い場合は、どのようにすればよいのでしょうか? 使用しているのはエクセル2010です。 ご回答宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- dogs_cats
- ベストアンサー率38% (278/717)
立と高の間の文字を取得して、検索文字とすれば良いのではないでしょうか。 sheet1 B1式 =IFERROR(VLOOKUP(MID(A1,FIND("立",A1,1)+1,FIND("高",A1,1)-FIND("立",A1,1)-1),Sheet2!$A$1:$B$7,2,FALSE),"") 東京都立、高等学校と必ず校名以外の文字数が8文字なら下記でも可能 =IFERROR(VLOOKUP(MID(A1,FIND("立",A1,1)+1,len(A1)-8),Sheet2!$A$1:$B$7,2,FALSE),"") もっと簡略化すると =IFERROR(VLOOKUP(MID(A1,5,len(A1)-8),Sheet2!$A$1:$B$7,2,FALSE),"") sheet2にデータが存在しない場合は空白を返します。 MID関数 http://excel.onushi.com/function/mid.htm
- kkkkkm
- ベストアンサー率66% (1719/2589)
=VLOOKUP(MID(A4,FIND("立",A4,1)+1,FIND("高",A4,1)-FIND("立",A4,1)-1),Sheet2!$A$1:$B$6,2,FALSE) 上記の式でいかがでしょうか。
お礼
早々のご回答、ありがとうございます。 こんな方法があるのですね。 関数は難しいですが、教えていただいた関数をもっと勉強したいと思います。 本当にありがとうございました!!
お礼
早々のご回答、ありがとうござす。 こんな方法があるのですね。 教えていただいた関数をもっと勉強したいと思います。 本当にありがとうございました!!