当番表の作り方|エクセルでローテーションを組む方法から自動作成まで
会社の掃除当番表、夫婦間での家事の分担表、自治会/町内会のゴミ当番表等、当番表を作成する機会は多いかと思います。 本記事では、エクセルでローテーションを組む方法(関数の具体例つき)と、無料の自動作成ツールを使う方法の両方を解説します。それぞれの手間を比較して、用途に合った作り方を選んでください。
当番表の作り方は大きく3通り
| 手書き・紙 | エクセル | 自動作成ツール | |
|---|---|---|---|
| 作成の手間 | 少ない | 関数の知識が必要 | 少ない |
| 修正の反映 | 書き直して貼り直し | 共有し直し | 全員に即反映 |
| スマホでの確認 | できない | 見づらい | できる |
| リマインド通知 | なし | なし | Slack・メールで自動 |
| 費用 | 無料 | Officeが必要 | 無料 |
数人で短期間だけ回すなら手書きでも十分です。長期間ローテーションを回すならエクセルか自動作成ツールが向いています。順に解説します。
エクセルで当番表を作る方法
基本: INDEX関数とMOD関数で順番に割り当てる
E列(E2:E7)にメンバー6人の名前、A列(A2以降)に日付が入っているとします。B2に以下の式を入力して下にコピーすると、メンバーが順番に繰り返し割り当てられます。
=INDEX($E$2:$E$7, MOD(ROW()-2, COUNTA($E$2:$E$7))+1)
- COUNTA($E$2:$E$7) … メンバーの人数を数えます(この例では6)
- MOD(ROW()-2, 人数) … 行番号を人数で割った余りを出します。0,1,2,…,5,0,1,…と繰り返します
- INDEX(メンバー範囲, 余り+1) … 余りに対応する位置のメンバー名を取り出します
| A列(日付) | B列(担当) | |
|---|---|---|
| 2行目 | 6/15 (月) | 佐藤 |
| 3行目 | 6/16 (火) | 鈴木 |
| 4行目 | 6/17 (水) | 高橋 |
| … | … | … |
| 8行目 | 6/21 (日) | 渡辺 |
| 9行目 | 6/22 (月) | 佐藤 ← 先頭に戻る |
平日のみ(土日を除く)に割り当てる
日付の側を平日だけにすれば、担当の式はそのまま使えます。A2に開始日の前日を基準としたWORKDAY関数を入れて下にコピーすると、土日を飛ばした日付が並びます。
=WORKDAY($B$1-1, ROW()-1) ※B1セルに開始日を入力しておく
ただしWORKDAY関数が除いてくれるのは土日だけで、祝日は別途の対応が必要です(後述)。
週替わりローテーションにする
日付を7日刻みにすれば週替わりになります。場所×週で回す掃除当番表の作り方とテンプレートは掃除当番表のテンプレートと作り方で詳しく解説しています。
そのまま使えるエクセルテンプレート
上記の関数を組み込み済みのテンプレートを配布しています。メンバー名を入力して開始日を書き換えるだけで使えます。
エクセルの当番表で残る3つの問題
関数やテンプレートで作成の手間は減らせますが、運用には3つの問題が残ります。
- 当番忘れは防げない … 当番表は「見てもらえて」初めて機能します。エクセルやスプレッドシートの当番表は、メンバーがちゃんと確認してくれずに当番を忘れてしまうことがよくあります。
- 修正のたびに配り直しが必要 … メンバーの入れ替え等でファイルを修正したら、改めて全員に共有し直す必要があります。古いファイルを見て間違った当番で動いてしまう、ということも起こりがちです。
- 祝日の考慮が難しい … WORKDAY関数で除けるのは土日だけです。日本の祝日も除くには祝日一覧表を自分で用意してWORKDAY関数の第3引数に渡す必要があり、毎年の更新も欠かせません。振替休日や年末年始の社休日まで含めると管理はさらに煩雑になります。
この3つを解決したい場合は、リマインド機能のある自動作成ツールを使うのが確実です。
当番表を自動作成する方法(スマホ対応)
以下のような当番表を自動作成します。 エクセルやスプレッドシートで作成する場合よりも簡単に作成できます。また、スマホから作成することも可能です。
当番表の例

ローテーションでカレンダー上に担当者を割り当てていきますので、週替わり、月替わりで担当者を割り振ることもできます。
送られるSlack通知の例
以下のように当番の担当者に事前にSlackやメールで通知を送ることができます。

当番表作成ツールにアクセスして「いますぐ無料で当番表を作成する」をクリックすると以下のような画面が表示されます。
当番表名と説明を入力して、リマインドのタイミングを選択したら「次へ」をクリックします。
Slackで通知を送りたい場合は、Slack Webhook URLを入力しておきます。

あなたの名前を入力して「次へ」をクリックします。

当番を割り当てるメンバーを入力してきます。

「完了」をクリックしてアカウントを作成すると、当番表が表示されました。

当番名をクリックすると当番を編集できます。「当番を追加」から新しい当番も追加できます。 メンバー名の右側のアイコンをドラッグ&ドロップすることで、割り当て順を並べ替えることもできます。
当番を割り当てる曜日も自由に設定でき、土日祝日を除いた平日のみに割り当てるということも簡単にできます。

以下のように当番表の作成が完了しました。

当番表の共有
右上の「招待」からメンバーを当番表に招待することができます。 招待されたメンバーはリマインドメールを受け取ったり、当番表を閲覧できるようになります。

右上の「共有」から共有URLを発行できます。共有URLを知っている人は招待をされていなくても当番表にアクセスできるようになります。
