在Excel或Matlab上以字符串格式递增地址?

在Excel或Matlab上以字符串格式递增地址?,excel,matlab,Excel,Matlab,我想从这里开始: 为此: 在excel或matlab上。这个操作将必须循环通过一个完整的电子表格的地址,这就是为什么我怀疑excel是否有一个有效的方法来完成它。请记住,“地址号”字段是一个字符串变量 我已经上传了一个Matlab单元格数组的电子表格,我正在考虑一次提取一个值,前后连字符,转换为双精度,让脚本递增并填充一个新数组,但这是非常牵强的,我不确定哪些是相关的命令 感谢要将地址号码转换为一系列数字,以下代码应该会有所帮助: instring = '1428-32'; stub = in

我想从这里开始:

为此:

在excel或matlab上。这个操作将必须循环通过一个完整的电子表格的地址,这就是为什么我怀疑excel是否有一个有效的方法来完成它。请记住,“地址号”字段是一个字符串变量

我已经上传了一个Matlab单元格数组的电子表格,我正在考虑一次提取一个值,前后连字符,转换为双精度,让脚本递增并填充一个新数组,但这是非常牵强的,我不确定哪些是相关的命令


感谢

要将地址号码转换为一系列数字,以下代码应该会有所帮助:

instring = '1428-32';
stub = instring;
digits = 0;
while ~strcmp(stub(end),'-')
    stub = stub(1:end-1);
    digits = digits + 1;
end
stub = stub(1:end-1); %stub is now your starting number, but as a string
maxval = instring(end-(digits-1):end);
maxval = strcat(stub(1:end-digits),maxval);
outlist = str2double(stub):str2double(maxval);

我将把它留给你去弄清楚如何把它放回一个更大的数组中,剩下的数据放在里面,这应该不会太难…

我用了一种稍微不同的方法,尽管你的方法看起来更有效:function[vector]=Increment(string)string=strsplit(string,'-')len1=length(string{1,1})len2=length(string{1,2})len3=len1-len2 basenumber=0表示i=1:len3 basenumber=basenumber+str2double(字符串{1,1}(1,i))*10^(len1-i)end targetnumber=basenumber+str2double(字符串(1,2))firstnumber=str2double(字符串(1,1))向量=0表示i=0:(targetnumber firstnumber)向量(i+1)=firstnumber+i end