名簿に席の番号を入れるだけで、教卓つきの座席表のマス目に名前が自動で入るエクセル無料テンプレートです。席は横 6 × 縦 5 の 30席で、席替えは名簿の席番号を入れかえるだけです。A4 横 1枚に大きく印刷できます。
学校のクラスのほか、塾・会議・研修・イベントの席順にも使えます。この記事では、テンプレートの使い方と、席の番号から名前を探す INDEX・MATCH の仕組み、くじ引きのように席を決める方法を、実際の Excel の画面で説明します。
座席表テンプレートの中身
シートは「座席表」と「名簿」の 2枚です。名簿に名前と席番号を入れると、座席表の同じ番号の席に名前が出ます。薄い黄色のセルが、手で入れる所です。
| シート・場所 | 項目 | 入れ方・式 |
|---|---|---|
| 名簿 B4〜B33 | 名前 | 手で入力(30人まで) |
| 名簿 C4〜C33 | 席番号 | 手で入力(1〜30。席が無い人は空のまま) |
| 名簿 D4〜D33 | チェック | =IF(C4="","",IF(COUNTIF($C$4:$C$33,C4)>1,"重複",IF(COUNTIF(座席表!$B$5:$G$13,C4)=0,"席なし",""))) |
| 名簿 G3 | 人数 | =COUNTA(B4:B33) |
| 名簿 G4 | 席に出た数 | =COUNTIF(座席表!B6:G14,"?*") |
| 座席表 F1 | クラスの名前 | 手で入力 |
| 座席表 5・7・9・11・13行目 | 席の番号 | 1〜30 の数字(前の左から右へ) |
| 座席表 6・8・10・12・14行目 | 名前 | =IF(B5="","",IFERROR(INDEX(名簿!$B$4:$B$33,MATCH(B5,名簿!$C$4:$C$33,0)),"")) |
座席表テンプレートの使い方
- 「名簿」シートの B4 から下に、名前を入れます(入力例の名前と席番号は消します)。
- C 列に、その人の席の番号を入れます。席の番号は「座席表」シートのマス目の左上の小さい数字です。
- D 列の「チェック」に「重複」「席なし」が出ていないことと、G3 の人数と G4 の「席に出た数」が同じことを確かめます。
- 「座席表」シートを開くと、席に名前が入っています。F1 にクラスの名前を入れて、印刷します。

1. 席の番号から名前を出す(INDEX+MATCH)
座席表の名前のセルには、すぐ上の席の番号を名簿の「席番号」の列から探し、その行の名前を取り出す式が入っています。C8(席 8 の名前)の式は次のとおりです。
=IF(C7="","",IFERROR(INDEX(名簿!$B$4:$B$33,MATCH(C7,名簿!$C$4:$C$33,0)),""))
MATCH 関数が「席番号の列で、8 は上から何番目か」を調べ、INDEX 関数が「名前の列の、その番目」を取り出します。名簿では番号 1 の佐藤の席番号が 8 なので、席 8 には佐藤が出ました。同じように、席 1 には山本、席 2 には林が出ています。
探す列(席番号)が、取り出す列(名前)より右にあるので、VLOOKUP ではなく INDEX と MATCH を使っています。名簿の列の順番を変えずに、番号・名前・席番号と自然な並びにできます。

入力例は 28人で、席は 30 あります。名簿に無い席番号(20 と 29)は、MATCH が見つけられずにエラーになるので、IFERROR 関数で空白にしています。空席は、何も書かれていないマスになります。
2. 教卓と前後の向き
座席表は、上が前(黒板)で、3行目に教卓があります。教室の後ろから見た向きです。席の番号は、前の列の左から 1・2・3…と右へ進み、いちばん後ろの右が 30 です。番号のセル(薄いグレー)は小さい文字、名前のセルは大きい太字にして、遠くからでも読めるようにしています。

席の番号は手で入れた数字なので、番号を打ちかえると、名前の並びもそれに合わせて変わります。たとえば先生から見た向きの座席表にしたいときは、いちばん後ろの右を 1 にして、逆の順に番号を打ち直します。
3. 席替えは、名簿の席番号を入れかえる
席替えをするときは、座席表のマスではなく、名簿の席番号を書きかえます。佐藤(席 8)と鈴木(席 21)の席番号を入れかえると、座席表の席 8 は鈴木に、席 21 は佐藤に変わりました。

入れかえの途中で、2人の席番号が同じになると、名簿のチェックの列に赤い字で「重複」と出ます。鈴木の席番号を佐藤と同じ 8 にすると、2人とも「重複」になり、「席に出た数」は 28 から 27 に減りました。同じ番号が 2つあるとき、座席表には名簿で上にある人(佐藤)だけが出ます。
くじ引きのように席を決める(RAND と RANK)
席をばらばらに決めたいときは、乱数を作る RAND 関数を使います。テンプレートには入れていないので、使うときだけ次の手順で足します。
- 「名簿」シートの空いている列(たとえば I 列)の I4 に
=RAND()と入れ、名前がある最後の行までコピーします。 - 別の空いている列(J 列)の J4 に
=RANK(I4,$I$4:$I$31)と入れ、同じ行までコピーします(31 は、名前がある最後の行の番号)。1 から人数までの、重ならない番号が出ます。 - J 列の番号を選んでコピーし、C 列の席番号に「値」で貼り付けます(右クリック →「貼り付けのオプション」の「値」)。
- I 列と J 列を消します。
RAND 関数の数は、セルに何かを入力するたびに変わります。そのため、式のままにせず、値で貼り付けて番号を固定します。もう一度くじを引きたいときは、F9 キーを押すと番号が変わります。順位の付け方は 順位を付ける方法で説明しています。
【実機で検証】人数と名前を、別の数え方と照らす
| 項目 | テンプレートの結果 | 確かめ |
|---|---|---|
| 人数(名簿 G3) | 28 | 名簿の名前は 番号 1〜28 の 28人 |
| 席に出た数(名簿 G4) | 28 | 30席 − 空席 2(席 20・席 29) |
| 席 8 の名前(座席表 C8) | 佐藤 | 名簿の番号 1 の佐藤の席番号が 8 |
| 席 21 の名前(座席表 D12) | 鈴木 | 名簿の番号 2 の鈴木の席番号が 21 |
| 入れかえたあとの席 8・席 21 | 鈴木・佐藤 | 席に出た数は 28 のまま |
「人数」は名簿の名前を数えた数、「席に出た数」は座席表に出ている名前を数えた数で、別の式です。2つが同じ 28 なので、全員がどこかの席に 1回ずつ出ています。数が合わないときは、席番号が空の人がいるか、同じ番号を 2人に付けています。
印刷するとき・自分用に変えるとき
- 印刷: 「座席表」シートは、A4 横・1ページに収まり、用紙の左右の中央に来る設定にしてあります。名簿は別のシートなので、座席表だけが印刷されます(印刷を1枚に収める方法)。
- 席の数を減らす: 使わない席は、番号のセルを空にします。番号が空の席は、名前も空白になります。列ごと使わないときは、その列を選んで右クリックし、「非表示」を選びます。
- 長い名前: 名前のセルは「縮小して全体を表示する」にしてあるので、文字が多い名前は自動で小さくなって、マスに収まります。
- 名前に「さん」を付ける・フルネームにする: 名簿の名前の列に、表示したい形でそのまま入れます。
よくある質問
座席表のマスに、名前を直接入力してもいいですか?
入力できますが、そのマスの式が消えて、名簿の席番号を変えても名前が変わらなくなります。名前は名簿に入れて、席番号で場所を決める使い方をおすすめします。
名前が出ない席があります。
その席の番号が、名簿の席番号の列に無いときは空白になります。名簿のチェックの列に「席なし」と出ている人は、座席表に無い番号(31 以上など)が入っています。「重複」と出ている人は、同じ番号がほかの人にも付いています。
31人以上のクラスで使えますか?
このテンプレートは 30席・30人までです。人数が多いときは、席の列や行をコピーして足し、名簿の行も足したうえで、式の範囲($B$4:$B$33 と $C$4:$C$33)を広げる必要があります。
