• 締切済み

【Excel】 別シートの値を表示したい。

こんにちは 毎月シートを加えていきます。 シート名は年.月を使って「09.01」「09.02」「09.03」・・・となります。 各シートのA1に先月のB1の値を表示するには、 A1は、どのような式になりますか。 Excel2003です。 よろしくお願いいたします。

みんなの回答

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.5

[回答番号:No.4] の DOUGLAS_ です。  大変失礼いたしました。 >シート名が「09.01」の場合については、「08.12」を参照するようになりますが、 >別ブックのシートになると存じますので、 以下に誤りがありましたので、下記に改めます。  「09.02」~「09.12」につきましては、[回答番号:No.4] の最初の式でよいかと存じますが、「09.01」につきましては、 ='C:\{フルパス}\[08.xls]08.12'!B1 というような式を入力なさってください。 C:\{フルパス}\ の部分は [08.xls](昨年分のファイル名)が存在するフォルダのフルパスを指定なさってください。  INDIRECT 関数 は、閉じているブックの参照ができないようですので、ブック名・シート名 を計算で割り出して、式で指定するようなことは、マクロでも使わないと無理ですね。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.4

=INDIRECT("'" & LEFT(RIGHT(CELL("filename",A1),5),2)&"."&TEXT(RIGHT(CELL("filename",A1),2)-1,"00") & "'!B1") でいかがでしょうか?  シート名が「09.01」の場合については、「08.12」を参照するようになりますが、別ブックのシートになると存じますので、 =IF(RIGHT(CELL("filename",A1),2)="01",下記の式,上記の式) というような場合分けが必要になります。 =INDIRECT("'[" & TEXT(LEFT(RIGHT(CELL("filename",A1),5),2)-1,"00") & ".xls]" & TEXT(LEFT(RIGHT(CELL("filename",A1),5),2)-1,"00") &".12'!B1")

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

今日の日付から先月のシートを参照なら =INDIRECT("09."&TEXT("0"&MONTH(TODAY())-1,"00")&"!B1") こんな感じかな? シート名の取得は =CELL("filename") として取得できるので自分自身のシート名から前月のシート名を求める事もできます =MID(CELL("filename"),SEARCH("]",CELL("filename"),1)+1,5) こんな感じで 後は何とか自分で工夫してみてください。

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

エクセルの基本的な問題 =参照シート名!参照セル番地 -- しかし案ずるに、質問の仕方があいまいなのでは? 前月シートのA1の式を今月シートのA1にコピー貼り付けすることによって、>先月のB1の値を表示するには を実現したいなら、はっきりそのように質問を書くこと。 もしこちらなら、これは結構複雑と思う。再質問したほうがよいかと。

  • say2005
  • ベストアンサー率36% (18/50)
回答No.1

=先月のシート名!B1ではどうでしょうか?

hee1
質問者

補足

説明が足りず、申し訳御座いません。 マスターとなるシートを用意しておき、 毎月シートを新しく作っていきます。 従って、マスターシートのA1の式に =先月のシート名!B1 としたくても 先月のシート名が決められず、 月の更新の度に、式を変更しなければなりません。 どうしたら、良いでしょう。

関連するQ&A