プロが教えるわが家の防犯対策術!

Excelで年間の当番表を作成したいです。

教えて頂きたい事については
平日、祝日の当番を表示する関数です。

A列に記載のある6人(Aさん~Fさん)で当番をやる事とし、
C列には該当する曜日か、別で作成してある祝日リストに記載があれば「祝」と表示される様にしています。

D列には平日(月曜~土曜)の当番、
E列には祝日の当番を表示させたいです。
(日曜日は祝日でも基本的に当番はいないもの としたいです)

平日の当番の順番は
Aさんから開始、Fさんまで一巡をしたら
次はBさんから開始し、Aさんは一番後ろに、
その次はCさんから開始、Bさんは一番後ろにといった流れにしたいです。
A→B→C→D→E→F、
B→C→D→E→F→A、
C→D→E→F→A→B、
D→... と言ったイメージです。

祝日については平日と2日連続になろうがA~Fの6人で順番に回していく事としたいです。

OSはWindows10
Excelは2010 です。

よろしくお願いいたします。

「当番表の作成について」の質問画像

質問者からの補足コメント

  • ご回答いただきありがとうございます。

    早速試させて頂いたのですが
    1巡目から順番がA→B→C→→E→F とDさんが抜けてしまっている様です。

    どうしてでしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/12/26 12:11

A 回答 (3件)

こんばんは



ご提示の図のD8セルは日曜日なのに当番が割り振られているのは
>日曜日は祝日でも基本的に当番はいないもの としたいです
に矛盾しているので、(多分)間違えと解釈しました。
ですので、F8以降の当番表は変わるものと解釈。

曜日が日曜日の場合にもC列は祝日表示されるのかどうかが不明なので、式が少し長くはなりますが・・
D2セルに
=IF(OR(WEEKDAY(B2)=1,C2="祝"),"",INDEX(A$5:A$10,MOD(MOD(COUNTIFS(C$2:C2,"<>祝",C$2:C2,"<>日")-1,6)+INT((COUNTIFS(C$2:C2,"<>祝",C$2:C2,"<>日")-1)/6),6)+1))

E2セルに
=IF(OR(WEEKDAY(B2)=1,C2<>"祝"),"",INDEX(A$5:A$10,MOD(COUNTIF(C$2:C2,"祝")-1,6)+1))

を入力し、D2:E2を下方にフィルコピーで表示できると思います。
(上記の理由で、D8セル以降の表示は、ご提示の図とは異なります)
この回答への補足あり
    • good
    • 0

No2です。



>Dさんが抜けてしまっている様です。
>どうしてでしょうか?
当方の環境(2019ですが、多分同じと思います)では、A、B、C、D、E、F、B、C・・の順になります。
「当番表の作成について」の回答画像3
    • good
    • 0
この回答へのお礼

曜日の表示形式を編集したら順番に表示されました!
ありがとうございます!!

お礼日時:2023/12/27 08:26

これは直接計算しようと思うからややこしいんです。


休みかそうでないかで、それぞれ連番を振るんです。
そしたらその数字を人数で割った余りの番号の方を表示するだけになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A