プロが教えるわが家の防犯対策術!

エクセルで、各月毎の21日~20日までのデータごとに集計をしたい場合、どのようにすればよいのでしょうか?
ピボットテーブルのグループ化を利用すると、月ごとや、日付ごと(31日ごと)で集計できますが、各月が28~31日なので、1/21~2/20、2/21~3/23というようにずれていってしまいます。何かいい方法があれば教えてください。よろしくお願いします。

A 回答 (2件)

こんにちは。


ご質問のようなグループ化は、日付フィールドに対してグループ化の処理をするのではなく、表示された日付のセル範囲を選択してグループ化をします。
"グループ1"のようにグループ化されたアイテムが表示されますから、それぞれ名称を変えることで集計することができます。

ピボットテーブル側での処理が面倒で、元のデータがワークシート上にあるなら、元のデータに作業列を追加して次のような式を使って"?月分"というデータを作り、集計する方法もあると思います。(A2の部分は、日付のあるセルです。)
=TEXT(DATE(YEAR(A2-20),MONTH(A2-20)+1,1),"m月分")

この回答への補足

OtenkiAmeさんに、教えていただいた関数を使用したら、うまくいきました!
助かりました!ありがとうございました!
関数についてあまり詳しくないのですが、YEAR関数の中の-20にはどんな意味があるのでしょうか?DAY関数の日になぜ1を入れるとうまくいくのかもよくわかりません。この2つについてよろしければ教えてください。
変な質問ですみません。よろしくお願いします。

補足日時:2008/02/08 11:19
    • good
    • 0

こんにちは。


うまくいったようで良かったですね。(^_^)

> YEAR関数の中の-20にはどんな意味があるのでしょうか?
> DAY関数の日になぜ1を入れるとうまくいくのかもよくわかりません。
> この2つについてよろしければ教えてください。
DATE(年,月,日)は、分かりますよね?
例えば、A1セルに 2008/1/10 と入れて、
B1セルに =DATE(YEAR(A1-20),MONTH(A1-20)+1,1)
B2セルに =DATE(YEAR(A1),MONTH(A1-20)+1,1)
と入れた場合を比べてみてください。
2008/1/10のシリアル値は、39448ですから、
YEAR関数、MONTH関数とも、39448-20 にしないと
適切な日付が得られないことが分かると思います。
1 の箇所は、その月が取り出せればいいので、1日の意味で1にしています。
20日締めにしているのですから 20でも構わないです。
    • good
    • 0
この回答へのお礼

B1セルに =DATE(YEAR(A1-20),MONTH(A1-20)+1,1)
B2セルに =DATE(YEAR(A1),MONTH(A1-20)+1,1)
と入力して比べてみたら、2つの違いがよくわかりました!

ありがとうございました!m(__)m

お礼日時:2008/02/12 10:04

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