matlab实现跨表自动对应标题填写数据

1. 在这次国赛建模中发现最后的结果填表是一件很繁琐的事情,于是手写了这份代码和大家分享。
下面对代码的功能作出说明:
当要实现:将2表中的数据搬到1表中对应标题的行中时,可以利用此代码块实现。
要被搬运的数据:
实现效果如图:

搬运完对应数据后的效果:(黄色为后期填充,与代码无关)

下面给出此实例的.m代码和数据表,需要的自行修改参数即可完成不同任务的需求
补充:下面的lettertoxls函数需要自己copy一份,放在对应路径下,成.m文件。这个函数文件在我的文章:> https://www.cnblogs.com/Hello-world-hello-lazy/p/15228690.html 《用matlab对excel中数据选择性染色》中可以find到


clc,clear;
% 2表的数据往1表有位置的地方填
[a,b,c]=xlsread("C:\Users\HUAWEI\Desktop\2.xlsx","sheet1");
[d,e,f]=xlsread("C:\Users\HUAWEI\Desktop\1.xlsx","sheet1");
for i=1:8
    for j=1:7%两个循环扫描待被填的数据(最大是7,不是8,为了防止越界,因为lettertoxls(j+1)这里是j+1
        for k=1:17%扫描待填表待填的位置(首列即为标题)
        if(strcmp(c(i,1),f(k,1))==1)%若标题号对应上了
            str2=int2str(k);
            lie=lettertoxls(j+1);%+1是因为a,c的矩阵大小和分布不同,之间差了一列,jmax=7,因为不能超界
            poistion=strcat(lie,str2);
            writematrix(a(i,j),"C:\Users\HUAWEI\Desktop\1.xlsx","Sheet",1,'Range',poistion);
        end
        end
    end
    end

最后是实例对应的数据表:
表2
链接:https://pan.baidu.com/s/1ZR1Uxy4J2-ZCgmhAihxTFA
提取码:s29x
表1
链接:https://pan.baidu.com/s/13-Cs-xzavPR1mzY9-bO0Pw
提取码:imy3

posted @ 2021-09-16 21:07  py佐料  阅读(266)  评论(1编辑  收藏  举报