プロが教えるわが家の防犯対策術!

エクセルの関数について質問します。
各個人の件数と回数を週ごとに集計し、週ごとにまとめていますが、この関数では期間が累積していくため、集計するたびに、セルの範囲の設定を毎回変更せねばならず苦慮しております。
最良の方法があればご教示下さいますようお願い致します。
罫線が入らないので、下記資料がわかりにくいとは思いますが、よろしくお願い申しあげます。

基礎データ
日付会社名担当回数
10月2日A商店イ1
10月3日B商店ロ2
10月4日C商店ハ1
10月5日D商店イ1
10月6日E商店ロ1
10月7日F商店ハ1
10月8日G商店イ2
10月9日H商店ロ1
10月10日I商店イ1
10月11日J商店ロ2
10月12日K商店ハ1

(集計例)
10/5現在(10/2~10/5)
集計 イ(B18) 件数2 回数2

10/12現在(10/2~10/9)
集計 イ(B24) 件数3 回数4


10/2~10/5のイの件数の関数はCOUNTIF($C$3:$C$6,B18)
10/2~10/5のイの回数の関数はSUMIF($C$3:$C$6,B18,$D$3:$D$6)
10/2~10/9のイの回数の関数はCOUNTIF($C$3:$C$10,B24)
10/2~10/9のイの回数の関数はSUMIF($C$3:$C$10,B18,$D$3:$D$10)

よろしくお願いいたします。

A 回答 (4件)

No.2です。


前回は間違っていました。

やり方は一緒ですが、作業用の列はI列だけの1列にしてください。
前回の配置と同じだとして、I3セルに
=IF(A3="","",IF((A3-A$3)<7,ROW(),ROW(A$3)+7*(INT((A3-A$3)/7))))
という数式を入れフィルハンドルで下へずぃ~~~!っとコピーしておいてください。

そして、F3セルに
=IF(A3="","",COUNTIF(INDIRECT("C$3:C"&I3),F$1))
G3セルに
=IF(A3="","",SUMIF(INDIRECT("C$3:C"&I3),F$1,D$3:D3))
という数式を入れフィルハンドルで下へコピー

これでないと10月12日分がお望みの表示にならないと思います。m(_ _)m
    • good
    • 0

貼付画像のような処理でしょうか?(Excel 2007以降)


D18=COUNTIFS($A$3:$A$6,">="&OFFSET($A$1,ROW()-ROW(A1),0),$A$3:$A$6,"<="&OFFSET($A$1,ROW()-ROW(A1),1),$C$3:$C$6,C18)
E18=SUMIFS($D$3:$D$14,A$3:A$14,">="&OFFSET($A$1,ROW()-ROW(A1),0),A$3:A$14,"<="&OFFSET($A$1,ROW()-ROW(A1),1),C$3:C$14,C18)
D18とE18を下へ2行コピーしました。

D24=COUNTIFS($A$3:$A$6,">="&OFFSET($A$1,ROW()-ROW(A1),0),$A$3:$A$6,"<="&OFFSET($A$1,ROW()-ROW(A1),1),$C$3:$C$6,C24)
E24=SUMIFS($D$3:$D$14,A$3:A$14,">="&OFFSET($A$1,ROW()-ROW(A1),0),A$3:A$14,"<="&OFFSET($A$1,ROW()-ROW(A1),1),C$3:C$14,C24)
D24とE24を下へ2行コピーしました。

集計期間の日付を変更すれば自動的にその期間の集計ができます。
「エクセルの関数についてご教示下さい」の回答画像3
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
わかりにくい質問に実際表まで作成いただきありがとうございました。
tom04さんの回答で解決するようです。
ありがとうございました。

お礼日時:2014/10/09 17:01

こんばんは!


解釈が違っていたらごめんなさい。

最初の日付から1週間ごとの集計を行いたい!とすると
質問文では10月2日が木曜日となりますので、次の週の水曜日までを1週間として
その間の集計を表示したい!というコトでしょうかね?

お示しの配置とは異なりますが、↓の画像のような配置にしてみました。
尚、作業用の列を2列設けています。

まず作業列1のI3セルに
=IF(MOD(A3-A$3,7)=0,A3,"")
作業列2のJ3セルに
=IF(COUNT(I3:I$1000),MAX(I$3:I3),"")
という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。

そしてF3セルに
=IF(A3="","",COUNTIFS(C$3:C3,F$1,J$3:J3,"<>"))
G3セルに
=IF(A3="","",SUMIFS(D$3:D3,C$3:C3,F$1,J$3:J3,"<>"))
という数式を入れF3・G3セルを範囲指定 → G3セルのフィルハンドルで下へコピー!

これでF1セルに
表示したい「担当名」を入力すれば画像のような感じになります。

※ 作業列が目障りであれば非表示にしておきます。
※ 画像ではセルの左上にエラーチェックオプションのマークが出ていますが
これも目障りであれば

メニュー → ファイル → オプション → 数式 → 「バックグラウンドでエラーチェックを行う」
のチェックを外しておきます。m(_ _)m
「エクセルの関数についてご教示下さい」の回答画像2
    • good
    • 0
この回答へのお礼

tom04さん
早速ご回答いただき感謝しております。
わかりにくい質問に、明瞭簡潔な指示ありがとうごさいます。
早速関数を組み込んで利用させていただきます。
ありがとうございました。

お礼日時:2014/10/09 17:20

求めているものが良くわからないので補足願います。



「10/12現在」と言いながら集計期間が10/2~10/9なのはどの様なルールに基づいているのでしょう。あるいは単に10/2~10/12の打ち間違いですか?
週ごとにまとめるなら10/6~10/12の様に思えますが……。

「イ(B18)」や「イ(B24)」のカッコの中は何ですか。セル位置でしょうか。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。
わかりにくくて、申し訳ありません。
tom04さんの回答で解決するようです。
ありがとうございました。

お礼日時:2014/10/09 16:59

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