行番号・列番号を求める方法
エクセルでデータを作成していると、行番号や列番号を自動取得したいケースが結構出てきます。
- 行の増減があっても自動で通しナンバーを振ってほしい
- VLOOKUP関数など、他の関数と一緒に組む場合に、列番号を自動で取得してほしい
- MOD関数と一緒に組むことで、交互色の書式設定をする(※MOD関数の記事は準備中です)
など、意外と行番号・列番号を取得したいケースは多いです。
VLOOKUP関数などの場合は、範囲選択しているときに列数を表示してくれますが、自動で番号を取得できれば関数の自由度も上がるので、より効率良く作業することが可能です。
そういう時に便利なのが、ROW関数とCOLUMN関数です。
単純で簡単なのにすごく便利な関数なので、まずは基本的な動きと簡単な使用例を一緒に覚えていきましょう!
練習用エクセルファイルを用意したので、必要な方は下記よりダウンロードしてください。
ROW関数とは
ROW関数は、指定したセルの行番号を返してくれる関数になります。
ROW関数の基本の動き
まず基本の動きを理解するために、練習用ファイル「行の自動連番」シート、A2セルにROW関数を入れてみましょう。
A2セルを選択した状態で = を入力し「RO」まで入力すると候補が上がってくるので、キーボードの ↓ キーで「ROW」を選択したら Tab キーで使用する関数を確定させます。

第1引数として参照先を聞いてくるので、ここではROW関数で行番号を出したいセルを指定します。
今回はA2セルの行番号が知りたいので「A2」セルですが、マウスで指定しにくいので直接「A2」と入力します。

ROW関数には第1引数しかありませんので、このまま Enter キーで確定しましょう。

A2セルには「2」が表示され、2行目であることが分かりました。
=ROW(A2)
ROW関数でデータに連番を振る
ROW関数の基本を理解したところで、使用例の1つとして、データに連番を振る方法を見ていきましょう。
まずは、手入力とROW関数の違いを見るために、オートフィルを使って連番を入れてみましょう。


この状態でデータに増減が出たと仮定して、3行目を削除してみましょう。

3行目を削除した結果、A列の通し番号から「2」が消えて、連番ではなく「1」の次は「3」になってしまいました。こうなると、手作業で修正する必要が出てきます。
これは行の削除に限らず、行を挿入しても同じことが言えます。
2行目と3行目の間に行を挿入してみましょう。

今度は4行目は「3」でなければいけないですが、そのまま「2」となっているので3行目だけでなく4行目以降も、再度番号を振り直す必要があります。
このように連番を振っているデータ内で行の増減があった場合に、通し番号も自動で採番したい場合はROW関数を使って番号を振ってあげると解決します。
まずはA2セルにROW関数を入力してみましょう。

このままだとA2セルは2行目なのでNO.2から始まってしまいます。
表などのデータにROW関数を使って連番を振りたい場合は、ROW関数を入れた後に不要な行数をマイナスしてあげましょう。
ここでは1行目は項目名になっているので、データは2行目から始まっています。
なので、ROW関数の最後のカッコを閉じたら、通し番号が不要な行数分として「-1」と入力し、最後に Enter を押します。

A2セルのROW関数の結果は2行目なので「2」となり、そこから「-1」してあげた結果A2セルには「1」が表示されました。

あとはオートフィルで最終行までROW関数を反映させてあげればOKです。

仮にデータに増減があっても、行の削除であればそのままでOKですし、行の挿入があった場合は増えたセルを選択して Ctrl + D で上の関数をコピペしてあげればOKです。


お手元のエクセルバージョンがExcel2021もしくはMicrosoft365の場合はスピル機能を使うことで、行の挿入があっても、関数が自動反映されるため Ctrl + D で上の関数をコピーする必要がないので、下記の方法で関数を入力しましょう!(※スピル機能の記事は準備中です)

スピル機能を使用する場合「=ROW(A2:A5)-1 」のように表示させたい範囲を(:)コロンでつないでカッコを閉じたら不要な行数をマイナスしてあげましょう。
(※スピル機能の記事は準備中です)


=ROW(A2:A5)-1
COLUMN関数とは
COLUMN関数は、指定したセルの列番号を返してくれる関数になります。
COLUMN関数の基本の動き
まず基本の動きを理解するために、練習用ファイル「列の自動連番」シート、B2セルにCOLUMN関数を入れてみましょう。
B1セルを選択した状態で = を入力し「COL」くらいまで入力すると候補が絞れるので、「COLUMN」を選択したら Tab キーで使用する関数を確定させます。

第1引数として参照先を聞いてくるので、ここではCOLUMN関数で列番号を出したいセルを指定します。
今回はB1セルの行番号が知りたいので「B1」セルですが、マウスで指定しにくいので直接「B1」と入力します。

COLUMN関数には第1引数しかありませんので、このまま Enter キーで確定しましょう。

B1セルには「2」が表示され、B2セルの列番号は「2」であることが分かりました。
=COLUMN(B1)
COLUMN関数で連番を振る
COLUMN関数の基本を理解したところで、使用例の1つとして、データに連番を振る方法を見ていきましょう。
手入力との違いについてはROW関数でご紹介したので、ここでは省略します。
B1セルにCOLUMN関数を入れます。

このままだとB1セルは2列目のため、2番から始まってしまいます。
表などのデータにCOLUMN関数を使って連番を振りたい場合は、COLUMN関数を入れた後に不要な列数をマイナスしてあげましょう。
ここでは1列目は項目名となっているので、データは2列目から始まっています。
なので、COLUMN関数の最後のカッコを閉じたら、通し番号がいらない列数分として「-1」と入力し、最後に Enter を押します。

B1セルのCOLUMN関数の結果は2列目なので「2」となり、そこから「-1」してあげた結果B1セルには「1」が表示されました。

あとはオートフィルで最終列までCOLUMN関数を反映させてあげればOKです。

仮にデータに増減があっても、列の削除であればそのままでOKですし、列の挿入があった場合は増えたセルを選択して Ctrl + R で左隣の関数をコピペしてあげればOKです。


お手元のエクセルバージョンがExcel2021もしくはMicrosoft365の場合はスピル機能を使うことで、列の挿入があっても、関数が自動反映されるため Ctrl + R で左隣の関数をコピーする必要がないので、下記の方法で関数を入力しましょう!(※スピル機能の記事は準備中です)

スピル機能を使用する場合「=COLUMN(B1:E1)-1 」のように表示させたい範囲を(:)コロンでつないでカッコを閉じたら不要な列数をマイナスしてあげましょう。
(※スピル機能の記事は準備中です)


=COLUMN(B1:E1)-1
まとめ
ROW関数とCOLUMN関数の基本的な動きと、使用例の1つとして、ROW関数・COLUMN関数を使って連番を振る方法をご紹介しました。
とても簡単ですが、覚えておくと他の関数と組み合わせて便利な働きをしてくれる関数なので、ROW関数とCOLUMN関数はぜひセットで覚えておきましょう!
基本と自動で連番を振る方法をりっかり理解したら、他の関数と一緒に組む応用に進んでいきましょう!
※応用編は準備中です
動画でもご紹介していますので、動画を見ながら操作を確認したい方は下記からどうぞ!

励みになります!高評価とチャンネル登録よろしくおねがいいたします