在工作中经常需要生成A、B、C……Z这26个英文字母的序列,有时可能需要更长的字母序列,如A、B、C……Z、AA、AB、AC……AZ、BA、BB、BC……下面介绍两种方式。

1 CHAR CODE方式

系统字符集中26个字母的数字代码是依次排列的,可以通过公式=CODE("A")得到字母A的数字代码为65,于是字母B、C的数字代码分别为66、67,根据这个思路就能快速生成26个字母的序列,如图1所示。

excel自动生成带字母的序号(EXCEL公式快速生成字母序列ABC)(1)

图1 CHAR CODE方式生成字母序列

其中A2单元格公式为:

=CHAR(CODE("A") ROW(1:1)-1)

将A2单元格公式向下填充即可得到A~Z这26个字母序列,如果希望得到A~Z这26个字母构成的内存数组,可以使用D2单元格的数组公式:

=CHAR(CODE("A") ROW(1:26)-1)

注意:该方式最多只能生成26个字母的序列。

2 列标提取方式

如图2所示,Excel工作表的列标即是按照字母升序排列的,并且这些列标字母就包含在“A1形式”的引用地址中,如A1、B1……Z1、AA1、AB1……删除这些地址中的数字1就能得到字母序列,如图3所示。

图2 CHAR CODE方式生成字母序列

excel自动生成带字母的序号(EXCEL公式快速生成字母序列ABC)(2)

图3 CHAR CODE方式生成字母序列

A2单元格公式为:

=SUBSTITUTE(ADDRESS(1,ROW(1:1),4),1,"")

=SUBSTITUTE({"A1"},1,"")

={"A"}

将A2单元格公式向下填充就能得到字母序列,如果想得到字母序列构成的内存数组可以使用以下公式:

=SUBSTITUTE(ADDRESS(1,ROW(1:100),4),1,"")

其中的数字100可以根据实际需要的数组长度进行调整。

提示:ADDRESS函数返回参数指定的单元格的地址,参数1指定行号,参数2指定列号,参数3指定引用类型,当参数3设置为4时返回相对引用,例如公式=ADDRESS(2,3,4)返回C2。

,