- ベストアンサー
ピボットテーブルグループ化によるデータ集計
エクセルで、各月毎の21日~20日までのデータごとに集計をしたい場合、どのようにすればよいのでしょうか? ピボットテーブルのグループ化を利用すると、月ごとや、日付ごと(31日ごと)で集計できますが、各月が28~31日なので、1/21~2/20、2/21~3/23というようにずれていってしまいます。何かいい方法があれば教えてください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ご質問のようなグループ化は、日付フィールドに対してグループ化の処理をするのではなく、表示された日付のセル範囲を選択してグループ化をします。 "グループ1"のようにグループ化されたアイテムが表示されますから、それぞれ名称を変えることで集計することができます。 ピボットテーブル側での処理が面倒で、元のデータがワークシート上にあるなら、元のデータに作業列を追加して次のような式を使って"?月分"というデータを作り、集計する方法もあると思います。(A2の部分は、日付のあるセルです。) =TEXT(DATE(YEAR(A2-20),MONTH(A2-20)+1,1),"m月分")
その他の回答 (1)
- OtenkiAme
- ベストアンサー率77% (69/89)
こんにちは。 うまくいったようで良かったですね。(^_^) > 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でも構わないです。
お礼
B1セルに =DATE(YEAR(A1-20),MONTH(A1-20)+1,1) B2セルに =DATE(YEAR(A1),MONTH(A1-20)+1,1) と入力して比べてみたら、2つの違いがよくわかりました! ありがとうございました!m(__)m
補足
OtenkiAmeさんに、教えていただいた関数を使用したら、うまくいきました! 助かりました!ありがとうございました! 関数についてあまり詳しくないのですが、YEAR関数の中の-20にはどんな意味があるのでしょうか?DAY関数の日になぜ1を入れるとうまくいくのかもよくわかりません。この2つについてよろしければ教えてください。 変な質問ですみません。よろしくお願いします。