
题目及解法一均来自于网络。

大家先点个关注呗!后续还有更多实例讲解!
题目:如何使用一个公式来获取当前单元格所在列的列字符呢?例如,当前单元格为C4,那么公式的结果应该为其所在列的列字母C。

解法一:
思路:首先获取当前单元格的地址,然后查找地址中的列字符。
公式:=LEFT(ADDRESS(ROW(),COLUMN(),2),FIND("$",ADDRESS(ROW(),COLUMN(),2))-1)
效果:

解析:
1.ADDRESS(ROW(),COLUMN(),2)获取当前单元格的地址,指定参数2表明为行绝对引用列相驿引用的混合地址,即C$4。
2.FIND("$",ADDRESS(ROW(),COLUMN(),2))找到表示绝对引用的“$”号在地址中的位置,即2。将结果减 1,得到列字符在地址中的位置,即1。
3.将上述获得的地址作为 LEFT 函数的第一个参数,列字符的位置作为第二个参数, 即 LEFT(C$4,1),获得当前单元格的列字符为C。
解决二:
思路:利用Excel char函数,返回对应于数字代码的字符。
公式:=CHAR(COLUMN()+64)
效果:

解析:
1.利用COLUMN函数取得所在列数,即3.
2.对应ASCII码,如下图,大写A对应的是65,C对应的67,也就是说所在列数在64,就是列字符对应的列字符。

3.使用CHAR(COLUMN()+64),就能取得单元格对应的列字符了。
PS:这种方式有一定的局限性,当超过Z列时,这种方式就有问题了。知道列字符最大是XFD,大家可以思考一下如何解决。