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

Excelで月別の集計をしたいのですが
例えば
  日付    数量
10月25日  200
10月27日  150
10月30日  120
11月 1日  200
11月 3日  150
のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。


 

A 回答 (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
    • good
    • 11
この回答へのお礼

早速に回答頂き有難うございます。
教えていただいた方法を参考に解決したいと思います。
本当に有難うございました。

お礼日時:2008/10/30 18:47

ピボットテーブルはどうでしょうか



日付 A列
数量 B列
の場合
C列を「月」とし
C2 =MONTH(A2)
として、下にコピーします
B列とC列を選択し、ピボットテーブルを設定します
「月」を行のフィールドに、「数量」をデーターアイテムにドラグします
    • good
    • 1
この回答へのお礼

早速に回答頂き有難うございます。
参考にさせていただき、問題を解決したいと思っております。
本当に有難うございました。

お礼日時:2008/10/30 18:44

別シートに


 年月 合計数量
 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関数など配列関数を多用すると重くなりますが、この式では軽くてすみます。
データが飛びでもかまいませんが日付がシリアル値で入力されている。
日付順に並んでいることが条件です。
    • good
    • 1
この回答へのお礼

早速に回答頂き有難うございました。
参考にさせていただき、解決したいと思います。
有難うございました。

お礼日時:2008/10/30 18:48

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