【Excel】エクセルで列番号を数字に変換する方法(A1形式・R1C1形式・設定・表示・COLUMN関数)について理解しておくと、A列、B列、AA列のような列見出しを数値として扱いたい場面で迷いにくくなります。
エクセルでは通常、列はアルファベットで表示されますが、数式やマクロ、データ整理、列位置の確認では、列番号を数字で把握した方が便利なことがあります。
特にCOLUMN関数、ADDRESS関数、SUBSTITUTE関数、R1C1形式の設定を知っておくと、A1形式とR1C1形式の違いも整理しやすいでしょう。
この記事では、エクセルで列番号を数字に変換する方法を、初心者にもわかりやすく順番に解説していきます。
エクセルで列番号を数字に変換する結論はCOLUMN関数とR1C1形式を使い分けることです
それではまずエクセルで列番号を数字に変換する基本的な考え方について解説していきます。
結論から言うと、セルの列番号を数値で知りたい場合はCOLUMN関数を使うのが最も簡単です。
たとえばA列は1、B列は2、C列は3、AA列は27というように、エクセル内部では列が数字として管理されています。
列見出しがアルファベットで表示されていても、エクセルの計算上は列番号が数字で扱われているという点が大切です。
COLUMN関数で現在の列番号を取得する
COLUMN関数は、指定したセルが何列目にあるかを数字で返す関数です。
A1セルでCOLUMN関数を使うと1、D1セルで使うと4が返ります。
数式例。
=COLUMN(A1)
結果は1です。
=COLUMN(D1)
結果は4です。
この方法は、表の中で列位置を確認したいときや、数式を横方向へコピーして連番を作りたいときに便利です。
R1C1形式に切り替えると列見出しそのものが数字になる
エクセルにはA1形式とR1C1形式という参照形式があります。
A1形式では列がA、B、Cのように表示され、行が1、2、3のように表示されます。
一方、R1C1形式では行も列も数字で表示されます。
RはRowの意味で行、CはColumnの意味で列を表します。
たとえばA1セルはR1C1、B3セルはR3C2のように表されます。
列見出しそのものを数字で表示したい場合は、関数ではなくエクセルのオプションからR1C1参照形式を有効にする必要があります。
列文字を数値に変換する場合は少し考え方が変わる
セル位置から列番号を求めるだけならCOLUMN関数で十分です。
しかし、文字として入力されたAAやBCを数字に変換したい場合は、ADDRESS関数やCOLUMN関数を組み合わせる必要があります。
たとえば文字列のAAを27にしたい場合は、INDIRECT関数でセル参照に変換してからCOLUMN関数で列番号を取り出す方法が使えます。
数式例。
=COLUMN(INDIRECT(“AA1”))
結果は27です。
このように、実際のセル参照なのか、文字列としての列名なのかで使う方法が変わります。
A1形式とR1C1形式の違いを確認していきます
続いてはA1形式とR1C1形式の違いを確認していきます。
エクセルで列番号を数字に変換したいときは、まず自分が何を数字にしたいのかを整理することが重要です。
AやBのような列見出しを見た目として数字にしたいのか、数式の中で列番号を取り出したいのかで操作が異なります。
A1形式は一般的な表示形式
A1形式は、通常のエクセルで最初から使われている参照形式です。
列はA、B、Cのようなアルファベットで表示され、行は1、2、3のような数字で表示されます。
多くの操作説明や関数例では、このA1形式が使われます。
たとえばC5セルは、C列の5行目にあるセルという意味です。
R1C1形式は行と列をどちらも数字で表す
R1C1形式では、セルの位置を行番号と列番号で表します。
R5C3と表示されていれば、5行目の3列目という意味です。
つまり、A1形式のC5セルと同じ位置を指しています。
列番号を常に数字で見たい人にとっては、R1C1形式の方が直感的に感じられるでしょう。
設定変更で列見出しを数字にする方法
R1C1形式へ切り替えるには、エクセルのオプションから設定を変更します。
Windows版では、ファイル、オプション、数式の順に開き、R1C1参照形式を使用する項目にチェックを入れます。
これでワークシートの列見出しがA、B、Cから1、2、3の表示へ変わります。
Mac版でも環境設定内の数式や計算関連の項目から参照形式を切り替えられる場合があります。
| 形式 | 列の表示 | セル参照の例 | 向いている用途 |
|---|---|---|---|
| A1形式 | A、B、C | C5 | 通常の表作成や関数入力 |
| R1C1形式 | 1、2、3 | R5C3 | 列番号を数字で確認したい作業 |
| COLUMN関数 | 表示は変えない | =COLUMN(C5) | 数式内で列番号を取得する作業 |
COLUMN関数で列番号を数字に変換する方法を確認していきます
続いてはCOLUMN関数で列番号を数字に変換する方法を確認していきます。
COLUMN関数は非常にシンプルですが、使い方を少し工夫すると実務でも役立つ場面が増えます。
表の項目番号を自動で作る、横方向の連番を作成する、列位置によって計算を変えるといった使い方ができます。
指定したセルの列番号を取得する
COLUMN関数の基本は、引数にセルを指定して列番号を返す形です。
数式例。
=COLUMN(A1)
A列なので1を返します。
=COLUMN(Z1)
Z列なので26を返します。
=COLUMN(AA1)
AA列なので27を返します。
列がZを超えるとAA、AB、ACと続きますが、内部的には27、28、29と数えられています。
引数を省略すると入力したセルの列番号を返す
COLUMN関数は引数を省略することもできます。
たとえばD列のセルに=COLUMN()と入力すると、結果は4になります。
この特徴を利用すれば、横方向にコピーしたときに1ずつ増える番号を作れます。
数式例。
=COLUMN()
入力したセルがE列なら5を返します。
ただし、表の開始列がA列ではない場合は、開始位置に合わせて調整が必要です。
横方向の連番に応用する
たとえばC列から1、D列から2、E列から3という連番を作りたい場合があります。
その場合はCOLUMN関数から開始列のずれを引くと便利です。
数式例。
=COLUMN()-2
C列に入力すると1になります。
D列にコピーすると2になります。
開始列がどこなのかを意識して調整することが、COLUMN関数を実用的に使うコツです。
列文字を数字に変換する数式を確認していきます
続いては列文字を数字に変換する数式を確認していきます。
セル参照としてのA1ではなく、セル内に文字として入力されたA、AA、BCなどを数字にしたい場合は、INDIRECT関数を組み合わせます。
この方法は、外部データや設定表に列名が文字列で入っているときに役立ちます。
INDIRECT関数で文字列をセル参照に変える
INDIRECT関数は、文字列をセル参照として解釈する関数です。
たとえばA1セルにAAと入力されている場合、A1の文字列に1を付けてAA1という参照を作れます。
数式例。
=COLUMN(INDIRECT(A1&”1″))
A1にAAと入力されていれば27を返します。
列名だけではセル参照にならないため、行番号の1を結合する点がポイントです。
小文字や余分な空白に注意する
列文字が小文字で入力されていても、通常はINDIRECT関数で解釈できます。
ただし、前後に余分な空白があると正しく参照できない場合があります。
その場合はTRIM関数を使って空白を取り除くと安全です。
数式例。
=COLUMN(INDIRECT(TRIM(A1)&”1″))
前後の余分な空白を除いて列番号を取得できます。
存在しない列文字はエラーになる
エクセルには列数の上限があります。
現在のエクセルではXFD列までが最大列です。
そのため、範囲外の列文字を指定すると参照エラーになります。
入力ミスが心配な場合はIFERROR関数でエラー時の表示を整えるとよいでしょう。
数式例。
=IFERROR(COLUMN(INDIRECT(TRIM(A1)&”1″)),”列名を確認してください”)
変換できない場合に案内文を表示できます。
列番号を数字で扱うときの注意点を確認していきます
続いては列番号を数字で扱うときの注意点を確認していきます。
列番号の変換は便利ですが、見た目の表示変更と数式による取得を混同すると、思った結果にならないことがあります。
特に、R1C1形式への切り替えはブック全体の作業感に影響するため、必要なときだけ使うと安心です。
表示を変えるだけならR1C1形式
列見出しをA、B、Cではなく1、2、3で見たいだけなら、R1C1形式が適しています。
ただし、数式の表示もR1C1形式になるため、慣れていない人には読みづらく感じることがあります。
共有ファイルで使う場合は、相手が戸惑わないように注意が必要です。
計算に使うならCOLUMN関数
列番号を計算に使いたい場合は、設定変更ではなくCOLUMN関数を使います。
表示形式を変えずに列番号だけ取り出せるため、通常の表作成でも扱いやすいでしょう。
関数の結果は数値なので、足し算や条件分岐にも利用できます。
列名と列番号の変換方向を整理する
今回のように列名を数字に変換する場合もあれば、逆に数字から列名を取り出したい場合もあります。
数字から列名にしたい場合は、ADDRESS関数とSUBSTITUTE関数を組み合わせる方法があります。
数式例。
=SUBSTITUTE(ADDRESS(1,27,4),”1″,””)
結果はAAです。
列番号を数字にする作業と、数字を列名に戻す作業は別の処理として考えると整理しやすくなります。
まとめ
エクセルで列番号を数字に変換するには、目的に応じてCOLUMN関数、INDIRECT関数、R1C1形式を使い分けることが大切です。
セルの列番号を取得したい場合はCOLUMN関数が基本です。
文字として入力されたAAやBCを数字に変換したい場合は、COLUMN関数とINDIRECT関数を組み合わせると対応できます。
列見出しそのものを数字で表示したい場合は、エクセルの設定からR1C1形式に切り替える方法が適しています。
見た目を変えたいのか、数式で列番号を取得したいのかを最初に分けて考えることが、失敗しない一番のポイントです。