オートフィルだと連番が崩れる
名簿などの表で、左端の列に連番を振ったり、横方向に連番を振ったりするときに「オートフィル」を使う場面は多いですが、行や列の入れ替えや削除を行った際に連番が崩れてしまった経験はありませんか?
そのようなときは、行番号を取得する「ROW」(ロウ)関数や、列番号を取得する「COLUMN」(カラム)関数を使用しましょう。行や列の入れ替えや削除を行っても、連番を保つことができます。
まずは、構文を見てみましょう。
=ROW
(参照)
引数[参照]に、行番号を求めたいセルを指定します。省略した場合は、ROW関数を入力したセルの行番号が表示されます。
=COLUMN
(参照)
引数[参照]に、列番号を求めたいセルを指定します。省略した場合は、COLUMN関数を入力したセルの列番号が表示されます。
ROW関数で連番を振る
ROW関数は、行番号を取得するので、表の左端の列に連番を振る際などに使用されます。
例えば、以下のような表で、顧客ごとに連番を振ってみましょう。
1ROW関数を入力する
店舗の来店回数が入力してある表。A列に連番を振ります。A1セルに「=ROW()-1+100」と入力しましょう。「-1」でタイトル行を除外し、「+100」で3桁の連番にします。
2連番が入力された
オートフィルを使ってROW関数をコピーします。
COLUMN関数とVLOOKUP関数を組み合わせる
COLUMN関数は、VLOOKUP関数と組み合わせて使用することも可能です。
通常のVLOOKUP関数では、列番号は数値で指定します。しかし、別のセルに数式をコピーするときは、列番号を修正しなくてはなりません。列番号をCOLUMN関数で指定することで、別のセルに数式をコピーしても列番号を修正する必要がなくなります。
先ほどのExcelのセルI2にVLOOKUP関数を入力してみましょう。COLUMN関数と組み合わせた数式は以下のとおりです。
=VLOOKUP($H$2,$A$2:$F$21,COLUMN(B1),FALSE)
上記の数式は、セルA2~セルF21の範囲の中から、セルH2の値([No]が111)と一致する名前を取得するという意味です。名前を取得したいので、列番号は「COLUMN(B1)」となります。
1VLOOKUP関数と入力する
セルI2に「=VLOOKUP($H$2,$A$2:$F$21,COLUMN(B1),FALSE)」と入力します。
2対応する値を取得できた
[No]に対応する値を取得できました。
3数式をコピーする
セルI2の数式をM2までコピーします。列番号をCOLUMN関数で指定しているため、性別やメールアドレスも正しい内容で表示されました。