0

我需要为这段代码做的是导入一个巨大的 (302x11) excel doc,然后要求用户输入。然后,我需要遍历 excel 数组第 5 列中的每个元素,如果该元素与用户输入匹配,则将整行保存到新数组中。在浏览完所有 302 行之后,我需要显示新数组。

到目前为止,我有这个:

Vin = input('Vin: ');
filename='MagneticCore.xlsx';
sheet=2;
xlRange='B2:L305';
[ndata, text, alldata] = xlsread(filename,sheet,xlRange,'basic');

在此之后,我不确定如何遍历 alldata 数组。

4

2 回答 2

2

alldata 是一个单元格,选择第五列可以使用alldata{:,5}。以这种方式在单元格中搜索,无需迭代

自行尝试,如果您遇到问题,请使用代码和错误消息更新您的问题

于 2013-10-29T20:37:21.870 回答
0

Daniel R 是对的,您可以在不遍历元胞数组的情况下执行此操作。如果需要,可以通过以下方式遍历数组:

[ndata, text, alldata] = xlsread('Book1.xlsx');

target = 12;
newArray = {};
for r = 1:size(alldata, 1)
    % get the element in the fifth column of the current row
    e = raw{r,5};
    if e == target
        % add to newArray
        newArray{end + 1} = alldata(r,:);
    end
end

% display newArray
for r = 1:size(newArray, 1)
    disp(newArray{r})
end
于 2013-10-29T20:46:38.657 回答