• 締切済み

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

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

  • hee1
  • お礼率32% (137/422)

みんなの回答

  • 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/17068)
回答No.2

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

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

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

hee1
質問者

補足

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

関連するQ&A

  • 【Excel】 別のSheetの値を参照したい。

    Sheet1の A1に年 A2~A13に月 A14に翌年 A15~月・・・と続きます。 また、 B列に各月の値 があります。 Sheet2の A1に、Sheet1 B列の2008年の1月の値 A21に、Sheet1 B列の2008年の2月の値 A41に、Sheet1 B列の2008年の3月の値 ・・・を表示させていたのですが、 Sheet1の月と行間が違うため、 1~20行のコピーでは、2月以降の値が参照できません。 このような場合A列の式はどのようになるでしょうか。 単にセル位置を指定し参照するのではなく、 「2008年の1月の値」を表示したいと言うことです。 SUMIFなのかなぁ‥とも思うのですが、具体的な方法が分かりません。 Sheet1のA列の月は、 「1」「2」「3」と入力されているだけです。 シリアル値にしないといけないでしょうか。 また、その方法はどうしたら良いのでしょうか。 Excel2003です。 よろしくお願いいたします。

  • 【Excel】 シートを指定する式のオートフィル

    こんにちは A1に参照するシート名を記入し、 そのシートのA1の値をB1に表示する式として、 =INDIRECT(A1&"!A1")としました。 同様に、A2のシート名のB2を表示する式 =INDIRECT(A2&"!A2")となるように、 B列にオートフィルした場合、""で囲んでいる部分は、 そのままコピーされてしまいます。 どのようにしたら、""で囲まれた部分も 上手く記入できるでしょうか。 Excel2003です。

  • 【Excel】行と列で値を検索したい

    こんにちは Sheet1に表があります。 Sheet2のA列と1行に値を入力したときに、 Sheet1の交わる値を表示したいのですが、 Sheet2のB2、C2、B3、C3の式を教えて下さい。 Excel2013です。 宜しくお願いいたします。

  • 【Excel】別のシートからデータを参照したい

    Sheet1-->0101 にシート名変更 A1に111と入力(値は何でも良いです) Sheet2-->0102 にシート名変更 A1に222と入力 Sheet3のA1に'0101 (0101は文字列であること) Sheet3のB1に'0102 (0102は文字列であること) A2にシート名:0101のA1のデータ(111)を表示させたいです。 B2にはA2のセルをコピーしてシート名:0102のA1(222)データを表示させたいです。 A2にはどのような関数を用いればよいでしょうか?

  • 【Excel】 シート名に関する式を教えてください。

    こんにちは 現在のsheet名は「あ-1」です。 (分類(あ)とその枝番の組合せ) A列に、 A あ-1 あ-2 あ-3 あ-4 い-1 い-2 う-1 う-2 う-3 ・ ・ ・ と、このブックのsheet名が列挙されています。 B1に、現sheet名を表示させる式と C1に、現sheetの分類(あ)の総sheet数を表示させる式を 教えてください。 Excel2003 です。

  • エクセルのシート名参照関数

    エクセル関数でいろいろ試したのですがうまくいかず困っています。 VBAは出来ないので(苦手なので)できましたら関数で教えてください。 12年1月~12年12月で別々のシートがあり、それぞれ別の『行』『列』に参照をしたい数字があります。 集計シート名『Sheet1』の『A1』に『検査値』、『B1』~『B12』に『12年1月』~『12年12月』、『C1』~『C12』に『該当する値』を表示したいと思います。 具体例 <シート名 : Sheet1> ---A-----B----C 1 リンゴ 12年1月 値 2 -----12年2月 値 3 -----12年3月 値 4 -----12年4月 値 5 -----12年5月 値 <シート名 : 12年1月> ---A----B 1 リンゴ 100 2 バナナ 50 3 メロン 10 4 スイカ 5 5 ミカン 1 <シート名 : 12年2月> ---A----D 1 パイン 10 2 バナナ 20 3 メロン 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年2月> ---A----F 1 パイン 10 2 バナナ 20 3 スイカ 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年3月> ---A----C 1 パイン 1 2 レモン 10 3 リンゴ 100 4 メロン 1000 5 イチゴ 10000 上記<シート名 : Sheet1>の『C列』に式を入れ、それぞれのシートから『A1』に該当する値を表示させたいと思います。 文書が下手ですのでわかりにくい内容で申し訳ありません。

  • excel:あるsheet Bからその中の情報で別のsheetを表示する。

    (問題概要)あるsheet Bからその中の情報で別のsheetを表示する。 Mydocの中のAというフォルダに、ExcelのBOOKが複数個(A1~A5とB)あり、また各bookには複数個のシートが入っています。 ブックBの中に表形式で   B.xlsのsheet1   (表) 各book名 各sheet名 A1.xls     A1-1sheet  A1.xls A1-2sheet A1.xls A1-3sheet A2.xls A2-1sheet ~ A5.xls   A5-1sheet A5.xls   A5-2sheet などと入っています。 やりたいことは、この表のsheetの所などをクリックしたときに(方法はプログラムを作り安い方法でよいのですが)、当該シートを開き表示するようにしたいが、マクロがいいですか。その場合マクロはどんなふうに書けばいいでしょうか。 またBの表を作るため、BOOK内のsheet名の情報を採集する(コピー)方法はありますか

  • 別のシートから値を取得するとき

    Worksheets("シート名").Activate 上記のを行ってから別シートの値を取得するのですが、 この処理を行うと指定したシートへ強制的にとんでしまいます。。。 ※イメージ For ~ To ~   Worksheets("シートA").Activate   シートAの値取得        :   Worksheets("シートB").Activate   シートBの値取得 Next このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。 シートを変えずに他のシートから値を取得する方法はないのでしょうか。 教えてください!

  • 【Excel】条件を満たした最下行の値を表示

    こんにちは。 Excel2013を使用しています。 《Sheet1》    A     B     C    ・・・・・・    N 1  1234   ○    01/01          2,000 2  1234   ○    01/30          5,000 3  2345   △    01/05          1,000 4  3456   □    01/20          3,000 5  3456   □    01/25          4,000 6  1234   ○    02/10          6,000 7  3456   □    02/15          5,000 上記のような表がSheet1にある場合、A列が1234(数値)である最下行のN列の値をSheet2のA1セルに表示させたいのですが、関数で可能でしょうか? この場合はSheet2のA1セルに表示される値は6,000、同様にA列が2345(数値)である最下行のN列の値の場合は1,000です。 よろしくお願いします。

  • 別シートにあるその月の最大値を取得したい。

    次のような処理を考えています。   A    B     (シート1) 2001/1/1 10000 2001/1/2 13000   :   : 2001/1/31 25000 2001/2/1 28000   :   : B列は累計値です。(つまり、月末日がその月の最大値です。) ここで、シート2からシート1の毎月末の値を取得したいと思っています。 以下は例です。   A   B   C 2001年  1月   2月  ・・・   (シート2) 最大値 25000  ??? つまり、A1の年とB1の月と合致するシート1の月末日の値を、B2に取得 したいのです。(この例では2001/1/31の値が取得したい。) VLOOKUPとMAXを組み合わせてなんとか、と思いましたが、いい方法が 思い浮かびません。何か方法はあるでしょうか? (ワークシート関数だけで解決できるでしょうか?)

専門家に質問してみよう