- ベストアンサー
エクセル 他シートのセル参照について
sheet1とsheet2という2つのシートがあります。 sheet1のセルに=sheet2!A1と設定して、sheet2のA1の内容を参照するようにしてあります。 このA1の1の部分を変数にしたいのですが、どのように設定すればよいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
変数ということの意味が不明ですが、可変ということでいいのでしょうか? 例えば、Sheet2のA1に「B2」とあれば、Sheet2のA2にSheet1!A2の値を参照するというようなことでいいのでしょうか? 上記の例なら、A2に =INDIRECT("Sheet1!" & A1) という式をいれておけば、A1の値がB2ならSheet1のB2セルを、C5ならC5セルを参照することができます。 意味が違っていたら、無視してください。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
この問題は定石がありINDIRECT関数です。 =INDIRECT(●)の●の中は文字列で、 その ブック(本質門では対象外) シート セル の部分を表す文字列をリテラル(””で囲む文字)と&とセル番地 (ここが変わる部分になるでしょう)を切り貼りして作り上げればよい。 =Sheet2!A2の形であれば変化させるのはSheet1かA1の場合でしょう。 A3にSheet3 B3にA5 と入っていれば=INDIRECT(A3&"!"&B3) と作ればよい。セル番地でSheet3!A5の文字をそのまま 置き換えればよい。置きかえられないところは””で囲って& つなげればよい。
- mu2011
- ベストアンサー率38% (1910/4994)
仮に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)となります。
- CMLT
- ベストアンサー率40% (143/357)
どういう変数にするのかによって関数もさまざまに変わってくると思います。 A1の1の部分をどう引っ張ってくるかにもよるでしょう。 例えばB1セルの数値をその部分に当てはめるというなら、 =INDEX(Sheet2!A:A,B1) のような関数式を使えば済みます。
お礼
ご回答ありがとうございます。 INDIRECT関数でできました!。 感謝します。助かりました。