Excelの列番号⇔アルファベット変換(A1・R1C1)
1行に1つずつ、数字かアルファベット(またはセル番地)を入れてください。数字は列名に、列名は数字に変換します。
列番号・列名・セル番地(1行に1つ)
変換結果
入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく
Excel の列名は「26進数のようなもの」
Excel の列は A〜Z の26列のあと、AA、AB … AZ、BA … と続きます。 「AB は何列目?」「100列目は何?」と聞かれて、すぐに答えるのは難しいですよね。 VBA やプログラムで Excel を操作するときは列を数字で扱うことが多く、エラーメッセージや仕様書では列名で書かれていることもあるため、変換が必要になります。
列名は26進数に似ていますが、「0」にあたる文字がないのが特徴です(Z の次が A0 ではなく AA)。 そのため単純な進数変換ではうまくいかず、1を引いてから割る、という少し変わった計算をします。このツールなら何行でもまとめて変換できます。
列番号の早見表
| 列番号 | 列名 | 列番号 | 列名 |
|---|---|---|---|
| 1 | A | 78 | BZ |
| 10 | J | 100 | CV |
| 26 | Z | 104 | CZ |
| 27 | AA | 256 | IV |
| 30 | AD | 702 | ZZ |
| 50 | AX | 703 | AAA |
| 52 | AZ | 1,000 | ALL |
| 53 | BA | 16,384 | XFD |
プログラムでの変換方法
| 環境 | 列番号 → 列名 |
|---|---|
| Excel 関数 | =SUBSTITUTE(ADDRESS(1,A1,4),"1","") |
| VBA | Split(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の範囲外」と表示します。
変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。