Can you not just read the whole table and the select the data you want from the resulting matrix?
pathname = 'C:\Users\julia\Desktop\Test\PCR\';
fileList = dir('*.xls*');
numberOfFiles = length(fileList);
data = table
for i = 1:numberOfFiles
fileName = fileList(i).name;
table = readtable(fileName, 'Sheet', 'Results');
data_range = table(37:end,[4 5 9]);
data = [data; data_range];
Unless the table you are loading is very big with lots of rows/columns you don't want, this shouldn't really add much time. As the range feature of readtable works as in rectangular coordinates I don't think you can read discontiguous sections.
You could also just read rows 37 to end and columns 4 to 9, then remove columns 6-8.
Hope this helps,