excel 根据数字确定特定列

最近遇到这么个问题,在 execl 中 126 中对应的是 AZ,在 27 往后就是 AA…,现在给一个任意的数字,请判定对应的哪一列?
一开始我是通过一个列表进行切片匹配,后来发现有问题。重新改写了下:

def getColumnName(columnIndex):
    ret = ""
    ci = columnIndex - 1
    index = ci // 26
    if index > 0:
        ret += getColumnName(index)
    ret += chr(ci % 26 +65)

    return ret

def main():
    a = [
        1, 26, 27, 52, 53, 72, 73, 1 * 26**2 + 2 * 26**1 + 3,
        4 * 26**3 + 3 * 26**2 + 2 * 26**1 + 1
    ]
    # A  Z   AA  AZ  BA  BT  BU  ABC DCBA
    for i in a:
        print(f"{i}={getColumnName(i)}")


if __name__ == '__main__':
    main()