担当するのは1日一人、人数は6名です(A~Fとします)。
月曜~土曜と祝祭日とでローテーションが変化します。
月~土
AABCDEF,ABBCDEF…ABCDEFF,ABCDEF → 最初に戻る。
祝祭日
EACBEDF
今までは手入力ですべて行ってきましたが、時間がかかることと誤りが多いことで大変不便に感じております。
例えば、1月1日がローテーションのどの場所かを指定すると自動で1年分が入力されるような表は作成可能でしょうか?
完璧な全自動でなくても、1から手入力するより少しでも簡素になれば良いと考えています。
当方、関数やVBAに関する知識はほとんどありませんが、社内に教本等もありますので、ヒントをいただければ悩みながらでもコツコツ作っていきたいです。
皆様のお力を拝借したいです。
よろしくお願いします。
No.10ベストアンサー
- 回答日時:
No9です。
今後のことを考えて、多少修正しました。
ローテーションの組み合わせ変える場合
ro_tbl = Array("AABCDEF", "ABBCDEF", "ABCCDEF", "ABCDDEF", "ABCDEEF", "ABCDEFF", "ABCDEF")
hl_tbl = Array("EACBEDF")
の内容を変えれば、良いようにしました。
今後、人数が増減し、Gさんが追加になり
"AABCDEFG"のようになっても、上記の部分を変えれば、それに対応します。もちろん、人が減って、"AABCDE"になっても対応します。
ro_tblが月~土のローテーション
hl_tblが日曜祝祭日のローテーションです。
ソースはこちらです。
https://ideone.com/aqZbQX
ありがとうございました。
結果的にすべてをお任せする形になり、申し訳ありませんでした。
後学のために仕組みを理解しつつ、状況に応じて中身を変更しながら使用させていただきたいと思います。
本当に助けられました。
No.9
- 回答日時:
シート名:当番表
https://gyazo.com/fd388ccc8bd4219e8fedec690a6479f5 参照シート名:祝日 添付図参照
上記の2つのシートを準備してください。
シート名:祝日には、処理年の対象となる祝日を添付図の例のように記入してください。
(1行目は見出しです。データは2行目からです。行の抜けが無いようにしてください)
シート名:当番表 についてです。(入力個所は黄色のセルです)
D1に処理対象の西暦年を入力します。
K1で月~土の処理パターンを選択します。(リスト形式なのでそこから選択します)
M1で月~土の処理パターンの何番目から開始するかを入力します。
M2で祝祭日の処理パターンの何番目から開始するかを入力します。
緑色のセルはガイドになります。あなたが作成します。
4行目以降は全て、マクロが自動で作成します。
以下のマクロを標準モジュールに登録してください。
------------------------------------------------
文字数オーバーでこちらに投稿できませんでした。
下記URLにアップしています。
https://ideone.com/hQtjdz
No.8
- 回答日時:
補足要求です。
1.日曜日は当番なしで間違いないでしょうか。
2.月~土のローテーションですが、
「AABCDEF,ABBCDEF…ABCDEFF,ABCDEF」の最後のABCDEFの気になります。
①AABCDEF
②ABBCDEF
③ABCCDEF
④ABCDDEF
⑤ABCDEEF
⑥ABCDEFF
⑦ABCDEF
のように⑦のパターンもあり、①~⑦を繰り返すということで、間違いないでしょうか。
3.祝日があった場合の当番の確認です。
AABCDEFのパターンなら
月:A
火:A
水:B
木:C
金:D
土:E
ですが、もし、水曜日が祝日なら、
祝日パターン:EACBEDFの1番目から割り当てることになっていれば、
水曜日はEが割り当てられ、Bさんは木曜日にずれることになりますか。
つまり、
月:A
火:A
水:E(祝日)
木:B
金:C
土:D
であってますか。
4.上記3で間違いないとすると、同じ人が最大3日間続くことがありますが、
それでよろしいでしょうか。
5.「1月1日がローテーションのどの場所かを指定する」ということですが、
指定する項目は、以下でよろしいでしょうか。
1)月~土の場合、どのローテーションから開始するか。
(項番2の①~⑦のどれから開始するか)
2)上記で決まったローテーションの何番目に人から開始するか。
例として、②ABBCDEFから開始する場合、
1番目から開始ならA
2番目から開始ならB
3番目から開始ならB
4番目から開始ならC
・・・・
7番目から開始ならF
になります。
3)祝祭日(EACBEDF)の何番目から開始するか。
1番目から開始ならE
・・・・
7番目から開始ならF
になります。
6.年間の当番表のレイアウトは、下記URLのような内容でよろしいでしょうか。
https://gyazo.com/fd388ccc8bd4219e8fedec690a6479f5
このサイトでは画像が小さくなってしまい、見えにくくなってしまうので、他にアップしました。
上記で良ければマクロの提供は可能です。
丁寧に書いていただいてありがとうございます。
1.日曜祝祭日の誤りでした。大変申し訳ありません。
2.①~⑦の繰り返しで間違いありません。私も気になっていますがそういう方針だそうです。
3.あっています。
4.3日連続することがあります。
5.そのように出来たら一番良いと考えています。
6.素晴らしいです。本当にありがたいです。
No.7
- 回答日時:
「ルールがきちんとできていれば」
たぶん、ルールはそれほど明確にはなっていなくて、
だいたい、A⇒B⇒C⇒D⇒E⇒F⇒(Aに戻って)
何か都合がつかない、体調不調など場合は臨機応変に交替して、
でも、全員がほぼ均等に夜勤の電話当番を、
それでも、祝祭日、年末年始、お盆、日曜などは、都合が悪い人もいる、休日当番が多くなってもいいというEがいるけれど、一切休日当番はしない人が出るのはまずい。 全員均等ではなく、ちょっと偏った当番回数での設定にしたい。 休日当番表を先に作って、あとを、全員が順番に当番をする仕組みにしたい。 でも、全員で6名だと、月~土で6日だから、毎週の曜日当番が回ることになりかねない。それだと、不公平に感じる人もいるから、今週火曜が当番の人は、来週は火曜ではないように工夫したい、、、
というようなことではないかと思います。
しかし、(祝祭休日のローテーション)と(月~土のローテーション)を別個に検討すると、四連休があって、[EACB"EDFE"ACBEDF]の"EDFE"が四連休の填まって、四連休の前後の日に、(月~土のローテーション)でたまたまEが当番になると、5日間で3日がEの当番という計画表ができてしまいます。
実際には臨機応変に当番を入れ替えれば済むのでしょうが、ルールそのものを、別のものに変えた方が良さそうな気がします。
(祝祭休日のローテーション)を最初に決めて、(月~土のローテーション)は、その前の当番状況で、当番が短期間に続くことがなく、まあ、だいたい、全員がほぼ似た日数が当番で、曜日の偏りもあまり起きないようにという、状況次第の方式なら、それで構わない、というような、比較的、いい加減な方式でいいと言うことにされてはどうなのでしょう。
1年間だと、メンバーにもいろいろ事情ができたり、人数も変わるでしょうから、(なるべく均等に不公平無く分けたいという考え)であっても、「来週からは、AABBBCDDEEEFFの当番比率になるように、計画を修正」というような対応もできるように考えてはどうでしょうか。
> 悩みながらでもコツコツ作っていきたいです。
とは言っても、ルールが単純ではなくなれば、それほど簡単には作れません。
Excelを使う時、1年365日を、ひたすら1列の中で、上から下に並べ(A列)、B列に曜日や祝祭日を並べ、祝祭日や日曜に、C列に暫定で当番を割り当て、D列~I列に各人のその日付までの累計当番回数を入れる式をいれてはどうでしょう。この時点では平日の当番が未記入ですから、祝祭休日の当番数しか表示されませんが、平日の当番を入れていく都度、当番数が変わります。
また、J列~O列に、各人のその行から6行(何行でも良いけれど)上までの当番日数を計算する式を入れます。 この値を参照すれば、各人の当番期待比率(まあ、1/6づつでも、Cさんは少なく・Eさんは多いでも、期待する割)と比べて、次の当番候補を選ぶ式が出せます。順位が同じ人が3人いる場合は、この人という第2条件か第3条件も決めておけばいいです。
これらの式を、P列より右を使って出せるようにしておきます。
前週の同じ曜日に当番だった人は選ばないという条件は、各人の当番期待比率から人を選ぶ候補から、前週の同じ曜日に当番だった人は外すというルールを作ればなんとかなります。
もしも、VBAが使えるのであれば、別に実績表を作って、実績を計画に移し、そのとき、3週間先までの計画は以前のママ固定し、4週間よりも先の計画だけが式で再再計算されるというような対応もできそうです。
実際にやっていないので、この方式でできるか、保証はできませんが、単純な数式で計画表を作るのではなくて、積み上げで、次々と日毎の計画が、1年先、2年先まで作れそうな気がします。
ご回答ありがとうございます。
最初の文については全くその通りです。
ルールについては色々工夫した上で3年前に今の形になりました。
これからも少しずつ改良していく予定です。
>比較的、いい加減な方式でいいと言うことにされてはどうなのでしょう。
このローテーションは手入力で表を作成する際に考える手間を省くために作られたもので、そこまで厳格なものではありません。
実際、社員どうして相談をして順番を交代することも多いのです。
色々な発想を書いて下さってありがとうございます。
私には思いつかないことで、非常に勉強になります。
No.6
- 回答日時:
こんにちは
No1様がおっしゃっているように、ルールがきちんとできていれば、それをコード化すれば自動化は可能です。
一方で、いろいろな方から回答よりも質問ばかりが出ているのは、質問者様の記したルールの説明が十分ではないからです。
とは言え、説明をしていないだけで、ルールはちゃんと定まっているものと想像しますので、(多分)自動化できるのではないかと推測します。
>悩みながらでもコツコツ作っていきたいです。
とのことですので、仮に、ルールに不十分なところがあったとしても、都度きちんと整理してゆけば宜しいでしょう。
まずは、日付の計算に慣れる意味からも、
・「年を指定したら、1年分のカレンダーを作成する」
といったものでも作成してみてはいかがでしょうか?
それができたら、
・カレンダーに曜日や祝祭日も表示する。
・ルールに従って、n番目の当番記号(A~F)を返す関数を作成する。
・上記に祝祭日判定も含める。
・・・・・
この辺りまでできるようになれば、完成はかなり近いものと想像します。
※途中で行き詰まったら、また、ご質問なされば宜しいでしょう。
その際には、できるだけ必要充分な情報で簡潔に質問なさるのがコツかと思います
ご回答ありがとうございます。
説明不足でした。皆様が親身になって下さって本当に感謝しております。
・年を指定したら、1年分のカレンダーを作成する
・カレンダーに曜日や祝祭日も表示する
ここのあたりは出来そうですので、まずは挑戦します。
1年ありますので、また疑問が出た際にはこちらで相談をさせていただきたいと思います。
No.5
- 回答日時:
平日のパターンは6週で繰り返すものであることは理解できますが、
祝祭日のパターンが入ると6週での繰り返しになるのでしょうか?
今年の場合だと、1月と2月にそれぞれ2回祝祭日があります。
曜日も違うので、祝祭日のパターンが入った場合には週3回勤務が
ある場合も起きうるということでしょうか?
それと、祝祭日のパターンにEACBEDFとEが2回ある理由は何?
日曜日は当番がないということで問題ないのですよね?
ご回答ありがとうございます。
平日は7周で繰り返すようになっています。
日曜が抜けていました。日曜祝祭日がEACBEDFのローテーションです。申し訳ありません。
3日連続することもあります。
Eが2回ある理由はE本人の希望によります。
今後1回になることもありえます。
よろしくお願いいたします。
No.4
- 回答日時:
すみません。
ローテーションが、よくわかりません。月~土がAABCDEFの場合
月A
火A
水B
木C
金D
土E
なのでFが余ってしまうように思えます。
具体的に今年の1月分の例を添付図の画像のようにしてアップしていただけませんでしょうか。黄色の部分があなたが記入すべき個所です。
画像の切り取りはアクセサリのsnipping toolを使うと簡単にできます。
この画像もsnipping toolを使っています。
No.2
- 回答日時:
Aさんから見たら結局月曜日は何時から何時まで出ればいいのか
わかりにくいから
Aさん
月は●時〜●時まで
火は●時〜●時まで
Bさん
月は●時〜●時まで
火は●時〜●時まで
みたいに、人ごとにしてあげた方が
働く側としては助かるよ
No.1
- 回答日時:
>>例えば、1月1日がローテーションのどの場所かを指定すると自動で1年分が入力されるような表は作成可能でしょうか?
ヒント:
どういう手順、ルールで当番割り当てをするか?が明確になっていれば、それに従ってプログラムを作れば可能。
頑張ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 当番表の作成 2 2022/06/15 07:40
- Excel(エクセル) エクセルで当番表を作成したいです。 1 2023/08/09 19:53
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Excel(エクセル) エクセルで不可日と祝祭日の考慮してランダムに毎日の当番表を作成したいと思っています。 1 2023/07/12 21:14
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) 年間仕事用シフトカレンダーに、日勤 夜勤 休み に色分けをした。 4 2022/12/09 04:12
- Excel(エクセル) エクセル 全自動シフト表の祝日シフト表示を消すには? 3 2022/04/23 16:43
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
Excelで当番表の作成(休み考慮、完全ランダム)
Excel(エクセル)
-
エクセル 当番表の作り方 エクセルで土日祝日を除いた、平日のみの当番表を作りたいです。 カレンダーま
Excel(エクセル)
-
エクセルで作成したカレンダーに「当番の名前」を自動的に入力する方法をお
その他(Microsoft Office)
-
-
4
エクセルで当番表を作成したいです。
Excel(エクセル)
-
5
Excelにて年間の当番表作成したい
Excel(エクセル)
-
6
当番表を作りたい
Excel(エクセル)
-
7
従業員増減対応で当番種類の増減対応な当番表
その他(Microsoft Office)
-
8
エクセルで不可日と祝祭日の考慮してランダムに毎日の当番表を作成したいと思っています。
Excel(エクセル)
-
9
エクセル 年間の当番表 ローテーションに振り分ける方法がわかりません。
Excel(エクセル)
-
10
仕事のシフトを組むときに、シフトが同じになる回数を均等にしたいんですが
Excel(エクセル)
-
11
C列にF列の担当者(A〜)を順番に入れて、当番表を作りたいです。 C列にいれる数式を教えてください。
Excel(エクセル)
-
12
人員ペア一覧表を作成したいです。
Excel(エクセル)
-
13
エクセルでシフトをランダムで作るにはどうしたらいいでしょう
固定IP
-
14
エクセルの当番表を作っていますが教えてください
Excel(エクセル)
-
15
Excel 数式を入れているため、当番が繰り返し循環しない
Excel(エクセル)
-
16
当番表の作成(休み考慮あり、ランダム)
その他(コンピューター・テクノロジー)
-
17
マクロで当番表
その他(プログラミング・Web制作)
-
18
VLOOKUP関数を使い掃除当番表を作る
その他(Microsoft Office)
-
19
掃除当番表の作り方でいい方法がないでしょうか。
その他(ソフトウェア)
-
20
エクセル関数で1〜12の数字がループするMOD関数はできたのですが、7.8.9.10.11.12.7
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件付き書式に設定する関数を...
-
ieを使わずにサーバーとのやり...
-
Excelの警告について
-
エクセルVBA 同じ品名を色分けする
-
Excelの数式について教えてくだ...
-
【マクロ】文字列の一部を削除...
-
エクセルでVLOOKUPの入ったセル...
-
エクセルのデータ整理の方法
-
パソコン教室ってExcelとかどこ...
-
excelVBAについて。
-
excelVBAについて。
-
各種ファイルの比較をしたい
-
excelvbaでcsvファイルをセルに...
-
エクセル この場合、値の抽出で...
-
excelVBAについて。
-
セル内が空白設定なのに#N/Aと...
-
IEを使わずHTMLを取得する
-
エクセルのデータについて
-
excelVBAについて。
-
エクセルの不調について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報
ご回答ありがとうございます。
説明不足でしたので補足させていただきます。
同じ社員が2日連続で当番になる理由は、6人で6日間をローテーションさせることで、例えばAが毎週月曜日に固定されてしまうといったことを避けるためです。
ですので、月~土がAABCDEFの場合は、Fが次の週の月曜日に当番になる形になります。
すなわち、次の月∼土はFABBCDという形にしたいのです。
ご回答ありがとうございます。
本件とはあまり関係がありませんが、少しだけ補足させていただきます。
当番というのは日勤のシフトのことではありません。
わが社は終業後から次の日の始業までの時間の電話対応を6人が交代で行っています。
なので何時から何時といったことは考えず、なるべく均等に不公平無く分けたいという考えから上記のローテーションになりました。
よろしくお願いいたします。