更新日:、 作成日:

エクセル ROW 関数:行番号を取得する

はじめに

エクセルの ROW 関数の使い方を紹介します。

ROW 関数は、自身のセルか指定したセルの行番号を取得します。

=ROW() のようにして、この関数を入力したセルの行番号、行「1」のセルなら 1 を取得できます。

=ROW(A2) のようにして、セル「A2」の行番号 2 を取得できます。

=ROW(A2)-1 のようにして、行「2」を 1 からの連番にした行番号 1 を取得できます。

INDEX 関数」や「HLOOKUP 関数」の行番号を連番にできます。

列番号を取得するには「COLUMN 関数」を使用します。

ROW 関数の引数

ROW()
この関数を入力したセルの行番号を取得します。

ROW(セル)
セルの行番号を取得します。

引数「セル」省略できます。省略するとこの関数を入力したセルの行番号を取得します。
行番号を取得したいセルまたは行を指定します。1 行目なら 1 を取得します。
スピル化、配列不可

スピル化、配列不可:セルの範囲を指定すると結果が「スピル」します。配列を指定できません。

使い方

ROW 関数の使い方を紹介します。

自身のセルの行番号を取得する

ROW 関数を入力したセルの行番号を取得します。

=ROW()
1

セルの行番号を取得する

セル「A1」の行番号を取得します。それを下方向にコピーします。

=ROW(A1)
2

2 行目を基準にして行番号を取得する

行「2」の行番号が 1 になるように取得します。行「2」を基準にするには 1 を引き算します。

=ROW(A2)-1
=ROW()-1

結果を下方向にコピーします。

5

行「3」を基準にするには 2 を引き算します。

=ROW(A3)-2
=ROW()-2
6

高度な使い方

ROW 関数と他の関数を組み合わせた使い方などを紹介します。

セルをコピーして行番号を連番にする

INDEX 関数」を使用して、セルの範囲から指定した行番号と列番号の位置にある値を取得できます。

引数「行番号」に直接 1 を入力すると、そのセルをコピーしても 1 のままです。

引数「行番号」に ROW 関数を入力すると、そのセルをコピーすると 1, 2, 3 … のように連番にできます。

=INDEX($B$2:$B$4,ROW(B2)-1,1)
=INDEX($B$2:$B$4,1,1)
7

HLOOKUP 関数」の引数「行番号」も同じようにして連番にできます。

=HLOOKUP(B9,$B$2:$D$4,ROW(B2)-1,FALSE)
=HLOOKUP(B9,$B$2:$D$4,1,FALSE)
8

解説

行番号とは、そのまま行「1」を基準とした 1 からの連番です。

引数「セル」が行「1」なら 1 を返します。行「2」なら 2 を返します。

行「2」を基準にして 1 からの連番にするには =ROW()-1 のように行番号を引き算して調整します。

引数「セル」にセル参照以外は入力できません。

連番を直接セルに入力すると、行を挿入したり削除すると値がズレます。ROW 関数ならズレずに入力できます。