[[20140416230803]] 『日数の計算について』(かかろん) ページの最後に飛ぶ

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

 

『日数の計算について』(かかろん)

給食実数の計算について

【出勤シフト】
Aさん出勤日  月 火 水 木 金
Bさん出勤日       水      
Cさん出勤日  月      木   
Dさん出勤日     火 水      

といった、各人の出勤形態が違う100名程の給食実数を管理しています。
基本土日は休みですが行事等で出勤日であっても不要な日もあります。
月によって出勤形態の変更もあるので、
カレンダー表示で各日の給食実数がでる方法はないでしょうか
例)
【カレンダー】
4月  実数 給食  備考
1(火) 2名  あり
2(水) 3名  あり
3(木) 2名  あり
4(金) 1名  あり
5(土) 0名  なし  休み
6(日) 0名  なし  休み
7(月) 2名  あり
8(火) 0名  なし  行事のため給食なし

< 使用 Excel:unknown、使用 OS:unknown >


 元表に日付の情報がないけど、どうすんの?
 給食が必要・不要も元表からどう判断するの?
 
(GobGob) 2014/04/17(木) 08:05

 お聞きしたい内容がうまく表現できておらず、すみません。

 元表というのは【出勤シフト】になるかと思うのですが、
 各人の出勤曜日を入力できる表を作成し、
 それを【カレンダー】にその日は給食が「あり」「なし」を選択で入力すると、
 その曜日の実数が表示されるようにしたいのです。

 よろしくお願いします。

 > 基本土日は休み 
 
「基本」ということは土日が出勤になる場合もあるということですか?
 土日で給食を「あり」にした場合どうなればいいんでしょうか?

 シフト表どおりの出勤にはならない日もあると思いますが
 その場合はどうするか考えておられますか?
  
 
【Sheet1】

	A	B	C	D	E	F	G	H
1		月	火	水	木	金	土	日  ← 見出し行(必須)
2	合計	2	2	3	2	1	0	0   ← 曜日別の合計行
3	Aさん	○	○	○	○	○		
4	Bさん			○				
5	Cさん	○			○			
6	Dさん		○	○				

 入力するのは、○でも曜日でも数字の「1」でも何でもかまいません。

 B2 =COUNTA(B3:B100)  右にオートフィル
 
(追記)「1」にする場合は COUNTA → COUNT にしてください。 

 見出し行は必須です。
 合計行は表の一番下でも可。
 ○とか曜日などを数式で表示している場合は COUNTA は使えません。
 
 
【Sheet2】

	A	B	C
1	4月	実数	給食
2	1(火)	2	あり
3	2(水)	3	あり
4	3(木)	2	あり
5	4(金)	1	あり
6	5(土)	0	なし
7	6(日)	0	なし
8	7(月)	2	あり
9	8(火)	0	なし
 
 
 日付はシリアル値だとして

 B2 =IF(OR(A2="",C2=""),"",IF(C2="なし",0,SUMIF(Sheet1!$B$1:$H$1,TEXT(A2,"aaa"),Sheet1!$B$2:$H$2)))
 
(追記)シフト表の合計行を2行目にする場合は、HLOOKUP でもいいですね。

 B2 =IF(OR(A2="",C2=""),"",IF(C2="なし",0,HLOOKUP(TEXT(A2,"aaa"),Sheet1!$B$1:$H$2,2,FALSE)))

 土日は無条件で実数「0」にする場合
 B2 =IF(OR(A2="",C2=""),"",IF(OR(WEEKDAY(A2,2)>5,C2="なし"),0,SUMIF(Sheet1!$B$1:$F$1,TEXT(A2,"aaa"),Sheet1!$B$2:$F$2)))

 この場合、シフト表の土日は不要です。数式の範囲もB列〜F列にしてください。
 
(追記)シフト表の合計行が2行目で、HLOOKUP なら
 B2 =IF(OR(A2="",C2=""),"",IF(OR(WEEKDAY(A2,2)>5,C2="なし"),0,HLOOKUP(TEXT(A2,"aaa"),Sheet1!$B$1:$F$2,2,FALSE)))
 
(ウルトラマリン) 2014/04/19(土) 15:01 追記17:12

 一応シフト表に合計行を設けない場合です。
(合計行を入れることをお勧めします)
 
【Sheet1】

	A	B	C	D	E	F	G	H
1		月	火	水	木	金	土	日
2	Aさん	○	○	○	○	○		
3	Bさん			○				
4	Cさん	○			○			
5	Dさん		○	○				
 
 
 必ず月〜日の順番にしてください(土日も必ず入れること)
 
 
 【Sheet2】
 B2 =IF(OR(A2="",C2=""),"",IF(C2="なし",0,COUNTA(INDEX(Sheet1!$B$2:$H$100,0,WEEKDAY(A2,2)))))

 土日は無条件で「0」なら(シフト表の土日は不要、数式の範囲もB列〜F列)
 B2 =IF(OR(A2="",C2=""),"",IF(OR(WEEKDAY(A2,2)>5,C2="なし"),0,COUNTA(INDEX(Sheet1!$B$2:$F$100,0,WEEKDAY(A2,2)))))
 
 シフト表の○とか曜日などを数式で表示している場合は COUNTA は使えません。
   
(ウルトラマリン) 2014/04/19(土) 15:30

コメント返信:

[ 一覧(最新更新順) ]


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