一个excel,要求输入整数返回他的表头,比如输入1,返回A,输入2返回B,输入27返回AA。请大家给我一个思路。很急,对我很重要,明天中午之前揭贴!谢谢高手们!

解决方案 »

  1.   

    这个问题是这样的,首先要从10自然数转换为26进制,这个用除法就可以了。每次记下余数。比如2005/26=77余3,记下3,77继续除
    77除26等于2余25,记下25,2继续除
    2除26等于0余2,记下2,结束那么10进制的2005就是26进制的:2, 25, 3,注意顺序要倒过来然后,转化为字母就是BYC。但是,有一个问题就是0的存在。如果有0,比如26进制的结果是3, 0, 15,那么,对于0要转化为26,并把前一位减一,成为2, 26, 15,也就是BZO。相当于减法的借位。不过,考虑到连续的借位,要从高位往低位搜索。比如:
    第一步:26进制结果是 3, 0, 4, 0, 0, 5
    第二步:从连续的0的开头进行向后借位,结果是 2, 26, 3, 26, 0, 5
    第三步:同第二步,循环直至没有0,结果是:2, 26, 3, 25, 26, 5
    第四步:结果是BZCYZE