更新日:、 作成日:

エクセル COLUMN 関数:列番号を取得する

はじめに

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

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

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

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

=COLUMN(B1)-1 のようにして、列「B」を 1 からの連番にした列番号 1 を取得できます。

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

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

COLUMN 関数の引数

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

COLUMN(セル)
セルの列番号を取得します。

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

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

使い方

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

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

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

=COLUMN()
5

セルの列番号を取得する

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

=COLUMN(A1)
6

B 列を基準にして列番号を取得する

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

=COLUMN(B1)-1
=COLUMN()-1
=COLUMN(C1)-2
=COLUMN()-2

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

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

7

高度な使い方

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

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

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

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

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

=INDEX($B$2:$D$2,1,COLUMN(B2)-1)
=INDEX($B$2:$D$2,1,1)
8

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

=VLOOKUP(B7,$B$2:$D$4,COLUMN(B2)-1,FALSE)
=VLOOKUP(B7,$B$2:$D$4,1,FALSE)
9

解説

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

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

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

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

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