『当番表』(ゆぅ)
土日と会社指定の休日以外の月曜と金曜にのみ
当番表を作成したい。
4人をローテーションに出勤日の毎週月曜日と金曜日に
自動でふりわけるには どうしたら良いか教えてください。
5/1
5/2
5/3 休
5/4 休
5/5 休
5/6 休
5/7
5/8
5/9
5/10 休
5/11 休
5/12 Aさん Bさん
5/13
5/14
5/15
5/16 Aさん Bさん
5/17 休
5/18 休
5/19 cさん Dさん
5/20
5/21
5/22
5/23 cさん Dさん
5/24 休
5/25 休
5/26 Aさん Bさん
5/27
5/28
5/29
5/30 Aさん Bさん
5/31
よろしくお願いします。
< 使用 Excel:Excel2021、使用 OS:Windows11 >
5/2(金)とか 5/9(金)とかはどうなるの? 出勤日なのでしょ。
振り分けるルールが良く分からない。 ・AさんとBさんコンビが2日間、CさんとDさんコンビが2日間でローテーションってことなら、 5/2(金)と 5/9(金)は、CさんとDさんコンビってこと? ・週番ってことなら、5/2(金)は AさんとBさんコンビ、5/9(金)は CさんとDさんコンビ? (ん?) 2025/05/01(木) 11:58:24
申し訳ありませんでした。
よろしくお願いします。
(ゆぅ) 2025/05/01(木) 13:26:42
他の部分の返答がないですね。 ?@A-B C-D のペアは固定なのか? ?A2日間でローテーションなのか?(完全にランダムなのか、回数を均一にしたいのか?) (TKG) 2025/05/01(木) 13:35:33
ABとCDは固定にしないと当番回数に差がでるのかなと思います。
月曜は検針 金曜は測定のような当番ですが
5/2はA・B
5/5が休日なので5/9もA・B
5/12はC・D 5/16 C・D
5/19はA・B 5/23 A・B
といった具合に
A・B 検針・測定 が1回づつ済んだら
C・Dに交代するといった当番表を作成したいです。
よろしくお願いします。
(ゆぅ) 2025/05/01(木) 13:58:44
週番という訳ではなく、AさんとBさんコンビが2日間、CさんとDさんコンビが2日間で ローテーション(2日当番したら交代)と理解しました。
日付がA列、「休」マークがB列に入力されていて、C・D列へ当番の2名を出力するって 前提での VBA案です。
Sub Sample() Dim i As Long, Last As Long Dim P1 As Long, P2 As Long, N As Long Dim Name As Variant Name = Array("Aさん", "Bさん", "Cさん", "Dさん")
Last = Cells(Rows.Count, "A").End(xlUp).Row Range("C1:D" & Last).ClearContents P1 = 0: P2 = 1: N = 1 For i = 1 To Last If Weekday(Cells(i, "A")) = 2 Or Weekday(Cells(i, "A")) = 6 Then If Cells(i, "B") <> "休" Then Cells(i, "C") = Name(P1): Cells(i, "D") = Name(P2) N = N + 1 If 2 < N Then P1 = P1 + 2: P2 = P2 + 2 If P1 > UBound(Name) Then P1 = P1 - UBound(Name) - 1 If P2 > UBound(Name) Then P2 = P2 - UBound(Name) - 1 N = 1 End If End If End If Next i End Sub (ん?) 2025/05/01(木) 14:34:11
勉強不足で自動マクロしか使っておりません。
作って頂いたVBA案も 一致しないとエラーが出てしまい 修正箇所もわからずじまいです。
エクセルで作成できないでしょうか?
よろしくお願いします。
(ゆぅ) 2025/05/01(木) 15:09:12
ん?さんのコードをこちらで検証結果、
エラーは無く
あなたが、希望する以下のよう出力が記載されます。
5/2はA・B
5/5が休日なので5/9もA・B
5/12はC・D 5/16 C・D
5/19はA・B 5/23 A・B
といった具合に
’------------------------------------------
(少なくともVBA試した結果で
どこでエラーが出たのかはっきりさせる必要は有ると思います。)
(ROM) 2025/05/01(木) 15:35:05
再度 新しいシートでためしたところ
教えて頂いたようにできました。
6月と日付を変えても 上手くいきました。
ありがとうございました
大変失礼いたしました。
(ゆぅ) 2025/05/01(木) 15:54:21
ゆぅさん、上手くいって良かったです。
もし、当番者が増えるようであれば、配列に "Eさん", "Fさん" を追加して下さい。
(ん?) 2025/05/01(木) 16:10:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.