- ベストアンサー
Excel関数(VLOOKUPの検索値が左端以外)
VLOOKUPを用いて、データの取得を考えております。 しかし、検索したい文字列(B列)と戻ってきてほしい値の列(A列)が逆になっており、VLOOKUPを用いることが出来ません。 B列とA列を逆にすればよいのですが、多数のファイルがあり、変更することができません。 B列の値を検索し、A列の値を返すことが出来ないでしょうか? 何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
NO1です。 ⇒対象エクセルをオープンしておかないと#REF!エラーになりますが、次の方法は如何でしょうか。 =IF(検索セル<>"",INDEX(INDIRECT("["&A1&"]"&B1&"!A:A"),MATCH(検索セル,INDIRECT("["&A1&"]"&B1&"!B:B"),0)),"")
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7417/18945)
例1 =IF(COUNTIF(A1:A99,C1),VLOOKUP(C1,A1:B99,2,TRUE),"") ↓ =IF(COUNTIF(B1:B99,C1),LOOKUP(C1,B1:B99,A1:A99),"") 例2 =IF(COUNTIF(A1:A99,C1),VLOOKUP(C1,A1:B99,2,FALSE),"") ↓ =IF(COUNTIF(B1:B99,C1),INDEX(A1:A99,MATCH(C1,B1:B99,0),1),"")
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =IF(検索セル<>"",INDEX(A:A,MATCH(検索セル,B:B,0)),"")
お礼
ありがとうございます。助かりました。 まさに実施したい事柄でした。 もう一点お願いしたい点があるのですが、A1セルにファイル名、B1セルにシート名が入力されており、A1セルのファイルを参照し、質問と同じ内容を実施したいと考えています。 現在、 ="IF(検索セル<>"",INDEX(["&A1&"]"&B1&"!"A:A",MATCH(検索セル,"&A1&"]"&B1&"!"B:B&",0)),"")" しているのですが、うまく動作しません。 どのようにすれば可能でしょうか? お手数をおかけし申し訳ありませんが、よろしくお願いいたします。
お礼
ありがとうございました。 無事解決することが出来ました。 今後ともよろしくお願いします。