[[20060427202602]] 『LOOKUPの範囲選択で変数を入れるには?』(どてっ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『LOOKUPの範囲選択で変数を入れるには?』(どてっ)

LOOKUP(M2,マスタ!E1:M1,マスタ!E##:M##)
という式で「#」の部分(行番号)が変わります。
(行番号はMATCH関数で求めています。)

マスタという他のシートの行番号を変数とし、LOOKUP関数で
現シートの横方向の値を抽出したいのです。

その際、範囲選択の部分に変数を入れたいのですが指定の記述が
わかりません。

よい解決方法はないものでしょうか?よろしくお願いいたします。


 ## の部分の数値が仮にA1にある場合は、

 =LOOKUP(M2,マスタ!E1:M1,INDIRECT("マスタ!E"&A1&":M"&A1))

 とすれば、例えばA1の値が15であるとすれば、

 =LOOKUP(M2,マスタ!E1:M1,マスタ!E15:M15)

 の意味になります。
 A1の部分にMATCH関数を入力しておけばご希望のことができそうです。

 ただ、実際のレイアウトが示されていないので確かなことは言えませんが、
 ご質問の場合はINDEX関数とMATCH関数を利用してできそうな感じもします。

    A     B        C        D
	あ	い	う
 1  A	10	20	30
 2  B	40	50	60
 3  C	70	80	90
 4
 5
 6  C	い	80

 このような表で、 A6に「C」、B6に「い」と入力してC6に「80」を求める場合、

 C6=INDEX(B2:D4,MATCH(A7,A2:A4,0),MATCH(B7,B1:D1,0))

 で求めることができます。
 もしかしたら見当違いの回答かもしれませんが。
 (sato)


解決です!INDIRECTの使い方がわかりませんでした。ありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.