MATLAB Answers

How to define range using a variable in xlsread?

14 views (last 30 days)
Rishabh Mittal
Rishabh Mittal on 25 Sep 2019
Commented: Rishabh Mittal on 27 Sep 2019
I would like to read a row from excel file in Matlab. The row's staring and end columns are defined but I would like to use a variable to define the row number. I have tried the following:
row_no = 50;
x = xlsread('yourfile.xlsx', 'sheet', ['B50:EHI' num2str(row_no)]);
The above code allows the use of variable `row_no` to define the end cell `EHI50`. But can this also be done for referring to the starting cell `B50`?


Sign in to comment.

Accepted Answer

Adam on 25 Sep 2019
Edited: Adam on 25 Sep 2019
doc sprintf
can create a string out of variables, e.g.
columnStr = 'B';
startRow = 50;
endRow = 50;
sprintf( '%s%i:EHI%i', columnStr, startRow, endRow )
Or if you always want the same start and end row you can simplify it by using the same variable for both.

  1 Comment

Rishabh Mittal
Rishabh Mittal on 27 Sep 2019
Thanks Adam for your answer. I also found an alternate solution:
['B' num2str(row_no) ':EHI' num2str(row_no)];
Both of the solutions work.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by