ノートパソコンで表計算

エクセルを初めて使った際に不思議に思ったのが

  • 行番号は数字
  • 列番号はアルファベット

という点です。

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

何で列がアルファベット標記なのか不思議・・・と思っていたのですが、セル位置を指定する際にアルファベットのほうが分かりやすい( A1、G12 )ためと想像しました。これが列番号も数字で指定するとなると、

  • A1 ⇒ 11
  • G12 ⇒ 712

のようになるので、単純にアルファベットを列番号をと置き換えると訳が分からなくなります。どこまでが列番号で、どこまでが行番号なのか、という事です。

そんな事もあり列番号がデフォルトでアルファベット標記なのは自己納得していたのですが、「エクセルの関数やVBAを覚えてセルに対する操作をして行こう」となった際に、このアルファベット標記が使いづらさや分かりにくさのネックとなってきました。

特にVBでは、列の位置を数字で指定する必要があるためです。

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

CH列って、数字で言うと何番だっけ・・・

そこで今回は、エクセルの列名(アルファベット)が数字で言うと何番なのか、について、関数での調べ方と対応表についてまとめてみました。

エクセル関数で列名から列番号を求める方法

エクセル関数を用いて列名から列番号を求めるには、COLUMN関数を使用します。

ROUND関数

COLUMN([範囲])

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

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

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

COLUMN関数で列番号を表示した例

上記の例は、A1~H1セルに全て「=COLUMN()」を設定した結果の例です。関数の引数に何もしていない場合、そのセルの列番号を返します。上記はA1~H1セルに全て同じ数式ですが、セルによって列番号が変わっているのが分かるかと思います。

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

エクセル関数で行・列番号からセル位置を求める方法

参考に、行・列番号からセル位置を求める関数を紹介します。

行と列の番号からセル位置を算出するには、ADDRESS関数を使用します。

ROUND関数

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引数に指定する値によって結果が変わってきます。

第4引数ではR1C1形式かA1形式かで分かれますが、おなじみのアルファベット標記でセル位置を表示したい場合はA1形式である1(またはTRUE)を指定します。

第3引数では絶対参照にするか相対参照にするかを指定できます。絶対参照の場合は$がつきますが、この辺は過去記事でもご紹介していますので、参考にしてみてください。

ADDRESS関数は第4引数まで指定できますが、単純にセル位置をA1形式で求めたい場合は、

=ADDRESS(1,1,4)

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

VBAでセル位置から行番号・列番号を算出する方法

VBAの場合、次のようにRange関数の引数にセル位置(A1形式)を指定します。 Range.Rowプロパティによって行番号を、Range.Columnプロパティによって列番号を算出する事ができます。

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

Range("E2").Row  ⇒ 2

Range("E2").Column  ⇒ 5

列番号と列位置(A1形式)対応表

エクセルの関数で列番号を出す事もできますが、パッと調べたい時のために、以下にエクセルの列番号と列位置(A1形式)対応表を載せてみます。

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列)

まとめ

列番号を調べる方法をご紹介しました。単純にすぐ調べたい時は対応表を見るとよいでしょう。

Excelで使いたい場合はCOLUMN関数を使うと簡単に列番号を求める事ができますよ!

Twitterでフォローしよう

おすすめの記事