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()
高手啊,递归,看着都晕,这个是我写的 请问 Excel 里第 n 行第 m 列怎么表示