Excel中的查找功能可以轻松实现以下功能:根据左侧序号对应的名称,将右侧序号相同的名称进行匹配。
现在边肖在想是否可以用matlab实现Excel的查找匹配功能。下面是一个小的书面函数查找。
函数result _ data=lookup (x,y,xdata)% x是要搜索的范围数据% y是x=y时匹配的数据,x和xdata数据是对应的%声明空间index _ x=zeros,length(x));index _ y=零(1,长度(x));data=num2cell(零(长度(y),2)* NaN);对于i=1:length(x)对于j=1:length(y)如果isequal(x(i),y(j))index _ x(I)=I;index _ y(I)=j;end end index _ x(find(index _ x==0))=[];index _ y(find(index _ y==0))=[];数据(:1)=y;For=1:长度(index _ x)%子集长度%数据(index _ y (n),2)=x(index _ x(n));data(index_y(n),2)=xdata(index _ x(n));end Result _ data=数据;目标
读入Excel数据。
清除,clc[Num,TxT,Raw]=xls read(' data . xlsx ');结果=查找(原始(:4),原始(:1),原始(:5))
显示处理结果:
很容易看出数据吻合。
特别说明:Lookup中的Y(x,Y,xdata)必须按升序或降序排列,不能乱序排列,否则会出现匹配错误。