MATLAB Answers

Average of data multiples excel sheets

조회 수: 7(최근 30일)
Ojo Olusola
Ojo Olusola 2021년 10월 5일
댓글: Mathieu NOE 2021년 11월 19일 10:29
I have one excel file that contains 40 sheets with two column dataseries in each of the sheets. I need a matlab codes that can average the data for the sheet1 - sheet 10, sheets 11 - sheet 20, sheet 21-sheet30, sheet31-sheet40 separately and write the results in sheet 41, sheet 42, sheet 43 and sheet 44 respetively. Can anyone help. Thanks.
Olusola
  댓글 수: 2
Ojo Olusola
Ojo Olusola 2021년 10월 6일
a = xlsread('mydata2a.xlsx')

댓글을 달려면 로그인하십시오.

답변(1개)

Mathieu NOE
Mathieu NOE 2021년 10월 7일
hello
so this is my suggestion
as we have here 10 sheets , my demo works for either groupped 2 or 5 sheets
this is driven by the parameter k , and of course it must be choosen accordingly to the number of input sheets
with k = 5 , 2 new sheets are added with the averaged data of sheets 1 to 5 and 6 to 10
with k = 2 , 5 new sheets are added with the averaged data of sheets 1 to 2 , 3 to 4 ,..., 9 to 10
code :
clc
clearvars
% Importing Data from excel across multiple sheets.
filename = 'mydata2a.xlsx';
[~,sheet_name]=xlsfinfo(filename);
nsheets = numel(sheet_name);
% retrieve raw data
for k=1:nsheets % nsheets
[data,~,~]=xlsread(filename,sheet_name{k});
% mean values per sheet
data_mean_one_sheet(k,:) = mean(data);
end
%% export
% mean of k successive sheets among nsheets (total)
k = 5;
for ck = 1:nsheets/k
ind = (1:k)+(ck-1)*k;
data_mean_k_sheets(ck,:) = mean(data_mean_one_sheet(ind,:));
xlswrite(filename,data_mean_k_sheets(ck,:),nsheets+ck);
end
  댓글 수: 13
Mathieu NOE
Mathieu NOE 2021년 11월 19일 10:29
hello again
sorry , but it seems you didn't press the "accept" button ...
all the best

댓글을 달려면 로그인하십시오.

태그

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by