sheet1とsheet2という2つのシートがあります。
sheet1のセルに=sheet2!A1と設定して、sheet2のA1の内容を参照するようにしてあります。
このA1の1の部分を変数にしたいのですが、どのように設定すればよいのでしょうか?

A 回答 (4件)

変数ということの意味が不明ですが、可変ということでいいのでしょうか?


例えば、Sheet2のA1に「B2」とあれば、Sheet2のA2にSheet1!A2の値を参照するというようなことでいいのでしょうか?

上記の例なら、A2に
 =INDIRECT("Sheet1!" & A1)
という式をいれておけば、A1の値がB2ならSheet1のB2セルを、C5ならC5セルを参照することができます。

意味が違っていたら、無視してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
INDIRECT関数でできました!。
感謝します。助かりました。

お礼日時:2009/05/19 13:31

この問題は定石がありINDIRECT関数です。


=INDIRECT(●)の●の中は文字列で、
その
ブック(本質門では対象外)
シート
セル
の部分を表す文字列をリテラル(””で囲む文字)と&とセル番地
(ここが変わる部分になるでしょう)を切り貼りして作り上げればよい。
=Sheet2!A2の形であれば変化させるのはSheet1かA1の場合でしょう。
A3にSheet3
B3にA5
と入っていれば=INDIRECT(A3&"!"&B3)
と作ればよい。セル番地でSheet3!A5の文字をそのまま
置き換えればよい。置きかえられないところは””で囲って&
つなげればよい。
    • good
    • 0

仮にA1が変数としたら、=INDIRECT("sheet2!A"&A1)で表現できます。



または、行・列を変数とする場合、=OFFSET(基準セル,行値,列値)で基準セルに行・列値(注意:0相対の値)で表現できます。
仮に、Sheet2!A1からSheet2!B2を参照する場合、Sheet2!$A$1が0行・0列なので行値は1,列値は1となります。
この値をA1・A2を変数とすると、=OFFSET(Sheet2!$A$1,A1,A2)となります。
    • good
    • 0

どういう変数にするのかによって関数もさまざまに変わってくると思います。


A1の1の部分をどう引っ張ってくるかにもよるでしょう。
例えばB1セルの数値をその部分に当てはめるというなら、
=INDEX(Sheet2!A:A,B1)
のような関数式を使えば済みます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング