Excelで連番を付けたい時はよくありますよね!そんな時に便利なCOLUMUN関数とROW関数の解説を行います。

COLUMUN関数は「列番号」を返してくれますが、ROW関数に関しては「行番号」を返してくれます。
行や列なのに良く連番をオートフィルを使って入力する時がありますが、行や列の削除を行うと連版が抜けてしまうのに困りませんか?それを解消してみましょう。
COLUMUN関数やROW関数はINDEX関数やVlookup関数の列番号を引数として指定する関数を自動化する場合などにも便利です。

COLUMN関数

列番号を指定したいセル「A2やA3」などを指定してくれます。
=COLUMN(引数) =COLUMN(引数なし)ブランクでもできます。そのほか行列関数との組み合わせで便利さも発揮します。
まずは基本操作から行っていきましょう。
「C2」をクリック=COLUMN(A1)と入力します。結果は「1」で1列目を返してくれます。
「A1」をクリック=COLUMN()引数無しでEnterします。結果は「1」で1列目だと分かります。

商品の仕入、販売、納期などのデータがあります。
販売一覧表に販売した一覧表を作成します。Vlookup関数を利用すると入れていくとこが出来ますが
列番号は実際の数字を入れる手間もかかってしまいます。=VLOOKUP(検索値,一覧表,列番号,0)
Vlookup関数で求める列は8列目から11列目になります。参照元は2~5列目になります。
求める列から6を引けば列番号になります。セルH3には=VLOOKUP($G3,$A$2:$E$11,COLUMN()-6,0)
H3の答えを右下にオートフィルして結果を求めてみてください。
Vlookup関数だけでは列番号を1列ごとに設定しないとだめですがCOLUMN関数との組み合わせで
一度で処理が出来ます。凄い便利ですね!

COLUMNS関数

COLUMNS関数は列数を調べたい範囲または配列を返してくれます。
まずは基本からの練習を行って、後からCOLUMN関数同様にVLOOKUP関数を使っての応用編も行ってみましょう。
COLUMNS関数を使って範囲の列数の結果が出ますので行ってみましょう。
「B2」をクリックします。=COLUMNS(C3:E7)を選択します。結果は「3」で3列だと分かります。

応用になりますが、COLUMNS関数と同様にVlookup関数と組み合わせることで別の表に配列を返してくれます。
住所録から別のシートに同一の情報を持ってくることが出来るので簡単ですよ!
では、やってみましょう!分かりやすく同じシートで作成してみます。
A1~D1をコピーしてA9に張り付けましょう。A10に=VLOOKUP(“福士 真理”,$A$2:$D$6,COLUMNS($A$1:A1),FALSE)と入力します。オートフィルします。
同じデータが入力されます。別のシートに同じデータを持って来たい時にはとても便利です。利用してみてくださいね!

ROW関数

指定した行の番号を教えてくれる関数です。
何行目かという事を教えてくれます。単体で利用ようするよりはROW関数もINDEX関数やVLOOKUP関数の様な行列関数と併用すると便利です。
まずは基本操作から行ってみましょう。
「A1」をクリックします。=ROW(A5)と入力します。結果は「5」で5行目だと分かります。

応用になりますが下のデータで大人と小人料金表があり列方向に並ぶように配列を変更したいときにも利用できます。
縦に並んだデータを一つ右側に飛ばす必要があります。INDEX関数を利用して任意の位置を抜き出します。
今度は縦の列の位置を知るためにROW関数を使って行きます。
大人の料金はF2~F5まで求めるので行番号も2~5行になります。大人の料金はC2,C4,C6,C8に入っていますので、
一つ飛ばしで2を乗算することになります。元のデータ行番号=(行番号-2)*2になります。
その数式を使って =INDEX($C$1:$C$9,(ROW()-1)*2) となります。
F2に関数を挿入してオートフィルして頂くと大人の料金が反映されます。

今度は子供料金を見ていきます。
小人料金は大人料金の一つ下なので行番号に1つ足します。
結果:=INDEX($C$1:$C$9,(ROW()-1)*2+1) になりますので、G2のセルに関数を挿入してください。

ROWS関数

指定した行数を返してくれます。()引数内で指定した範囲内の行数の結果が解ります。
範囲内が何行あるかを教えてもらえます。単体で利用ようするよりはROWS関数もINDEX関数やVLOOKUP関数の様な行列関数と併用すると便利です。
「A1」をクリックします。(C3:C8)を引数として選択します。結果「6」で6行だと分かります。

プログラムのデータをEcelで作成します。何コースのプログラムがあるのかを表示させることができます。
OUNTA関数を利用しても導き出すこともできますが、今回はROWS関数を利用してみましょう。
B10のセルに=ROWS(A2:B9)と入力します。結果は下記の表のように表示されます。

ROWS関数も先ほどのROW関数同様に同じ様なことができます。
下図のように出席番号などの表を作ります。NoのB4にROWS関数を使って番号を振ります。=ROWS(B$3:B3)と入力してください。
下にオートフルをすると連番が降られます。

図のように、点数とランキングを出す表を作成してください!上位3位の点数を出していきたいと思います。
LARGE関数をと併用して高い得点を返していきたいと思います。
G3をクリックし、=LARGE($D$4:$D$8,ROWS(G$3:G3))と入力します。結果は高い得点から並び替えてくれましたね!
この関数を利用して、名前順や得点順に配置することができます。いろいろな応用で使えそうです!

Excelで列番号、行番号を表示してくれる【COLUMN関数・ROW関数】まとめ

COLUMN関数は行に連番を振りたいときに1,2,でオートフィルでも連番は入ります。
間の列を削除した時は消えてしましますが、COLUMN関数を利用して連番を振ったときには自動で振り直しになります。
ROW関数は今度、列の連番を振りたいときに1,2,3…とこちらもオートフィルで入力できますが、3行目を削除した場合は振られた番号も消えてしまいますが、ここでROW関数を使って連番を出せば自動に連番降り直しになってくれます。行列関数との組み合わせでVLOOKUP関数だけでは出せない結果も導き出せますね!
とても便利な関数ですので是非利用してみてください!