- ベストアンサー
【Excel】 左のシートの特定セルを表示させたい
こんにちは。 Excelで 現在のシートのA1セルに 左隣のシートのC1セルの値を表示させる数式を教えてください。 シートの並びを変えても常に左隣のシートを参照したいのです。 シートはいくつもあり、そのすべてのシートに適用します。 Excelは2003です。 よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
自分で提示していて何なのですが、 INDIRECT関数は、揮発性関数ですので、 ブックに変更を加えてなくてもブックを閉じるときに 「上書きしますか?」と聞いてきます。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAでは、シートでの選択にPreviousというのが ーー アクティブシートの1つ前のシートを選択 ActiveSheet.Previous.Select これを普通では関数に取り入れられない。 ユーザー関数でやれば出来るかもしてないが 標準モジュールに Function prsh() Application.Volatile (True) prsh = ActiveSheet.Previous.Name End Function エラー処理は省略している。 ーー Sheet2でSheet1タブが左にあるとして Sheet2のセルに =INDIRECT(prsh()&"!A1") これでSheet1のA1セルの値をとってきた。 >シートの並びを変えても常・・ 色々の点から考えて関数向きの課題では無いように思う。
- marbin
- ベストアンサー率27% (636/2290)
ユーザー定義関数での方法の例です。 '標準モジュール Function mae() mae = ActiveSheet.Previous.Name End Function 'シート =INDIRECT(mae()&"!C1")
- marbin
- ベストアンサー率27% (636/2290)
#1です。 先ほど提示した方法は、シート名を取得してますので、 並び替えたりシート名を変えたりしたらアウトですね。 VBAならいけると思うのですが。
- marbin
- ベストアンサー率27% (636/2290)
無理矢理です。 余りお勧めではないですが・・・。 =INDIRECT("Sheet"&SUBSTITUTE(MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,256),"Sheet","")-1&"!C1")