応用編

SUBTOTAL関数を使用して自動で連番にする方法

自動連番(SUBTOTAL)

フィルター機能でデータの並べ替えや抽出を行った場合でも自動で連番になる方法の解説です。

連番を振る方法はいくつかありますが、今回ご紹介する方法では、SUBTOTAL関数を使ってフィルターで抽出されたデータでも自動で連番にすることができます。

動画解説

字幕・音声解説あり

テーブルにSUBTOTAL関数を使用する

連番を振りたいセルにSUBTOTAL関数を入力します。

=SUBTOTAL(103,$C$3:C3)

SUBTOTAL関数の集計方法には、103を指定します。

集計方法の103とは、非表示の値を除外してデータの個数をカウントする方法です。データの非表示の値も含む場合は集計方法に3と記入します。

参照先のセルには必ず空白にならないデータの入ったセルを選択し、参照範囲の最初のセルは、絶対参照で指定しましょう。

この例ではC列にある所属名を選択しています。

すでにデータの入ったセルの下まで数式をコピーします。

テーブルでSUBTOTAL関数を使用する場合は、参照先に絶対参照のセルの後に:[@列名]を指定しても同様の結果となります。

この例では所属の列を指定しているため、$C$3:[@所属]と指定しています。

フィルターの抽出を行った結果、連番が自動でふられます。

テーブル以外の表に自動連番

テーブル以外の表に自動で連番をつける場合、
=SUBTOTAL(103,$C$3:C3)とするとフィルターでデータを抽出したときに、最終行に対象外のデータが表示されてしまいます。

テーブル以外の表で自動で連番をふるには、

=SUBTOTAL(103,$C$2:C3)-1

表の見出し行を参照先に絶対参照を指定してSUBTOTALからマイナス1と記入します。


これでフィルターでデータの抽出を行っても正しい結果のみが表示され、自動で連番も表示されるようになります。