Excel 里第 n 行第 m 列的表示方法

Excel 里第 n 行第 m 列的怎么表示?

行好办,直接看数字就好啦,列字母 A~Z 有 26 列,然后就是 AA,AB……。 
如果 m<27 还可以掰着手指数一下,万一 m 超级大呢?有人说:简单啊,打开一个 Excel,数一数哈,如下图所示:

确实挺不错的办法,那如果 m 是一万、一千万呢?

废话不多说,直接上代码:

my_list = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]

my_str = ""
x = int(input("请输入列数:"))
while x:
    i = x % 26
    x = x // 26
    my_str = my_list[i - 1] + my_str
print("所对应的列名:", my_str)

效果如下:

那么问题来了。。。

请问 Excel 里 IV256 单元格是第几行第几列?

这明明是砸场子来了

行依然好办,直接看数字就好啦,列字母 A ~ Z 有 26 列,然后就是 AA,AB……。 
如果列字母是 A ~ Z 还可以掰着手指数一下,万一是 IV 呢?又有人说:简单啊,打开一个 Excel,经过一番操作肯定能知道结果,如下图所示:

废话不多说,直接上代码:

my_list = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
           "W", "X", "Y", "Z"]

my_num = 0
x = input("请输入列名:").upper()
while x:
    r = x[0]
    x = x[1:]
    my_num = my_num * 26 + my_list.index(r) + 1
print("所对应的列数:", my_num)

效果如下:

哈哈,简单吧,快来试试看吧。这次没问题了吧。。。有问题欢迎交流哦 ~

发布了328 篇原创文章 · 获赞 170 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/102846473
今日推荐