MATLAB Answers


How to define range using a variable in xlsread?

Asked by Rishabh Mittal on 25 Sep 2019
Latest activity Commented on by 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.

1 Answer

Answer by Adam
on 25 Sep 2019
Edited by Adam
on 25 Sep 2019
 Accepted Answer

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

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.