I would like to write an else if statement from data imported from an excel file

14 views (last 30 days)
farkab95
farkab95 on 21 Sep 2017
Edited: farkab95 on 21 Sep 2017
If I had the following data from Excel:
How can I write an else if statement such as if Student Name is "Mary" then display Major name and class or else display "No Data"

Answers (1)

Simon Henin
Simon Henin on 21 Sep 2017
You have a couple options. If you just want to find the row for Mary, you can use option 1. If you specifically want an if/else statement, you can loop through each row and output the info using option 2.
% read in the data
[~, exceldata] = xlsread('excel-file.xlsx');
% Option 1: find the relevant index for Mary
idx= find(strcmp(exceldata(:,1), 'Mary'));
fprintf('%s, Major: %s, Course: %s\n', exceldata{idx, 1:3});
% Option 2: using a loop
for i=1:size(exceldata,1),
if strcmp(exceldata{i,1}, 'Mary'),
fprintf('%s, Major: %s, Course: %s\n', exceldata{i, 1:3});
else
fprintf('no data\n');
end
end
  1 Comment
farkab95
farkab95 on 21 Sep 2017
Thank you that helped a lot! I needed something like option 2. Is there a way so that only one result is displayed instead of an output for each row? For example, if the conditions are met, only Mary's name and major is displayed and if they are not, "No Data" is displayed only once.
Thank you again!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!