一尘不染

编程之谜:您如何将Excel列名转换为数字?

algorithm

最近有人在面试中要求我解决一个编程难题,我认为这很有趣。这是关于将Excel列字母转换为实际数字的方法,如果您还记得的话,Excel用从A到Z的字母命名其列,然后顺序为AA,AB,AC
… AZ,BA,BB等。

您必须编写一个接受字符串作为参数的函数(例如“ AABCCE”)并返回实际的列号。

解决方案可以使用任何语言。


阅读 284

收藏
2020-07-28

共1个答案

一尘不染

我很久以前就写了一些Python脚本:

def index_to_int(index):
    s = 0
    pow = 1
    for letter in index[::-1]:
        d = int(letter,36) - 9
        s += pow * d
        pow *= 26
    # excel starts column numeration from 1
    return s
2020-07-28