Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2013)
vlookupでセル名を使用
投稿日時: 17/08/04 10:28:41
投稿者: moughiroya

セル範囲名が記載されている表があります。
セル名称の表
 A    B
 target1 cellname1
 target2 cellname2
 
このセル名をvlookupで求めます。
vlookup(target1,A1:B2,2,false)
 
求めたセル名をさらにvlookupで使用したいのですが、
エラーとなりできないように見えます。
 
vlookup("abc",vlookup(target1,A1:B3,2,false),2,false) …エラー
以下のようにすれば当然OKです。
vlookup("abc",cellname1,2,false) … OK
 
vlookupで検索したい表が、条件によって変わるという場合に上記を考えましたが、
よい方法があるでしょうか?
それともインナーvlookupの記載方法に工夫が必要なのでしょうか?
よろしくお願いします。
 
 

回答
投稿日時: 17/08/04 11:36:40
投稿者: 半平太

>vlookup("abc",vlookup(target1,A1:B3,2,false),2,false) …エラー
                ~~~~~~~~~~~~~~↑~~~~~~~~~~~~~~
        これは、範囲名(文字)であって、セル範囲ではありません。
 
INDIRECT()関数をかませてセル範囲の参照に変えたらどうですか?
  
vlookup("abc",INDIRECT(vlookup(target1,A1:B3,2,false)),2,false)

投稿日時: 17/08/04 23:34:50
投稿者: moughiroya

素晴らしい。
indirectは使用したことがなかったので、やれることが広がった気がします。
どうもありがとうございました。
助かりました。