小学校1年生の教室の机には名前をひらがなで書いたラベルを貼ります。
このラベルには名前の他にクラス内の出席番号と男女別の出席番号も記入します。
男女別のシートを作って通し番号をつける方法
この記事では、男女別の出席番号の求め方を書きます。
まず、思いつく方法は次のような方法です。
- クラス名簿の性別でフィルターをかける。
- 男子は男子のシートに貼り付けて通し番号をつける。
- 女子は女子のシートに貼り付けて通し番号をつける。
- クラス名簿に男女別の出席番号を記入する列を作る。
- 児童が女子の場合は、女子のシートから通し番号を取得する。
- 児童が男子の場合は、男子のシートから通し番号を取得する。
これでは能がないので、ワークシート関数だけで取得する方法を考えます。
別のシートを作らないで男女別の番号を付ける方法
男女別の番号を作る関数
男女別の通し番号をD列に記入するためには、COUNTIF
関数を使用して性別ごとにそれまでの出現回数を数え、その数を出席番号として使用します。
=IF(C2="男", COUNTIF($C$2:C2, "男"), IF(C2="女",COUNTIF($C$2:C2, "女"), ""))
右端のK列に男女別の通し番号を表示しました。
女子の番号を赤にして男女の区分けができるようにしました。
男女の色分け方法
色分けはホームタグの中にある「条件付き書式」で行います。
図1
図2
図3
図4
図1
「条件付き書式」のメニューから「新しいルール」を選びます。
図2
数式を使用して、初期期設定をするセルを決定」を選びます。
次に、「次の書式を満たす場合に値を書式設定」の欄は空欄になっていますので、条件式を書き込みます。
=IF(G1=”女”,TRUE)
G列のセルが女の場合は、指定した書式で表示するという指示です。
そして、書式をクリックして、女の場合は文字を赤くする設定をします。
図3
フォントタグを選んで文字の色を赤にして、「OK」をクリックします。
図4
最後の画面です。式が正しいことを確認して、「OK」をクリックしてください。
以上で、条件付き書式の設定は終わりです。
計算式の修正
=IF(C2="男", COUNTIF($C$2:C2, "男"), IF(C2="女",COUNTIF($C$2:C2, "女"), ""))
この式をそのまま使うと、1年1組からの通し番号になってしまいます。クラスごとの出席番号にするために、クラスが変わる所で $C$2
を2組の最初の行に変える必要があります。手動で変更するのもいいいですが、6年までは18クラスあるので大変です。
各クラスの最初の行番号を式で取得する
各クラスの最初の行を表示する列をM列に作ることにします。M列の式は次のようになります。
=IF(B5=B6,M5,ROW())
これは、M6 セルの式です。M列にはクラスの最初の行番号があります。
B列にはクラス番号があります。上のB5 セルのクラス番号とB6セルのクラスが同じなら同じクラスなのでM6セルにはM5セルの値を入れます。
もし、クラスが違っていたら、クラスの最初の行をM6セルにいれる必要があるので、ROW() 関数で行番号を取得してM6セルに入れます。
これで、クラスが変わるたびにクラスの最初の行番号が取得できることになります。
取得した行番号を求める式を男女別通し番号の式に組み込む
下の式は男子の通し番号を求める式です。
COUNTIF($C$2:C2, "男")
の$C$2 の部分が各クラスの最初の行で、 2が変数になっているので、この数値をM列の式に置き換えます。$C$2 は次の湯尾になります。
$C$2:C2 ⇒ INDIRECT(“$C$”&COUNTIF($C$2:C2, “男”)):C2
=IF(G6="男", COUNTIF(INDIRECT("$G$"&M6):G6, "男"), IF(G6="女", COUNTIF(INDIRECT("$G$"&M6):G6, "女"), ""))
式を表に挿入
上の式をK列に男女別の通し番号を表示しました。
1組から2組に変わるところで2組の先頭行が2から26に切り替わっています。
それに伴い、男女の通し番号も1番から始まっています。
各クラスの出席番号も自動表示させる
転入生があるときに、手動で出席番号を手直ししなくて済むように、出席番号も自動で表示するようにします。
クラスが同じ間は1を加え続け、クラスが違ったら1にします。
C2 セルに下の式を入れて、下段にコピーします。
=IF(B1=B2,C1+1,1)
これで途中の行に転入生を挿入しても、出席番号と男女別通し番号は自動的に変更されます。