10进制转为26进制字母,可用于matlab输出到excel的定位
function col=num2abc(num) %将10进制转换为26进制字母
a=floor(num/26);%求除26的商,用于求第1位
b=rem(num,26);%求26的余,用于求第2位
if b== 0 %num=26的情况,只有一位,因此a=0
a=0;
end
if a0&b0 %商余同时为0,即为字母Z,NUM=26
letter = char(‘Z’);
else
letter = char(‘A’+b-1)’;
end
if floor(num/26)>0&num~=26 %商大于0,且num不为26
col=floor(a/26);
if floor(num/26)>1
if b>0
col= char(‘A’+floor(num/26)-1)’;
else
col= char(‘A’+floor(num/26)-2)’;
end
else
col= char(‘A’+floor(num/26)-1)’;
end
col = strcat(col,letter);
else
col=letter;
end