- ベストアンサー
Excelで日別に入力されたデータを月別に集計するにはどうしたらいいのでしょうか。
Excelで月別の集計をしたいのですが 例えば 日付 数量 10月25日 200 10月27日 150 10月30日 120 11月 1日 200 11月 3日 150 のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どのように集計する月を指定するのかが書かれていませんが、例えば11月分の合計を出したいなら 1)11月までの合計から10月までの合計を引く方法 =SUMIF(A:A,"<=11/30",B:B)-SUMIF(A:A,"<=10/31",B:B) 2)月が「11」のB列を合計する方法 =SUMPRODUCT((MONTH(A2:A100)=11)*(B2:B100)) なども考えられます。 でもエクセルなら一番オーソドックスな方法はピボットテーブルでしょう。C列に =TEXT(A1,"YYYY/MM") で「2008/11」のような文字列を生成しておいてピボットテーブルで集計すれば、シート上にある全ての月の合計が一発で求められます。 ピボットテーブルの使い方はGoogleなどで検索したらたくさん見つかります http://www.viplt.ne.jp/tomy/pibot.html
その他の回答 (2)
- ASIMOV
- ベストアンサー率41% (982/2351)
ピボットテーブルはどうでしょうか 日付 A列 数量 B列 の場合 C列を「月」とし C2 =MONTH(A2) として、下にコピーします B列とC列を選択し、ピボットテーブルを設定します 「月」を行のフィールドに、「数量」をデーターアイテムにドラグします
お礼
早速に回答頂き有難うございます。 参考にさせていただき、問題を解決したいと思っております。 本当に有難うございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
別シートに 年月 合計数量 08/01 08/02 ・・・ 09/01 年月には2008/1/1 とシリアル値で入れて、書式、表示形式で年と月を表示させておきます。 合計のセルには =SUM(INDEX(データ!B:B,MATCH(A2,データ!A:A)):INDEX(データ!B:B,MATCH(A3,データ1!A:A))) で下までコピィしてください。 合計(SUM)関数ですが範囲をA列の年月の当月と次月の日付から探して指定しています。 データの最初には 日付 数量 1月 1日 0 最初の月の集計の為にダミーデータ入れる必要あったと思います。 式は少し複雑ですが SUMPRODUCT関数など配列関数を多用すると重くなりますが、この式では軽くてすみます。 データが飛びでもかまいませんが日付がシリアル値で入力されている。 日付順に並んでいることが条件です。
お礼
早速に回答頂き有難うございました。 参考にさせていただき、解決したいと思います。 有難うございました。
お礼
早速に回答頂き有難うございます。 教えていただいた方法を参考に解決したいと思います。 本当に有難うございました。