Excelを使っていると、セルの位置や行番号を自動的に取得したい場面があります。そんな時に役立つのが「ROW関数」です。
この関数を使えば、行番号の自動取得はもちろん、関数と組み合わせて柔軟な表の作成や番号振り、条件付き処理も行えます。
本記事では、ROW関数の基本的な使い方から応用的な活用方法まで、わかりやすく解説します。関数に不慣れな方でも実際に使いながら理解できるよう、例も豊富に取り上げていますので、ぜひ参考にしてください。
ROW関数とは?基本の書き方を確認
ROW関数は、指定したセルや範囲の「行番号」を返す関数です。構文は非常にシンプルです。
=ROW([参照])
引数の説明:
参照
(省略可):行番号を知りたいセルや範囲。省略した場合は、関数を入力しているセルの行番号を返します。
使用例:
=ROW(A3)
→ 結果は「3」=ROW()
→ 関数が入力されているセルが例えばB10なら「10」を返します
このように、ROW関数はセルの位置を取得するための非常に基本的な関数です。
ROW関数のよくある使い方|自動連番に便利!
ROW関数は、表や一覧に自動で連番を振りたいときに大活躍します。
例:1行目から順に1,2,3,…と連番を振る
セルA2に以下の式を入力します:
=ROW()-1
この数式は、「現在の行番号 – 1」を意味します。たとえば、A2は2行目なので「2 – 1 = 1」となります。
この式を下にオートフィルすれば、自動的に「2, 3, 4…」と連番が生成されます。
ポイント:
- 見出し行がある場合に
-1
など調整が必要 ROW()
を使うと、入力セルの位置に応じて動的に値が変わる
ROW関数とIF関数の組み合わせ例
ROW関数は、IF関数やMOD関数と組み合わせることで、条件付きの処理にも使えます。
例:奇数行だけに「〇」と表示する
=IF(MOD(ROW(),2)=1,"〇","")
この数式は、行番号を2で割った余りを使って「奇数行なら〇、偶数行なら空欄」にする仕組みです。
応用:
- 色を塗り分けたい場合の条件付き書式の条件にも使用可能
- データの偶数/奇数処理、交互処理に便利
ROW関数とINDIRECT関数で柔軟な参照が可能に
ROW関数をINDIRECT関数と組み合わせることで、動的なセル参照を実現できます。
例:1行ずつA列の値を取得する
=INDIRECT("A"&ROW())
この式は、「A列の自分の行のセル」を参照しています。B列にこの式を入れれば、A列の同じ行の値を表示できます。
応用シーン:
- 他の表の値を1行ずつ取り込みたいとき
- 別シートのデータを行単位で参照したいとき
ROW関数とARRAYFORMULA(配列関数)の組み合わせ例
少し上級になりますが、ROW関数は配列処理にも利用されます。
例:10行分の連番を配列で取得
=ROW(1:10)
これは、配列として1~10までの行番号を一度に返します。
配列関数での使い道:
- VBAやスクリプトで行うような処理を関数だけで自動化できる
- UNIQUE関数やFILTER関数などと組み合わせた高度な処理も可能
ROW関数を使うときの注意点
ROW関数は便利ですが、いくつか注意点もあります。
1. 行番号のズレに注意
- セルの挿入・削除で行番号が変わると、結果がずれることがあります
- 固定値にしたい場合は、
ROW()
の代わりに数値を入力する方がよい
2. 行のずれを補正する式を入れる
- 先頭行が見出しの場合、
ROW()-1
など調整が必要です
3. フィルター使用時に注意
- ROW関数は実際の行番号を返すので、フィルター後の「見た目の順番」ではありません
ROW関数の活用アイデア集
最後に、ROW関数の実用的な使い方をいくつか紹介します。
1. 重複なしのIDを自動作成
="ID"&TEXT(ROW()-1,"000")
→ 結果:ID001, ID002,…
2. INDEX関数と組み合わせて動的に値を取得
=INDEX(A:A,ROW())
→ A列の自分の行の値を取得。入力行が変わっても対応可。
3. エラーを防ぐ行数制限付き連番
=IF(ROW()-1<=COUNTA(B:B),ROW()-1,"")
→ B列にデータがある分だけ連番を振る。空行があっても安全。
まとめ
ROW関数は、シンプルでありながら非常に応用範囲の広い関数です。
行番号を取得するだけでなく、他の関数と組み合わせることで、表の自動化・動的処理・条件分岐など様々な場面で使えます。
実務では、連番の自動付与、条件付き表示、データ参照など多くの業務で活用されており、習得しておくと非常に便利です。
ROW関数をマスターして、Excelの作業効率をぐっと高めましょう!