• ベストアンサー

【Excel】 左のシートの特定セルを表示させたい

こんにちは。 Excelで 現在のシートのA1セルに 左隣のシートのC1セルの値を表示させる数式を教えてください。 シートの並びを変えても常に左隣のシートを参照したいのです。 シートはいくつもあり、そのすべてのシートに適用します。 Excelは2003です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

自分で提示していて何なのですが、 INDIRECT関数は、揮発性関数ですので、 ブックに変更を加えてなくてもブックを閉じるときに 「上書きしますか?」と聞いてきます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

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)
回答No.3

ユーザー定義関数での方法の例です。 '標準モジュール Function mae() mae = ActiveSheet.Previous.Name End Function 'シート =INDIRECT(mae()&"!C1")

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

#1です。 先ほど提示した方法は、シート名を取得してますので、 並び替えたりシート名を変えたりしたらアウトですね。 VBAならいけると思うのですが。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

無理矢理です。 余りお勧めではないですが・・・。 =INDIRECT("Sheet"&SUBSTITUTE(MID(CELL("FILENAME",A1),FIND("]",CELL("FILENAME",A1))+1,256),"Sheet","")-1&"!C1")

関連するQ&A