K-fix Learning & Playing

05 連番を関数で設定


表を作成する場合は、先頭列の連番を作ることがあります。一般的に連番を作るには、オートフィル機能を利用されることが多いようです。

連番をわざわざ関数で作る必要はないかと考える方もおられますが、関数を使うメリットがあります。関数の特徴の1つが、引数の対象が変化したら自動的に更新されます。 連番が縦方向に並んでいる場合、関数を利用していると途中の行を削除しても再度連番を振り直してくれます。

ここでは、ROW関数、MAX関数、SUBTOTAL関数の3つを紹介しています。それぞれの書式は以下になります。

ROW関数は、"引数を指定しない"と"引数にセル番地を指定する"の2つのパターンがあります。
引数を指定しない時は、ROW関数を入力しているセルの「行番号」を返します。例えば、セルD5に「=ROW()」と入力すると、結果として「5」が表示されます。
引数を指定した時は、引数に指定したセル番地の「行番号」を返します。セルD5に「=ROW(C8)」と入力すると、結果として「8」が表示されます。

MAX関数は、引数のセル範囲の中で最も大きい数値を返します。例えば、セルA1に「No」の文字が入力されていて、セルA2に「=MAX($A$1:A1)」と入力すると結果は「0」が表示されます。
そこで数式を「=MAX($A$1:A1)+1」と修正すると「1」と表示されます。この数式をセルA3にコピーすると数式が「=MAX($A$1:A2)+1」と変化して結果が「2」となります。つまり、連番を作ることができます。

SUBTOTAL関数の引数「集計方法」は1~11、101~111」の数値で指定します。1,101はAVERAGE、2,102はCOUNT、3,103はCOUNTA、9,109がSUMに対応しています。
1桁と3桁に分かれていますが、どちらかを選ぶとしたら3桁の方を選べが良いです。違いは、行や列を手動で非表示にした場合、表示されている値だけを計算対象にしてくれるのが3桁での指定です。その他は、どちらでも同じです。
SUBTOTAL関数で連番を設定すると、ROW関数、MAX関数と異なりフィルタで抽出した場合に連番が1から順番に振りなおされることです。