[EXCEL] 出席者名簿には番号を付ける ROW関数・SEQUENCE関数 ~実践編 小ネタ~
▶ 目次 > 入力 > 連番
関連記事:一覧表、様式や入力表の作成
小ネタです。
【まとめ】
・会議の出席者名簿はエクセルで作る。
・出席者には番号を振る。
・番号付けは ROW関数を使うと、出席者が減っても大丈夫。
・番棒付けは =SEQENCE(COUNTA(列)-〇) の方が楽かもしれない。
【説明】
「お役所」が主催する会議(審議会等のハイレベルなものは勿論、事務担当者会議レベルでも)では「出席者一覧」が配られます。
大抵は、次第の裏側にあります。
こんな感じ。

これ、ほぼワードで作られています。
配られるものは確証はありませんが、絶対ワード。
主催者側としてスタッフが作るものも大抵ワード。
たまにこんなものもあります。

左下に出席者数が書いてありますが、これも大抵ワード。
こういうのは、エクセルの方が楽です。
参加者から送られてくる内容をコピペする際も楽。
そして何より出席者数の把握が楽です。
そもそも出席者一覧には番号を振るべきです(番号付けはデータ整理の基本です)。
番号を付けるメリットは・・・
1 出席者数がわかりやすい。
資料や机(椅子)を用意する際、いちいち数えなくて済みます。
2 欠席者がいたとき(や名簿に誤りがあったとき)に番号で示せる。
番号がないと「上から〇番目の・・・」といった説明になり、聞いている人は迷子になりやすい。
なので、こんな風に番号を付けます。

ただし、お役所の特性なのか、人に番号を付けるのを避けたがります。
人を順位付けするみたいで、いやなのでしょうか。
番号欄に「NO」なんてあると、特にその印象が強くなるみたいです。
そのため、私は、以下のように表の外に番号を付すようにしています。

表の外といっても、単に番号を罫線で囲んでいないだけです。でも、それで「表外」扱いになりますし、「順位」ではなく「単なる数字」の意味合いが強くなります。
番号を振るデメリット(やりがちなミス)
番号を振ることのデメリットは以下があります。
1 番号の振り間違い。
手入力だと間違えるリスクが高くなります。
2 挿入/挿入時の番号未修正
行挿入時は気づきやすいのですが、欠席者が出て1行削除したら、その番号が抜け番になってしまった、っなんてことがよくあります(私の場合)。
この番号付けをどう行うか?
勿論、手入力で上から「1,2,3・・・」と入れる方法もあります。
人数が少なければそれで充分でしょう。
ただし、数が多いと面倒ですし、上のデメリットで挙げた入力ミスが発生しやすくなります。
これらは、1を入れた後で、セル右下の「+」をドラッグすることで対応は可能です。
しかし、この方法でも、入力後に挿入/削除した際の抜け番リスクは残ります。
では、どうすればいいか?
私が思いつくものとしては以下があります。
=最初のセル+1
最初のセルに1を入れて、次のセルから「=最初のセル+1」とします。

これで2番目のセルには「2」と入り、セル右下に出る「+」をクリックすると、一気に下まで同じ計算式がコピーされ連番が出ます(右列にデータが入っている場合)。
うまく入らなければ、下までコピーで入れます。

ただし、途中の行を削除すると、以降の計算式がエラーになります。

あるいは、1行追加すると、そこには番号が入りません。

空欄に番号を入れても、その下の番号は直りません。
その上のセルを参照しているからです(下図)。

1行追加した場合でも削った場合でも、上のセルを下のセルまでコピーすれば直りますが、やり忘れのリスクは残ります。
SEQUENCE関数で番号を振る
=SEQUENCE(人数) で一気に連番を入れる方法もあります。
最初に番号を入れたいセルで、=SEQUENCE(人数)とし、

これでENTERを押すと・・・

連番が入ります。
ただし、最初から何人いるかわかっていないとダメです。
人数の増減にも対応できません。
1人(1行)追加しても番号は増えません。

=SEQUENCE(人数) の中の数字を変えれば直りますが、ちょっと面倒。
この問題には以下で対応か可能です。
=SEQUENCE(COUNTA(どこかの列)-項目等数えないセルの数)
これで1行挿入しても、所属などを入れた段階で番号が振り直されます。
削除の場合は、削除した段階で番号が変わります。
便利ですけど、ちょっと面倒&わかりづらいかもしれません。
と書きつつも、一度覚えちゃえば、これが一番楽かもしれません(検証は必要)。
ただし、そもそも、まだSEQUENCE関数の認知度は低いので、引き継ぐ場合を想定して、説明や修正の仕方をメモに入れておいた方がいいでしょう。
ROW関数で番号を付ける
私は主に、ROW 関数を使って番号を付けていました。
=ROW() でセルの行番号を表示
A1セルなら1行目にセルがあるので「1」と表示します。
C4なら「4」と出ます。
従って、C4セルを「1」としたければ、ROW()で取り出す数字から3を引きます。
つまり =ROW()‐3 です。
カッコの中は指定しなくても構いません。
そのセルの行番号が(表示されないけれど)入ります。
また、どのセルも計算式で構いません。

これでC4なら「1」と出ます。
計算式は、どれも =ROW()-3 で同じです。
この後、セル右下に出る「+」をクリックすれば、自動で計算式が入ります。ただし、右側にデータが入っている場合に限ります。
右側にデータが入っていなければ、下に向かってコピーします。

ROW関数を使った番号付けのメリットは
「1行削っても番号が自動で変わる」ことです。
例えば・・・
下の表の3番目の「●●市町村」が欠席の場合、その行を削ります。

1行削っても、それ以降の番号が自動で変わります。
番号の降り直しは不要です。
なぜなら、それぞれのセルの計算式は、自分のセルの行番号から3を引いたものを表示しているからです。

4番目にあった△△町が3になっています
逆に1行挿入すると、番号欄は空欄になります。

この場合、空欄セルで、CTRL+D の同時押しをすることで上のセルの計算式がコピーされ、番号が表示されます。

上のセルからコピーされたものです。
上のセルのコピーはCTRL+Dの一瞬でできるので、それほど手間ではありません。
関数で番号を振る際の注意点
SEQENCE関数やROW関数で番号を振る場合の注意点としては「番号が自動で変わる」ことです。
メリットである一方、固定した番号を付けたい場合は、困ります。
この場合は、番号を付した後に、番号部分の全体(列全体)を範囲指定 ⇒ Ctrl+Cでコピーしてから「値のみ貼り付け」すると、計算式が消えて、番号はそれ以降変わりません。
「値のみ貼り付け」の方法はいろいろありますが、私は Alt ⇒ E ⇒ S ⇒ V ⇒ OK を多用しています。運指的にも楽な流れ打ち(連続打ち)です。
他にもショートカットがあるので、ここはお好みで(ただし、3キー同時押しは手を痛める恐れがあるので、お勧めしませんが)。
詳しくはこちらをどうぞ。
[Excel]コピーの必須ショートカット 値のみ貼り付けは、 Ctrl+Alt+V→V より Alt→E→S→V がおすすめ?
当たり前ですが、一度「値のみ貼り付け」をすると、行挿入/削除しても番号は変わりません。削除時は抜け番発生につながるので特に注意が必要です。
ですので、「値のみ貼り付け」をするタイミングには考えた方がいいでしょう(必要がなければやらない方がいいでしょう)。
おまけ1 全体の人数を出す方法 COUNTA関数
左下によく「計●名」と入っている場合もあります。
ワードだと自分で数えなければいけませんが、追加・欠席の度に数え直すのは面倒ですし、間違えの元です。
エクセルなら自動で計算できます(そもそも、各人に番号を付しておけば、全体数を示す必要ありませんが)。
全体の人数は COUNTA関数で出せます。
表示を「計●名」とするなら、「セルの書式設定」で「計」「名」を表示します(下図)。
セル内には「計」「名」は入れません(=”計”&#&”名” でも表示できますが)。

「"計"#"名"」となっています
参照元のトレースを開くと、どのセルを参照しているか、わかりやすくなります。

この場合、範囲指定を間違うと人数も間違うので注意が必要です。
私は、細かい範囲指定が面倒なので、大抵、列全体で範囲してしています。

計算式は =COUNTA(D:D)-1 です。
D列にあるデータ数から項目の「所属」を除くために、1を引いています。
ただし、この「-1」も間違いやすいところなので、注意が必要です。
やはり、左に番号を付して、そこで全体人数を示した方が楽でしょう。
おまけ2 一覧表の枠外に連絡先も入れておく(報告時に入れてもらう)
観点がちょっと異なりますが、出席者報告様式を一工夫しておくだけで、とりまとめが楽になります。
よくある「出席者報告様式」は、仮に市町村担当者会議だとする・・・

市町村名と出席者名が別の行に作られています。
これだと、市町村名と出席者を別々にコピペしないといけません。
だったら、こうしてしまえばどうでしょう?
市町村名も連絡先の欄も同一行にしておく。

これなら、行をそのままコピペしておしまい
です。
しかも、電話やメアドも一緒にコピーされます。
電話やメアドを配布する名簿に載せるか否かは会議次第ですが、一覧に連絡先があると事務的にな何かと便利です(いちいち、調べなくても済む)。
メアドが入っていると、全員に資料やURLを送付する場合、一覧のアドレスをコピペして、メールソフトの宛先欄(TOかBCCかは状況次第)に張り付ければ、送信も楽です。
複数アドレスにメールを送る際、アドレスとアドレスの間に特定の文字(例 ; )を入れる必要があれなら、TEXTJOIN関数を使うと楽です。
=TEXTJOIN(”;”,true,アドレスの列)
意味:アドレスを「;」でつなげていく。ただし、空欄は無視する(TURE)。
おまけ3 大人数ならフォームが楽
研修会など大人数が参加する場合には、一覧作成のために、いちいちコピペするのは面倒です。
そういう場合は、WEBのフォームを使うと楽です。グーグルだったり、あるいは自治体の電子申請システムなどを使って、過去モノを使い回しすると楽でしょう。
データはCSVで取り出してExcelで並び替えや整形をすれば、コピペや手入力の手間が省けます。
以上、「小ネタ」のつもりが、かなり長くなってしまいましたが、参考になれば幸いです。
もし何か「発見」があったら、「スキ」「フォロー」「チップ」していただける嬉しいです!
(作業 2日 2h)
