How can i use a loop for various sheet in excel?

5 views (last 30 days)
Hello everybody, i am new in matlab, and i have a very simple question...
i have eight sheets with datas and i wan to applied the mean and the sort for everyone in the column, and yes this programm do that, but i have to copy and paste for every document, for example this is for Temperature in eight years, but i want to continous with humidity, velocity of wind and other variables.
So if you can help me ,I would really appreciate it
this is my code:
HE1=xlsread('HEN','1');
k=1:8
for k=1:1
HE1=xlsread('HEN',1);
p=mean(HE1);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A1');
HE2=xlsread('HEN',2);
p=mean(HE2);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A2');
HE3=xlsread('HEN',3);
p=mean(HE3);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A3');
HE4=xlsread('HEN',4);
p=mean(HE4);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A4');
HE5=xlsread('HEN',5);
p=mean(HE5);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A5');
HE6=xlsread('HEN',6);
p=mean(HE6);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A6');
HE7=xlsread('HEN',7);
p=mean(HE7);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A7');
HE8=xlsread('HEN',8);
p=mean(HE8);
ps=sort(p);
xlswrite('datosexcel4.xlsx', ps, 'Hoja1', 'A8');
end

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 9 Jan 2020
Edited: KALYAN ACHARJYA on 9 Jan 2020
Excel_files=dir('C:\Work\steven_work\*.xlsx');
for i=1:length(Excel_files)
fName=strcat('C:\Work\steven_work\',Excel_files(i).name); % Excels Files Folder Path
data1=xlsread(fName,i);
[~,filename,~]=fileparts(fName);
xlswrite([filename,'.xlsx'],data1,'Sheet');
end
#Do minor mdification. as required. I hope you get the idea (Do Search other FAQ to call files, another option to use fullfile)
  2 Comments
Ana Soph
Ana Soph on 9 Jan 2020
Thanks,
but I have problems applying it to my program
Ana Soph
Ana Soph on 9 Jan 2020
i finally got it !
clear; clc
for i=1:8
TE = xlsread('TEN',i);
p = mean(TE);
ps = sort(p);
A(i,:)= ps;
end
xlswrite('datosexcelprueba.xlsx', A, 'Hoja1','A1');

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!