|
目的:将数字列号转换为Excel的字母列号,以方便INDIRECT函数调用。
用数字1---256代表EXCEL的列号A---IV)
对应关系如下:
1 对应 A ,
...... ,
26 对应 Z ,
27 对应 AA ,
...... ,
52 对应 AZ ,
53 对应 BA ,
...... ,
78 对应 BZ ,
...... ,
104 对应 CZ,
实现函数:
=IF(A1<27,CHAR(64+A1),IF(A1<53,"A"&CHAR(A1-26+64),IF(A1<79,"B"&CHAR(A1-52+64),IF(A1<105,"C"&CHAR(A1-78+64),""))))
将A1中的数字转换为对应字母列号。
=IF(COLUMN()<27,CHAR(64+COLUMN()),IF(COLUMN()<53,"A"&CHAR(COLUMN()-26+64),IF(COLUMN()<79,"B"&CHAR(COLUMN()-52+64),IF(COLUMN()<105,"C"&CHAR(COLUMN()-78+64),""))))
返回当前所在列对应的字母列号。
感谢2楼,这个方法更简洁而且适用于所有的情况:
=IF(A1<27,"",CHAR(64+INT((A1-1)/26)))&CHAR(MOD(A1-1,26)+65)
=IF(COLUMN()<27,"",CHAR(64+INT((COLUMN()-1)/26)))&CHAR(MOD(COLUMN()-1,26)+65)
示例:
104 CZ
缺点:若要实现104以上列号将需编写很长的函数,但一般情况下,104列基本够用了。用2楼的方法最好,没有任何限制!
[ 本帖最后由 fzhlian 于 2010-6-28 23:37 编辑 ] |
|