[[20080620080526]] 『勤怠表について』(プー) ページの最後に飛ぶ

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

 

 『勤怠表について』(プー)
勤怠表についてマクロで出来ないでしょうか、ただし幾つかの条件があります。
1. 平日  1→5人 2→3人 3→3人
2. 土日祭 1→2人 2→2人 3→3人
3. 全員で16人います、16人をある程度グループ分けしたシフト勤務したいのですが。
4. 空白のところは休みで平日は5人、土曜、日曜、祭日は9人が休めます。
5. 3が来たら少なくても2・3日休んで1に移りたい。
6. 週4勤と5勤、若しくは6勤(完全でなくても良い)の2パターン位できると良い。
7. 1月ごとに作るが先月のパターン(年間平均)を考慮した勤務体制にしたい。

 例
 今年の6月分(半月)の一例です。
名前 123456789101112131415
   日月火水木金土日月火水木金土日
A      1 1 2 3     1 2 2 3     1 1 
B        1 2 2 3       1 1 2 3
C   1 1 2 3         1 1 2 3
D     1 2 3 3       ・・・・・
E        2 3   1 1 2 3 ・・・・・
F          1 2 2 3   1 ・・・・・
G          1 1 2 3    ・・・・・
H      2 3     1 1 2 3  ・・・・・
I      2 3     1 1 2 3  ・・・・・
J      3 3     1 1 2   ・・・・・
K      3     1 1 2  3  ・・・・・
L      3     1 1 2   3 ・・・・・
M          1 1 2 3     1 ・・・・・
N          1 1 2 2   1 2 ・・・・・
O        1 1 2 3       1  ・・・・・
P        1 2 3     1 2 3  ・・・・・

・・・のところは省略しました,

のようなパターンなのですがよろしくお願いいたします。


 ロジックはどこまで出来ていますか?
 マクロはどの程度できますか?
 まったく出来ないのでしたら、たとえここで提示があっても
 その後のメンテナンスが出来ないと思いますので、一般機能
 で行うことをお勧めします。
 ある程度マクロが出来ているのなら、作りかけでいいので
 提示してみてください。
 (SUS304)

申し訳ありませんマクロはわかりません、ありがとうございました。
(プー)

 ↓でみやほりんさんが書いて居られますが
[[20070821113010]]『均等に順番に』(絶対合格!!)
 この様に柔軟な対応が必要な物には
 人の頭に勝る物は無いと思います。

 ただし、数を数えたり アラートさせたりするような
 入力支援的な物なら エクセルでもやってくれると思います。

 例えば、
  1.ある一日を考えた時に1が規定の人数と違う のアラート
  2.「3」が有ったらその後2日間は休ませたい のアラート
 等です。

 例えば配置が↓の様な時(1行目は表示形式で「d」が設定して有る事)
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]
[1]	名前 	1	2	3	4	5	6	7
[2]	   	日	月	火	水	木	金	土
[3]	A  		1	1	2	3	 ☆	 ☆
[4]	B		1	2	2	3	 ☆	 ☆
[5]	C  	1	1	2	3	 ☆	 ☆	
[6]	D 	1	2	3	3 ☆	 ☆	 ☆	 
[7]	E		2	3	 ☆	 ☆	1	1
[8]	F			1	2	2	3	 ☆
[9]	G			1	1	2	3	 ☆
[10]	H	2	3	 ☆	 ☆	1	1	2
[11]	I	2	3	 ☆	 ☆	1	1	2
[12]	J	3	3 ☆	 ☆		1	1	2
[13]	K	3	 ☆	 ☆	1	1	2	 
[14]	L	3	 ☆	 ☆	1	1	2	 
[15]	M			1	1	2	3	 ☆
[16]	N			1	1	2	2	
[17]	O		1	1	2	3	 ☆	 ☆
[18]	P		1	2	3	 ☆	 ☆	1
[19]	1の数	2 ●	 □	6 ◆	 □	 □	4 ◆	 □
 19行目	に、本来	有る値→	5		5	5		2

 【1番目】は、19行目に作成します。
 B19に
=COUNTIF(B3:B18,1)
 B19を選択した状態で
  メニュー・書式(O) → 条件付き書式(D) と進み
 条件1 数式が =(IF(WEEKDAY(B$1,2)<6,5,2)-B19)=0 文字色 白 (□)
 条件2 数式が =(IF(WEEKDAY(B$1,2)<6,5,2)-B19)<0 セル色 赤 (●)
 条件3 数式が =(IF(WEEKDAY(B$1,2)<6,5,2)-B19)>0 セル色 黄 (◆)
  ↑を設定したら、今月最後の列までフィルドラッグです。

 各セルには、同じ列の「1」の出てくる回数が表示されるのですが
 規定の数と一致した場合は、文字色が白になって回数は見えなくなります。(□のセル)
 規定の数より多い場合は、背景色が赤く成ります。(●のセル)
 規定の数より少ない場合は、背景色が黄色く成ります。(◆のセル)

 【2番目】は、やはり条件付き書式を設定します。
 C3セルを選択した状態で
  メニュー・書式(O) → 条件付き書式(D) と進み
 条件1 数式が =COUNTIF(A3:B3,3) セル色 青 (☆)
  ↑を設定したら、必要範囲に書式コピーをして下さい。

 「3」が出た後の2つのセルの色が青色に成ります。(☆のセル)

 シフト表を作るのは大変だとは思いますが
 頑張ってください。

 (HANA)

 ・・・・あれ?
 B19のセル色が「赤」に成るのはおかしいですね・・・。
 単なる転記ミスかもしれませんが
 数式が違っているかもしれません・・・。

 実際にお使いの際で、結果が違うようであれば
 変更してみて下さい。

 (HANA)

HANAさんありがとうございます、試してみます、良い結果が得られますよう。(プー)

 HANAさん、ありがとうございます、試してみましたが、やはりシフト勤務作りは難しいです、
 HANAさんの助言でよい結果が生まれそうです、ありがとうございました。(プー)

コメント返信:

[ 一覧(最新更新順) ]


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