エクセルの列番号とアルファベットの対応は?数字から関数で列数変換

エクセルではセルの位置を「A12」のように、行番号は数字・列番号はアルファベットで表現します。

エクセルシートの行番号と列番号

これ自体は特段問題はありませんが、セル位置を相対位置で指定したいような場合、アルファベットではなく数字の列番号で位置を取得する必要があります。

しかしこれをやろうとして発生するのが、次のようなアルファベット列名が列番号でいうといくつになるのかわからないという問題です。

列番号がアルファベット標記の際の問題点

CH列って、列番号で言うと何番だっけ・・・?

そこでこの記事では、エクセルのアルファベット列数と列番号の対応表と、関数を用いた列番号からの列名変換についてまとめました。

アルファベットと列番号の対応は覚える必要はありませんが、よく使いそうなものは頭に入れておくといざというときに便利です。

エクセルの列番号とアルファベットの対応早見表

エクセルの関数を使ってアルファベットが数字の何列目の番号になるのかを算出する事ができますが、パッと調べたい時のために、以下にエクセルのアルファベット列名と列番号の対応早見表をまとめました。

アルファベットのAからZZ列(1から702列目)までの対応は以下からすぐに確認することができます。

エクセルのアルファベット列名と列番号の対応表(AからCZ列)
エクセル列名・列番号の対応早見表(A列からCZ列)
エクセルのアルファベット列名と列番号の対応表(DA列からGZ列)
エクセル列名・列番号の対応早見表 (DA列からGZ列)
エクセルのアルファベット列名と列番号の対応表(HA列からKZ列)
エクセル列名・列番号の対応早見表 (HA列からKZ列)
エクセルのアルファベット列名と列番号の対応表(LA列からOZ列)
エクセル列名・列番号の対応早見表 (LA列からOZ列)
エクセルのアルファベット列名と列番号の対応表(PA列からSZ列)
エクセル列名・列番号の対応早見表 (PA列からSZ列)
エクセルのアルファベット列名と列番号の対応表(TA列からWZ列)
エクセル列名・列番号の対応早見表(TA列からWZ列)
エクセルのアルファベット列名と列番号の対応表(XA列からZZ列)
エクセル列名・列番号の対応早見表(XA列からZZ列)

エクセル関数でアルファベット列名から列番号を算出方法

先述の対応早見表ではエクセル関数を用いてアルファベット列名から列番号を算出して作成しましたが、その際にはCOLUMN関数を用いました。

ROUND関数

COLUMN([範囲])

範囲:省略可能。 列番号を調べるセルまたは範囲を指定する

<内容>
COLUMN関数は、指定されたセル参照の列番号を返す。

<補足>
(例)B2セルで=COLUMN() → 2
(例)任意のセルで=COLUMN(F5) → 6

エクセルのCOLUMN関数で列番号を表示した例

上記の画像は、A1~H1セルに全て「=COLUMN()」を設定した結果を表示したものです。

COLUMN関数の引数に何もしていない場合はそのセルの列番号が返されるため、A列から順に1,2,3・・・と連番で数字が結果として返されています。

このように、自分が調べたい列のセルのどこかに「=COLUMN()」するか、「=COLUMN(AB1)」のように調べたいセルを引数に設定する事で、列番号の数字を算出する事ができます。

エクセル関数で列番号からアルファベット列名を算出する方法

COLUMN関数ではアルファベット列名から列番号の数字を算出できましたが、 ADDRESS関数を使用することでその逆、列番号からアルファベット列名を算出することができます。

ADDRESS関数の使い方

ADDRESS(行番号, 列番号, [参照の型], [参照形式], [シート名])

行番号:必須。数字で行番号を指定する。
列番号:必須。数字で列番号を指定する。(列Dならば4を指定)
参照の型:任意。返される参照の種類を1~4の数字で指定する。省略時は1。
(1:絶対参照、2:行絶対・列相対参照、3:行相対・列絶対参照、4:相対参照)
参照形式:任意。TRUE/FALSEで参照形式を指定する。省略時はTRUE。
(TRUE:A1形式、FALSE:R1C1形式)
シート名:任意。他シートのセルを参照する場合に指定する。

<内容>
ADDRESS関数は、行番号と列番号を指定しすることで、クシート内のセルのアドレス(位置)を返す。

<補足>
(例)=ADDRESS(2,3) → $C$2

ADDRESS関数の第3、4引数の設定値と結果
ADDRESS関数の第3、4引数の設定値と結果

上記は、行と列が両方1であるセルの情報をADDRESS関数を用いて取得した際に取得できる結果を表にしたものです。

見て分かるように、第3引数と第4引数に指定する値によって、ADDRESS関数の結果が変わってきます。

第3引数には1~4を指定でき、この指定によってドルマーク(絶対参照・相対参照)の付く位置が変わります。セルのドルマーク($)が何かについては、「エクセルのドルマークは何?絶対参照・相対参照の違い」の記事に詳しくまとめていますので参考にしてみてください。

第4引数には0を指定することで「R1C1形式」、1を指定することで「A1形式」でのセル位置を取得できます。おなじみのアルファベット標記でセル位置を取得したい場合、1(またはTRUE)を指定すればOKです。

ADDRESS関数利用時の補足

ADDRESS関数では第4引数まで指定できますが、単純にセル位置をアルファベットで求めたい場合、

=ADDRESS(1,1,4)

のように第3引数まで指定れば事足りるかと思います。(上記数式の結果は「A1」)

VBAの関数で列番号を算出する方法

参考として、VBAの場合はRange関数を用いて列番号を算出することができます。

次のようにRange関数の引数にセル位置(アルファベット形式)を指定し、Range.Columnプロパティを使うことで列番号の数字が返されます。

VBAでの行番号、列番号の算出例

Range("E2").Row  ⇒ 2

Range("E2").Column  ⇒ 5

まとめ

エクセルの アルファベット列数と列番号の対応表と、関数を用いた列数字からの列番号を調べる方法をご紹介しました。

すぐに列番号を調べたい時は対応早見表を参考にしてみてくださいね。

Twitterでフォローしよう