Excel 行列号转换

本地处理
  • 打赏支持
  • 分享链接
  • 反馈建议
-
列号
-
另一种写法
-
行号
-
列字母列号列字母列号
换算规则
列号 → 字母:反复取 (n − 1) mod 26 得到字符,再令 n = (n − 1) ÷ 26 向下取整,直到 n 归零
字母 → 列号:按 26 进制累加,A=1、Z=26、AA=27、AZ=52、BA=53
Excel 最大列 XFD = 16384,最大行 1048576
这个换算是「双射 26 进制」而非普通 26 进制——因为没有 0 这个位。若用普通进制(A=0)算,AA 会得到 26 而不是 27,这是实现时最容易出错的地方。

关于本工具

Excel 的列用字母表示(A 到 XFD,共 16384 列),行用数字表示(1 到 1048576)。批量操作、VBA 脚本、公式生成时经常需要在字母与数字之间换算。

如何使用

选择模式后输入内容:字母转列号、列号转字母,或直接粘贴一个完整单元格引用(如 C5、$AB$100、Sheet1!D20)自动拆出列与行。结果区会给出换算值,下方表格附常用列号对照。

常见问题

为什么第 27 列是 AA 而不是 BA?因为这是双射进制:第 26 列是 Z,进位后得到 AA(27),BA 是第 53 列。可以记口诀:A=1、Z=26、AA=27、AZ=52、BA=53、ZZ=702、AAA=703。

16384 对应什么?对应列字母 XFD,这是 Excel 2007 及以后版本的最大列数;最大行数是 1048576(约 104 万行)。这两个数字也构成了 Excel 单表约 171 亿个单元格的容量上限。

你可能还想问

列号字母和数字怎么互转?

按 26 进制变体计算:A=1、Z=26、AA=27,无零位记法;输入字母或数字任一侧,另一侧实时换算,处理上千列的数据表时很省事。

为什么是 26 进制变体不是标准 26 进制?

Excel 列号没有「零」,Z 之后直接进到 AA,相当于每位取值 1-26;标准 26 进制有 0,直接套用会算错,需用无零进位算法。

列数有上限吗?

xlsx 格式上限 16384 列(XFD),老版 xls 只有 256 列(IV);超出上限的转换结果仅作参考,实际文件放不下。