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

2 ビュー (過去 30 日間)
farkab95
farkab95 2017 年 9 月 21 日
編集済み: farkab95 2017 年 9 月 21 日
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"

回答 (1 件)

Simon Henin
Simon Henin 2017 年 9 月 21 日
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 件のコメント
farkab95
farkab95 2017 年 9 月 21 日
編集済み: farkab95 2017 年 9 月 21 日
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!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by