Excel セルの列と行の位置を取得(ROW関数とCOLUMN関数)

2020年5月12日

ROW関数とCOLUMN関数は対象セルの行番号と列番号を取得する関数です。

よく使われる使い方は行列の追加削除に対応しやすい連番を振ることです。

単独での使い道は多くありませんが、他の関数と組み合わせると

高い効果が得られる場合があるので存在を覚えていると役に立つ関数です。

仕様

行番号(ROW関数)

=ROW(参照)
引数省略時の値説明
参照数式のセル行番号を取得するセルを指定。
各引数の詳細

参照で指定したセルの行番号(1で始まる連番)が関数の結果となります。

列番号(COLUMN関数)

=COLUMN(参照)
引数省略時の値説明
参照数式のセル列番号を取得するセルを指定。
各引数の詳細

参照で指定したセルの列番号(1で始まる連番)が関数の結果となります。

使用例:連番を自動設定

連番の自動作成が代表的な使用例です。

オートフィルでも連番は振れますが、行を挿入・削除した場合、

表の行全てにオートフィルをやり直す必要がありますが

関数を使えばセルのコピーだけで済み作業の効率性が上がります。

COLUMN関数の例

ROW関数とCOLUMN関数の使用例
ROW関数とCOLUMN関数の使用例

始点のD列は4列目なため、そこを1とするため-3しています。

D2~M2セルまで全く同じ内容の式です。

COLUMN関数の使用例
COLUMN関数の使用例

5と6の間に1列追加した例です。

5と6の間に1列追加した例
5と6の間に1列追加した例

オートフィルであれば6以降の数字がそのまま右に移動してしまい、

全列を再設定する必要がありますが

COLUMN関数を使えばコピーするだけでセルの連番を維持出来ます。

ROW関数の例

COLUMN関数と同様の使い方です。

こちらは始点が3行目のため-2で調整をかけています。

ROW関数の使用例
ROW関数の使用例

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には引数1の参照を複数セルの範囲で指定します。

(スピル実装前は左上のセルになります)

例示はROW関数ですが、COLUMN関数も同様です。

スピルでROW関数を記述する例(C1セル)
スピルでROW関数を記述する例(C1セル)

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

C1に指定したROW関数がC10まで自動拡大
C1に指定したROW関数がC10まで自動拡大

スピルを利用することで今回の例では、

C1セルに入力するだけでよいため(C2以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

連番を作成する別の方法(SEQUENCE関数)

スピルを利用できるバージョンで連番を作成する場合、

SEQUENCE関数が、より使いやすいのでおすすめです。

関連項目

活用例

VLOOKUP関数で大文字小文字を区別する方法

列番号を数字またはアルファベットで取得する方法

任意の行数ごとに罫線のスタイルを変更する方法

1行おきにセル色を変更する方法

1行おきに合計する方法

文字列を逆さに並び替える方法

ヒストグラムを作成する方法(分析ツール、アドインなし)

条件付き書式で自分自身(カレント)のセルを指定する方法

VLOOKUP関数で複数列抽出をコピーで効率的に行う方法

文字列から数字のみを抽出する方法

表の行・列を入れ替える(TRANSPOSE関数)

配列数式を使わずに

行列を入れ替えるために

ROW・COLUMN関数を使用します。

指定セル範囲の行または列数を取得(ROWS関数・COLUMNS関数)

関数の仕様と使い方の記事一覧