• ベストアンサー

エクセルで一週間単位で数値を集計する方法について質問です。

エクセルで一週間単位で数値を集計する方法について質問です。 毎週”日曜日まで”で区切った合計数値を算出したいのですが、 月が変わったりすると、また合計する範囲を選択し直さなくてはならないのが面倒です。 曜日を入力している箇所があるので、”日”と表示される箇所を数えたりして、 1週目・2週目の合計を自動で計算できる方法はありますでしょうか。 必ず”日曜日”で区切るので、5月でしたら、5/1~2、5/3~5/9・・・と 数値を合計したいです。 ↑とても説明が下手だと思うのですが、 画像から汲み取っていただけましたら、是非解決策を頂きたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ODEX
  • ベストアンサー率58% (7/12)
回答No.1

あまり詳しくないですが回答させてください。 A3 [=IF(NOT(MONTH(A2)=MONTH(A2+1)),"",A2+1)] A2に月の初めを入力すると自動的に日にちが表示されます。 B2 [=IF(A2="","",WEEKDAY(A2))]右クリック→セルの書式設定→ユーザー定義[aaa] D2 [=IF(B2=1,0,1)] D3 [=IF(A3="","",IF(B3=2,D2+1,D2))] F4 [=MAX(D2:D32)] F5 [=MIN(D2:D32)] F6 [=IF(F5+1>$F$4,"",F5+1)] H5 [=SUMIF($D$2:$D$32,F5,$C$2:$C$32)] あとは下にびろーんとやってみてください。 間違えがあれば連絡下さい。

jjnnkk
質問者

お礼

ありがとうございます。 曜日をまとめるための判別の仕方が、とてもわかりやすかったです。 また、ファイルを共有して使用しているため、関数で解決して頂けて 大変助かります。関数を全部コピーして、使わせて頂きました。 本当にありがとうございます!!

その他の回答 (4)

noname#204879
noname#204879
回答No.5

[ピボット テーブル レポート]の[グループ化]の機能を利用すれば、ご希望に近いことができます。 [開始日]として最初の月曜日の日付(此処では 2010/5/3)を、[終了日]として日付欄の末尾の日付(此処では 2010/5/31)を、[単位]として“日”を、[日数]として 7 を、それぞれ指定した結果を添付図に示しておきます。

jjnnkk
質問者

お礼

ピポットで、こんなこともできるんですね。 全く新しい知識でした!! ただ、今回でいうとは、5/1~2 の部分も集計したかったので、 ODEXさんをベストアンサーにさせて頂きました。 本当にありがとうございます!

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.4

今日は。 ごちゃごちゃした数式など設定しなくても良いです。 最初に、分析ツール アドインを組み込むんで下さい。(こうしないと次に使う関数が使えません) 組み込み方: http://www.ipc.shimane-u.ac.jp/food/kobayasi/excelbunsekitool.htm 添付け画像で説明します。 1.D列にその年の何週目かを出します   数式:D4に『=WEEKNUM(A4,2)』 末尾の「2」は週の始まりが月曜日としていますが、日曜日の場合は「1または省略」出来ます 2.I列に各週の合計を出します   数式:I4に『=SUMIF($D$4:$D$34,WEEKNUM($A$4),$C$4:$C$34)』      I5に『=SUMIF($D$4:$D$34,WEEKNUM($A$4)+1,$C$4:$C$34)』      I6以降は「WEEKNUM($A$4)+1」を「WEEKNUM($A$4)+2」「WEEKNUM($A$4)+3」と週ごと     にしてきます 3.E列の各週合計はSUM関数で計算してあります、I列との結果を参照して下さい。

jjnnkk
質問者

お礼

分析ツールを表示(?)させるための手順まで、ありがとうございます。 画像をみながら、やってみました。 関数を一式記載していただけたので、本当に簡単に集計することができました。 ただ、ファイルを共有して使用しているため、他の人にも”アドイン”をやって もらわないといけなくなってしまうので、個人用の管理ファイルで活用させて頂きます。 ご丁寧にありがとうございました!!

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.3

画像がさっき一回だけ表示されたので、追加しておきます。 日付、曜日、売上でしたね。 5/1をA2とします。 表の右側に合計を表示するとします。 D2=if(C2="日",A2,""); D3=if(C3="日",sum(A2:A3),""); D4=if(C4="日",sum(A2:A4),""); D5=if(C5="日",sum(A2:A5),""); D6=if(C6="日",sum(A2:A6),""); D7=if(C7="日",sum(A2:A7),""); D8=if(C8="日",sum(A2:A8),""); D8は7日分の合計を取っているので、これを下に全部コピーします。 すると、日曜日のときにだけ、7日分の合計が表示されます。1日~6日については、1日からの日数分です。 前月分の合計、月末の調整は考慮していません。

jjnnkk
質問者

お礼

回答ありがとうございます。 集計後、私がこのデータを1箇所にまとめる力がなく、 上手く利用することができませんでした。 アイデア頂きました!ありがとうございます。今後に是非活かします!!

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.2

表の状態が判りませんが、一週間は7日毎なので、範囲は一定間隔です。 5/1 500 5/2 400 ... 5/7 600 と並んでいたら、7日目の下のセルに合計を取るか、右のセルで合計を取ります。あとは、それを7日間隔でコピーするだけです。 合計しやすいように表を作るのも一工夫ですし、表示の表とは別に計算用に数字をコピー(もちろん算式で)して、集計すると作業は効率化します。 集計用に表を作り直す(もちろんリンクしている)とグラフ化もできるし、分析にも役立ちます。

jjnnkk
質問者

お礼

ありがとうございます。 社内共有ファイルのため、下っ端の私では、フォーマットを変更することが できず、こちらの案を使うことができませんでした・・。 まず、管理するファイルの形を使いやすく作るのは、もっともですよね。 つい、そのときに早くできればいい!!と作ってしまいがちなので、 今後新しい管理ファイルを作るときに、お答え頂いた”工夫する”を意識して つくります!!ありがとうございました!!

関連するQ&A