下記のような Sheet1 というシートに、
No、名前、住所の一覧があります。
その情報を元に、1 というシートの該当する箇所に値を入れたいと思います。
[Sheet1]
1|なまえ1|じゅうしょ1
2|なまえ2|じゅうしょ2
3|なまえ3|じゅうしょ3
[1]
No|1
名前|なまえ1
住所|じゅうしょ1
Noはシート名なので下記の通りに取得できます。
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
問題は、名前と住所の部分で、
下記のようにすると取得はできるのですが、
シートを追加した時には、B1→B2、C1→C2と、手作業で修正しなければなりません。
名前 =Sheet1!B1
住所 =Sheet1!C1
これをうまく、B1の部分を動的にB2、B3とシート名(No)から参照できないでしょうか。
よろしくお願い致します。
アドレスを文字列で指定するのはINDIRECT 関数ですので、下記のようでどうでしょうか。
名前 =INDIRECT("Sheet1!B" & RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))) ) 住所 =INDIRECT("Sheet1!C" & RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))) )
http://officetanaka.net/excel/function/function/indirect.htm
ありがとうございます!
これでできました。
シート名は、B1に入っているので、下記のとおりでできました。
=INDIRECT("Sheet1!B" & B1 )