Excelの列番号⇔アルファベット変換(A1・R1C1)

チートシートPDF

1行に1つずつ、数字かアルファベット(またはセル番地)を入れてください。数字は列名に、列名は数字に変換します。

列番号・列名・セル番地(1行に1つ)

変換結果

入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく

Excel の列名は「26進数のようなもの」

Excel の列は A〜Z の26列のあと、AA、AB … AZ、BA … と続きます。 「AB は何列目?」「100列目は何?」と聞かれて、すぐに答えるのは難しいですよね。 VBA やプログラムで Excel を操作するときは列を数字で扱うことが多く、エラーメッセージや仕様書では列名で書かれていることもあるため、変換が必要になります。

列名は26進数に似ていますが、「0」にあたる文字がないのが特徴です(Z の次が A0 ではなく AA)。 そのため単純な進数変換ではうまくいかず、1を引いてから割る、という少し変わった計算をします。このツールなら何行でもまとめて変換できます。

列番号の早見表

列番号列名列番号列名
1A78BZ
10J100CV
26Z104CZ
27AA256IV
30AD702ZZ
50AX703AAA
52AZ1,000ALL
53BA16,384XFD

プログラムでの変換方法

環境列番号 → 列名
Excel 関数=SUBSTITUTE(ADDRESS(1,A1,4),"1","")
VBASplit(Cells(1, n).Address(True, False), "$")(0)
Python(openpyxl)get_column_letter(n) / 逆は column_index_from_string("AB")
Google スプレッドシート=REGEXEXTRACT(ADDRESS(1,A1,4),"[A-Z]+")

Excel で表を作ったあと Markdown や SQL にしたいときはExcel表の変換、 操作を速くしたいときはExcel・Officeショートカットもどうぞ。

よくある質問

Excel の関数で列番号をアルファベットにするには?

=SUBSTITUTE(ADDRESS(1,28,4),"1","") で「AB」になります(28が列番号)。逆にアルファベットから列番号は =COLUMN(INDIRECT("AB1")) で 28 です。

R1C1 形式とは何ですか?

行(Row)と列(Column)を両方数字で書くセル番地の書き方で、R3C28 は「3行目・28列目」= AB3 のことです。Excel の「ファイル → オプション → 数式 → R1C1 参照形式を使用する」で切り替えられ、VBA の FormulaR1C1 でも使います。

Excel の列はいくつまでありますか?

Excel 2007 以降は 16,384 列(XFD 列)・1,048,576 行までです。Excel 2003 以前(.xls)は 256 列(IV 列)・65,536 行まででした。範囲を超える値には「Excelの範囲外」と表示します。

変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。