プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、月によって参照するシートを自動的に変える関数

エクセル2003を使っています。

1月~12月の各月のシートと、集計用のシート、合計13のシートを用意してあります。

1月~12月のシートには、それぞれその月のデータが入っています。
これらのシートはローテーションで使用します。
(”6月”シートに2009年6月のデータが入っているとして、
2010年6月にはこのシートの2009年6月分のデータを一旦消して
新たに2010年6月分のデータを入れる。)

これに対して、集計用のシートでデータを自動表示したいのですが、
1カ月前~12カ月前といった表示をさせたいのです。
つまり、1カ月前を表示させるセルは、5月には4月の、6月には5月のシートを参照させたい。
2010年6月には1カ月前に入っていた5月のデータは、2010年7月には2カ月前に表示させたいです。

自動的にこのような表示のさせる関数、もしくは方法があれば教えて下さい。

A 回答 (4件)

添付図:


F4
=SUMIF(INDIRECT(MONTH(DATE(2000,MONTH(TODAY())-COLUMN(A4),1))&"月!e:e"),$C4,INDIRECT(MONTH(DATE(2000,MONTH(TODAY())-COLUMN(A4),1))&"月!g:g"))
下にコピー,右にコピー
「エクセルで、月によって参照するシートを自」の回答画像4
    • good
    • 0

No2です。



シート名の計算式を下記に変更してください.orz
=TEXT(DATE(YEAR($A$1),MONTH($A$1)-1,1),"M") & "月" '1ヶ月前の年月
=TEXT(DATE(YEAR($A$1),MONTH($A$1)-2,1),"M") & "月" '2ヶ月前の年月

あと$A$1をNOW()に置き換えてもいいです。
    • good
    • 0
この回答へのお礼

大変すいません。
シートの参照ができれば、後は自分でできると思ったのですが、解決しませんでした。
大変失礼なのですが、追加質問させて頂きます。

集計用シートのC列に名前が入っており、
また各月のシートのE列に名前、G列に数値が入っています。

集計用シートのF列~Q列に、1カ月前~12カ月前の集計表示をさせたいのですが、
集計用シートの名前と同じ名前を、各月のシートから検索し、その数値の合計を表示させたいです。

例)
今月が6月だとして、集計用シートのC4=Aさんの場合、
5月のシートを参照し、E列に"Aさん"と入力されている行(複数ある場合あり)のG列に入っている数値の合計を、集計用シートのF4セル(1カ月前のデータを表示するセル)に表示させたいです。
同じように、4月のシートを参照し、同じ名前の合計数値をG4セル(2カ月前のデータを表示するセル)に表示するといった具合です。
また、集計用シートはC5,C6・・・と続きます。

申し訳ありませんが、解決方法を御伝授頂けないでしょうか。

お礼日時:2010/06/08 21:48

シート名を年月にすれば、INDIRECTを使用すれば可能ではないでしょうか?


ぱっと思いついただけなので他に良い方法があるかもしれません。

'今現在の年月
A1 =now()
※ファイルを開いたり、シートを更新する度に日付が変わってしまいます。

'シート名(年月)
A3 =TEXT(DATE(YEAR($A$1),MONTH($A$1)-1,1),"YYYYMM") '1ヶ月前の年月
A4 =TEXT(DATE(YEAR($A$1),MONTH($A$1)-2,1),"YYYYMM") '2ヶ月前の年月
:
:
A14 =TEXT(DATE(YEAR($A$1),MONTH($A$1)-12,1),"YYYYMM") '2ヶ月前の年月

'年月シートのA列の合計
B3 =IF(ISERROR(INDIRECT(A3&"!"&"A1")),"",SUM(INDIRECT($A3&"!"&"A:A")))
B4 =IF(ISERROR(INDIRECT(A4&"!"&"A1")),"",SUM(INDIRECT($A4&"!"&"A:A")))
:
(コピペでいいかも)
    • good
    • 0

分析ツールをインストールしてあれば、edate関数が使えます。



これはedate(日付, 月)で日付から月数後の日付を返すので、たとえ
ばmonth(edate(today(),-1))とすれば先月が何月だったか判るわけ
ですね。そうすると6月である今「5月」シートのG13を参照するには

=indirect(month(edate(today(),-1))&"月!G13")

の様になりますね。
    • good
    • 0
この回答へのお礼

大変すいません。
シートの参照ができれば、後は自分でできると思ったのですが、解決しませんでした。
大変失礼なのですが、追加質問させて頂きます。

集計用シートのC列に名前が入っており、
また各月のシートのE列に名前、G列に数値が入っています。

集計用シートのF列~Q列に、1カ月前~12カ月前の集計表示をさせたいのですが、
集計用シートの名前と同じ名前を、各月のシートから検索し、その数値の合計を表示させたいです。

例)
今月が6月だとして、集計用シートのC4=Aさんの場合、
5月のシートを参照し、E列に"Aさん"と入力されている行(複数ある場合あり)のG列に入っている数値の合計を、集計用シートのF4セル(1カ月前のデータを表示するセル)に表示させたいです。
同じように、4月のシートを参照し、同じ名前の合計数値をG4セル(2カ月前のデータを表示するセル)に表示するといった具合です。
また、集計用シートはC5,C6・・・と続きます。

申し訳ありませんが、解決方法を御伝授頂けないでしょうか。

お礼日時:2010/06/08 21:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A