create a new variable based on excel sheet values
8 次查看(过去 30 天)
显示 更早的评论
I wanted to import data from excel spread sheets from multiple sheets. So i used a loop
[~,sheet_name]=xlsfinfo('filename.xlsx')
for k=1:numel(sheet_name)
data{k}=xlsread('filename.xlsx',sheet_name{k})
end
Each sheets in the excel file has 5, 3, 4 column data (example)
I wanted to create two variables new_variable1 and new_variable2
When I read the excel sheets itself, how many columns the excel sheet has, I want to fill the new_variable1 with value 1, when reading the next sheet fill the new_variable1 with 2, and so on
So as per the example my new_variable1 will have values
new_variable1 = [ 1 1 1 1 1 2 2 2 3 3 3 3];
Similarly, when I read the excel sheets itself, how many columns the excel sheet has, I want to fill the new_variable2 with value 1 in the first row, when reading the next sheet fill the new_variable1 with 1 in the second row, and so on
So as per example, at last the values in new_variable2 will be
new_variable2 =
1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1
Please can someone help me write the code to get values in new_variable1 and new_variable2
0 个评论
采纳的回答
Stephen23
2022-3-24
fnm = 'test.xlsx';
snm = sheetnames(fnm)
dat = cell(size(snm));
for k = 1:numel(dat)
dat{k} = readmatrix(fnm,'Sheet',snm{k});
end
%
nmc = cellfun(@width,dat);
v1 = repelem(1:numel(dat),nmc)
v2 = v1==(1:numel(dat)).'
5 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Functions in Microsoft Excel 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!