- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで当番表を作成したい)
Excelで当番表を作成する方法と問題点
このQ&Aのポイント
- Excelを使用して当番表を作成する際に、特定の月において初日の担当番号が指定した者ではなく次の者から始まってしまう問題が発生しています。この問題は、1月と10月のみで起きるものであり、月の始めが第一日曜日という共通点があることが原因と考えられます。
- 当番表の作成には、平日のみをローテーション化する必要があり、土日祝日は手入力で行っています。また、祝日は別シートで「祝日」という名前で設定し、担当者のメンバー変更は頻繁に起こるため、毎月シート上で変更しています。さらに、条件付き書式を使用して、該当しない日程を非表示にし、入力すべきセルを黄色に表示するようにしています。
- 問題の解決策として、1月と10月において初日担当番号が正しく指定されるように修正する必要があります。また、A5セルの式についても理解する必要があります。なお、1月と10月以外の月では問題なく動作しているため、その部分の修正が優先的に行われるべきです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
・A5=IFS(MONTH(A4)<>$K$1,"",WORKDAY(A4-1,1,祝日)=A4,INDEX(担当者表[氏名],MOD(NETWORKDAYS( $N$3,A4,祝日)+$N$1-2 ,$N$6)+1),TRUE,"") としたらどうでしょう?
その他の回答 (1)
- f272
- ベストアンサー率46% (8499/18196)
回答No.2
NETWORKDAYS($N$3,A4,祝日)で開始日から当日までの稼働日が何日かがわかります。 もし当日が1日であって休日でなければ稼働日は1のはずです。これに+$N$1-2とすることで初日担当番号-1の値が出てきます。これを担当者数$N$6(例えば9)で割った余りを出せば0から8までの数値が得られ+1することで1から9までの数値になります。これがちょうど担当者表の何行目に当たるかという数値になります。
質問者
お礼
御礼が遅くなり申し訳ありませんでした。 補足への回答までとてもとても参考になりました! ありがとうございました。
補足
回答ありがとうございます。 できました…!!!ずっともやもやしていたので嬉しいです。 NETWORKDAYSの開始日指定が間違っていたのですね。 今後の勉強のため、可能であれば、$N$1-$N$5が$N$1-2になると正常に動く理由を教えて頂ければ幸いです…。