QQ:1641062666
你自己的那段代码错误太多了,给你调不如重写呢。
还是我那段吧,贴出来也给别人分享下。
[data,txt]=xlsread('D:\Test.xlsx','输入');
N=size(data,1);%学生个数
avg=mean(data(:,2:4)');%data:学号、语、数、外
datasort=[data avg'];
datasort=round(100*datasort)/100; %保留2位小数
[DATA,ind]=sort(datasort(:,end),'descend');%以平均成绩排序
outdata=[datasort(ind,:) [1:1:N]'];%[1:1:N]是名次
xlswrite('D:\Test.xlsx',outdata,'输出','B2');%输出成绩
outtxt=txt(ind,:);
xlswrite('D:\Test.xlsx',outtxt,'输出','A2');%输出姓名
titlename={'姓名','学号','语文','数学','英语','平均','排名'};
xlswrite('D:\Test.xlsx',titlename,'输出','A1');%输出字段名称
写的比较简单易懂
温馨提示:答案为网友推荐,仅供参考