MATLAB Answers

How to define range using a variable in xlsread?

15 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)