• ベストアンサー

エクセルでの週ごとの集計について

週ごとの集計を別シートにしたいのですがうまくできません。 【シート1】 A B  C 1/1 金 100 1/2 土 30 1/3 日 303 1/4 月 202 1/5 火 303 ・ ・ ・ ・ ・ ・ ・ ・ ・ で、【シート2】に日~月毎のC列の集計を行いたいのですが、 どのようにすれば良いでしょうか? 上から7日毎の集計といった方法でもいいですし、 ○日~○日、もしくは曜日で集計ができたらと思っています。 =SUM(Sheet1!C4:C10) =SUM(Sheet1!C4+7:C10+7) ではできず、困っています。 できるだけ簡単な方法で、どなたか教えてください。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

シート2に 1/3 1/10 1/17 ・・・ と集計する日付の区切りの日付を入れておきます =SUMIF(Sheet1!A:A,"<" & A2,Sheets1!B:B)-SUMIF(Sheet1!A:A,"<" & A1,Sheets1!B:B) こんな感じでSUMIF関数を使って、指定した日付より小さい日付の合計を出して引き算します。

yoshi1106
質問者

お礼

どうもありがとうございます! 出来ました! SUMIFは使った事があったので、とても分かりやすかったです。

その他の回答 (5)

noname#204879
noname#204879
回答No.6

   A  B  C 1  dat DOW val 2  1/1 金  100 3  1/2 土  30 4  1/3 日  303 5  1/4 月  202 6  1/5 火  303 … …  …  …… 39 2/7 日  402 40 2/8 月  266 [ピボットテーブル]の[グループ化]の機能を利用するのが最も簡単だと思います。 なぜなら関数の知識が不要だから。 Excel 2002 による結果だけを下に示しておきます。 合計 / val dat           合計 <2010/1/3         130 2010/1/3 - 2010/1/9   2,305 2010/1/10 - 2010/1/16  1,723 2010/1/17 - 2010/1/23  1,571 2010/1/24 - 2010/1/30  2,098 2010/1/31 - 2010/2/6  1,728 2010/2/7 - 2010/2/9    668 総計          10,223 上は「日~月毎のC列の集計」としていますが、「上から7日毎の集計」なら作成手順がより簡単になります。

yoshi1106
質問者

お礼

今回は、ピポットテーブルではなくて式でやりたかったので、どうもすみません。 親切なご回答どうもありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 外していたらごめんなさい。 月は関係なく、週毎の集計をすれば良いわけですかね? 一応そういうことだとしたの回答になります。 No.3さんと重複するかもしれませんが・・・ Sheet1のD列を作業用の列として、A列に表示されているシリアル値がその年の何週目になるかを表示するようにしています。 当方使用のExcel2003の場合は メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておきます。 D2セルに =WEEKNUM(A2) としてオートフィルでずぃ~~~!っと下へコピーします。 そして、Sheet2のB2セルに =SUMIF(Sheet1!D:D,ROW(A1),Sheet1!C:C) という数式を入れ、これもオートフィルで下へコピーすると 画像のような感じになります。 以上、参考になれば幸いですが、 最初に書いたように的外れの可能性もありますので その場合は読み流してくださいね。m(__)m

yoshi1106
質問者

お礼

こんな方法もあるのですね。 図解付きで分かりやすく説明していただきありがとうございました。 的外れはなかったのですが、最初にお答えいただいた2人で出来たので ポイントがつけられくて申し訳ありません。 今後の参考にさせていただきます。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>=SUM(Sheet1!C4:C10) >=SUM(Sheet1!C4+7:C10+7) >ではできず、困っています。 上記の数式と同じことをしたいならOFFSET関数を利用します。 =SUM(OFFSET(Sheet1!$C$4,(ROW(A1)-1)*7,0,7,1)) 最も簡単な元の数式で対応する場合は、以下のような操作を行います。 表示する一番上のセルに「=SUM(Sheet1!C4:C10)」と入力し、その下の空白セル6つ(全部で7つのセル)を選択して下方向に必要データ数分だけオートフィルします。 そのまま、Ctrl+Gでジャンプダイアログを出して、「セル選択」「空白セル」で「OK」し、空白セルが選択された状態で右クリックから「削除」で「上方向にシフト」を選択すればご希望の数式になっていると思います。

yoshi1106
質問者

お礼

上の式は、私のスキルでは少し難しかったのですが、 次のやり方ははじめてで目からうろこでした。 これだったらエクセルも重くならなくてすみそうです。 今後いろいろと活用させていただきます。 どうもありがとうございました。

noname#106000
noname#106000
回答No.3
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

・「シート1」の名前は「Sheet1」なの? ・=SUM(Sheet1!C4:C10)でどういうエラーがでたの? 「できず」だけでは判りません。どうなったのかを記載しましょう。

関連するQ&A

専門家に質問してみよう