在工作中经常需要生成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所示。
图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方式生成字母序列
图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。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved