美文网首页
MATLAB|Excel中的列名与数字的对应

MATLAB|Excel中的列名与数字的对应

作者: 冰冻生菜ch | 来源:发表于2018-03-28 12:27 被阅读493次

    最近处理数据将数据批量写入excel中,需要一个子函数,将excel中列名(字母)与数字对应,写了一个子函数,但是有点问题,找了网上的一些资料,发现这竟然曾经是一道程序员笔试题目。

    网上的一些例子,链接如下:

    因为我的数据最多也就是1000个,不超过excel的1000列,也就是最多用到三个字母。
    别人写的都简短。我写的很拙略,看起来很笨,运行了一下有点问题,贴出来吧。

    程序如下(有点问题):

    function str_lie=Z1_col_alphabet_relate_num(datanum_col)
    %% 找出excel列对应的字母
    str_alphabet={'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'};
    if datanum_col<=26   %一个字母
        str_lie=str_alphabet{1,datanum_col};
    end
    if datanum_col>26&&datanum_col<=26+26*26    % 2个字母
        lie_1=fix(datanum_col/26);   %整数
        lie_2=mod(datanum_col,26);   %余数
        str_lie=strcat(str_alphabet{1,lie_1},str_alphabet{1,lie_2});
    end
    if datanum_col>26+26*26&&datanum_col<=26*26+26*26*26    % 3个字母
        lie_1=fix(datanum_col/26/26);   %整数
        lie_2=fix((datanum_col-26*26)/26);
        lie_3=mod(datanum_col,26);   %余数
        str_lie=strcat(str_alphabet{1,lie_1},str_alphabet{1,lie_2},str_alphabet{1,lie_3});
    end
    

    相关文章

      网友评论

          本文标题:MATLAB|Excel中的列名与数字的对应

          本文链接:https://www.haomeiwen.com/subject/uteeqftx.html