[[20161213164758]] 『曜日区間ごとの集計について』(ちゃんぷる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『曜日区間ごとの集計について』(ちゃんぷる)

お世話になっております。

一月のカレンダーから日〜土曜日毎の集計ができるかどうか
ご教示お願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 カレンダーのレイアウトや何を集計するかの説明がないので単純な例で。

 A1セルからA31セルに日付、B1セルからB31セルにその日の値が入っているとして。

 =SUMPRODUCT((TEXT(A1:A31,"aaa")="日")*B1:B31)
 =SUMPRODUCT((WEEKDAY(A1:A31)=1)*B1:B31)

 後者はWEEKDAY関数の結果の1から7が日曜から土曜に対応。
(ねむねむ) 2016/12/13(火) 17:03

ねむねむ さん

早速の回答ありがとうございます。

レイアウトなどの詳細について説明不足で申し訳ございません。

曜日ごとの計算方法、ありがとうございます。

もうひとつ、関数を使用した集計方法で悩んでおります。
ネットで探すのですが、やりたいことに該当するものが見つからず困っております。

(表構成)

B1・・・月の開始日入力(2016/12/1)

B2:AF2・・・日付 B2=B1 C2=B1+1・・・AF列まで ※書式設定は「d」として「日にち」のみを表示

B3:AF3・・・曜日 B3=TEXT(B2,"aaa")・・・AF列まで ※書式設定は標準

B4:AF4・・・データ(記号)出 休 遅 ・・・ランダムに入力(空白なし 個数10コ位ある)

(イメージ)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ・・・
木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 ・・・
出 出 遅 出 休 休 出 出 出 出 休 遅 出 休 休 ・・・

上記表から曜日区間毎に「第1週目・第2週目・第3週目・第4週目・第5週目」に分けて集計

・条件:「土〜日」の区間ごとに行毎に「記号」を集計

手計算すると

・第1週目:出=2 遅=1
・第2週目:出=5 休=2
・第3週目:出=1 遅=1 休=3 ・・・

※以下同様に計算
・第4週目
・第5週目

現在は、予め区間に合わせた計算式を組み込んだ1年分のシートを作成しているのですが結構大変です。

関数で各区間ごとに判断させて算出させることが可能かどうかも分からない状況ですが、皆さまよろしくおねがいします。

(ちゃんぷる) 2016/12/13(火) 18:47


すみません 追記です

年間1回ですが第6週目の月がありました。
(ちゃんぷる) 2016/12/13(火) 19:30


 どこかの行に「その日は何週目か」を表示させておいたらどうですか。

 例えば5行目
 B5 =IF(B2="","",WEEKNUM(B2)-WEEKNUM($B$2)+1)  AF5までコピー
 
 ■集計表

	A	B	C	D	E	F	G
11		1	2	3	4	5	6  ← 週
12	出	2	5	1			
13	遅	1	0	1			
14	休	0	2	3			

 B11:G11に「1〜6」を入力し、表示形式〜ユーザー定義 0"週目"

 B12 =COUNTIFS($B$4:$AF$4,$A12,$B$5:$AF$5,B$11)

 右・下コピー

 ところで、小の月のAF列はどうなってるんですかね?
(笑) 2016/12/13(火) 19:58

笑さん

回答ありがとうございます。
誠に申し訳ございません。

当方であれからイロイロ調べた結果の途中経過をご報告します

ネットで、区間ごとの集計について調べがつきました。

ただ、現状では数値のみの計算方法です

※集計月は10月にしております→第6週まであるため

D1・・・月の開始日入力(2016/10/1)

D2:AH2・・・日付 D2=D1 E2=D1+1・・・AH列まで ※書式設定は「d」として「日にち」のみを表示
D2:AH2・・・曜日 D3=TEXT(D2,"aaa")・・・AH列まで ※書式設定は標準

D4:AH4・・・

データ(記号)出 休 遅 ・・・ランダムに入力(空白なし 個数10コ位ある)
 ↓
上記をテストデータとして「数値」を入力して試しました。

第1周目に→AH4=SUMPRODUCT(ISNUMBER(0/(WEEKNUM($D$2)+COLUMN(C1)-1=WEEKNUM(OFFSET($D$2,,COLUMN($A:$AE)-1))))*$D4:$AH4)

※最初にA列から始まっていたのをD列始まりにしております。これは上記数式$A:$AEの部分で2月の28、29日に対応させるためです。

第2周目〜6週目まではオートフィルコピー

これで、曜日に係わらず週単位毎の集計結果を得ることが出来ました(但し数値)

(新たな課題です)

これを特定の「記号」の個数を拾って集計する方法について作業中です

D4:AH4に入力してある記号「出」と「遅」の個数を求める

どなたかアドバイスの程よろしくおねがいします。
(ちゃんぷる) 2016/12/13(火) 20:13


連投すみません。

記号の個数を求める方法はわかったのですが、かなり長くなりました。
これを短くする方法がありましたらよろしくお願いいたします。

=SUMPRODUCT(ISNUMBER(0/(WEEKNUM($D$2)+COLUMN(A2)-1=WEEKNUM(OFFSET($D$2,,COLUMN($A$2:$AE$7)-1))))*($D7:$AH7="出"))+SUMPRODUCT(ISNUMBER(0/(WEEKNUM($D$2)+COLUMN(A2)-1=WEEKNUM(OFFSET($D$2,,COLUMN($A$2:$AE$7)-1))))*($D7:$AH7="遅"))
(ちゃんぷる) 2016/12/13(火) 21:23


笑さんのアドバイスを元に試してみました。

作業セルをもうけて、下記数式で個数を求めることができました。
こちらのほうが数式が短くて良かったです。

=COUNTIFS($D$1:$AH$1,WEEKNUM($D$2),$D7:$AH7,"出")

複数の記号をカウントさせようと下記のように試してみましたが「出」しか認識しませんでした。

=COUNTIFS($D$1:$AH$1,WEEKNUM($D$2),$D7:$AH7,{"出","遅"})
(ちゃんぷる) 2016/12/13(火) 22:06


すみません、自己解決しました。

=SUM(COUNTIFS($D$1:$AH$1,WEEKNUM($D$2),$D7:$AH7,{"出","遅"}))

皆さまご迷惑をおかけしてすみませんでした。
笑さんのアドバイスのお陰で、シンプルなコードで作ることが出来感謝です。
(ちゃんぷる) 2016/12/13(火) 22:17


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.