• ベストアンサー

エクセルでの集計方法をお尋ねします

毎日のデーターを入力したファイルから別の一週間ごとの集計表ファイルに自動で一週間ごとの集計データを入力できるようにする方法を教えてください。またロータス123でも同じようにできますか。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.7

#04です。誤記の訂正を兼ねて補足します。 #04の f1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($c$1:$c$7)) g1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($d$1:$d$7)) は誤りがあり、以下が正解です。 f1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($b$1:$b$7)) g1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($c$1:$c$7)) なおコピーしたら二行目以降が「おかしい」というのは#04の例であればd、e列の日付が7日おきになっていないためではありませんか? 試しにd,e列は日付を手入力してみてください。 それ以外の理由であれば再度補足お願いします。

elimi55
質問者

お礼

ご回答ありがとうございました。私の範囲指定が間違っていました。コピーもうまくいきました。ご指導ありがとうございました。

その他の回答 (6)

noname#204879
noname#204879
回答No.6

[No.5回答]の誤謬訂正、 》 E2: =SUMIF($A:$A,"<="&$E2,B:B)-SUMIF($A:$A,"<="&($E2-7),B:B) の左端の「E2:」は「F2:」に訂正します。

elimi55
質問者

お礼

ご回答ありがとうございました。皆さんのご回答をいろいろ試してみましたが、どれも二行目以降へのコピー(7日ごとの)がうまくいきません。ご返事が遅くなり申し訳ありませんでした。

noname#204879
noname#204879
回答No.5

   A    B   C  D   E    F    G 1 date   item1 item2   week   item1 item2 2 06/05/31  4537  3782   06/05/23 31500 23598 3 06/06/01  4537  3798   06/05/30 31660 25577 4 06/06/02  4537  3852   06/06/06 31759 27043 5 06/06/03  4537  4105   06/06/13 32511 35776 6 06/06/04  4537  3902 7 06/06/05  4537  3721 8 06/06/06  4537  3883 9 E2: =SUMIF($A:$A,"<="&$E2,B:B)-SUMIF($A:$A,"<="&($E2-7),B:B)

elimi55
質問者

お礼

ご回答ありがとうございました。皆さんのご回答をいろいろ試してみましたが、どれも二行目以降へのコピー(7日ごとの)がうまくいきません。ご返事が遅くなり申し訳ありませんでした。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#01さんも回答されているSUMPRODUCT関数がよいと思います a列~c列が毎日のデータ d列は週初めの日、e列は週の終わりの日、f~g列は週計として書きます。各行の先頭の全角数字は行番号を示します ・a--------b---c-----d--------e-----------f------g--- 106/05/31 4537 3782 06/05/31 06/06/06 206/06/01 4537 3798 06/06/07 06/06/13 306/06/02 4537 3852 406/06/03 4537 4105 506/06/04 4537 3902 606/06/05 4537 3721 706/06/06 4537 3883 f1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($c$1:$c$7)) g1には =SUMPRODUCT(($a$1:$a$7>=$d1)*($a$1:$a$7<=$e1),($d$1:$d$7)) で週計を求めることができます。f1,g1を二行目以降にコピーすればよいです。 コピーするときに検索範囲がずれないよう絶対参照($付き)を使用します。上の式で$d1、$e1だけは数字に$がつかないので注意してください。

elimi55
質問者

お礼

ご回答ありがとうございました。皆さんのご回答をいろいろ試してみましたが、どれも二行目以降へのコピー(7日ごとの)がうまくいきません。ご返事が遅くなり申し訳ありませんでした。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

A列A1:A17に2006/6/1-2006/6/17の日付を(シリアル値=値は整数) B1:B17に1-17の値を仮に入れたデータを作る。 =SUM(IF((A1:A20>=DATEVALUE("2006/6/1"))*(A1:A20<=DATEVALUE("2006/6/3")),B1:B20,0)) と入れてSHIFT+CTRL+ENTERを同時に押す(配列数式)で6 1-10日は =SUM(IF((A1:A20>=DATEVALUE("2006/6/4"))*(A1:A20<=DATEVALUE("2006/6/10")),B1:B20,0)) と入れてSHIFT+CTRL+ENTERを同時に押す(配列数式)で49 11-17日は =SUM(IF((A1:A20>=DATEVALUE("2006/6/11"))*(A1:A20<=DATEVALUE("2006/6/17")),B1:B20,0)) と入れてSHIFT+CTRL+ENTERを同時に押す(配列数式)で98 以下略。 日付を具体的に指定するつもりなら、上記でできると思うが、質問の意図は さらにどういう注文をつけるのかな。その辺が質問として明確で無いと思う。 エクセルはロータスの関数 http://homepage1.nifty.com/tabotabo/123/lotus2001main.htm エクセル側で互換性を採ったのでまず大丈夫でしょう。しかし個々に チェックは必要。 配列数式についてはロータスのアイデアくさいが、あるかどうか不知。

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

Excelでは、ピボットテーブルを使います。 「データ」-「ピボットテーブル~」を開きます。 そのまま「完了」ボタンを押して、 「日付」を「行のフィールド」に、集計したい項目を「データ~」にドラッグします。 日付を右クリックして、「グループとアウトラインの設定」-「グループ化」で 「単位」を「日」にします。(「日」だけを選択します) 「日数」を「7」にします。 月曜日からの一週間にするのでしたら「開始日」を月曜日の日付にします。 集計したいデータを右クリックして、「フィールドの設定」で集計の方法を選択できます。「合計」や「データの個数」などで集計できます。

elimi55
質問者

お礼

ご回答ありがとうございました。皆さんのご回答をいろいろ試してみましたが、どれも二行目以降へのコピー(7日ごとの)がうまくいきません。ご返事が遅くなり申し訳ありませんでした。またピボットテーブルは使ったことがなく試してみましたが初心者のためうまく使えませんでした

elimi55
質問者

補足

私の問い合わせがまずかったようです 06/05/31 4537 3782 06/06/01 4537 3798 06/06/02 4537 3852 06/06/03 4537 4105 06/06/04 4537 3902 06/06/05 4537 3721 06/06/06 4537 3883 上記のような毎日の入力データを下記のような一週間ごとの表に自動で転記したいです、06/06/06のところには5/31から6/6までの合計の31759と27043が入力されるようにです。現在は同じデータ別の表にもを三回入力しているので自動化したいのですが、よろしくお願いします 06/05/23 31500 23598 06/05/30 31660 25577 06/06/06 31759 27043 06/06/13 32511 35776

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

条件が日付だけなら 件数=COUNTIF(日付の範囲,"<="&週の最後の日)-COUNTIF("<"&週の初めの日) 集計=SUMIF(日付の範囲,"<="&週の最後の日,数値の範囲)-SUMIF("<"&週の初めの日,数値の範囲) 条件が複数なら 件数=SUMPRODUCT((日付の範囲>=週の始めの日付)*(日付の範囲<=最後の日付)*(条件1の範囲=条件)....) 集計=SUMPRODUCT((日付の範囲>=週の始めの日付)*(日付の範囲<=最後の日付)*(条件1の範囲=条件)....*(数値の範囲)) >またロータス123でも同じようにできますか。 できるとは思いますが、使ってたのがかなり前なので数式(関数)が同じでいいのかは分りません。

elimi55
質問者

お礼

ご回答ありがとうございました。皆さんのご回答をいろいろ試してみましたが、どれも二行目以降へのコピー(7日ごとの)がうまくいきません。ご返事が遅くなり申し訳ありませんでした。

関連するQ&A