我有一个带有4列(A,B,C,得分)的excel_1,它们具有不同的组合。我有另一个excel_2有3列(A,B,C)。我想根据A,B,C找出分数。我正在尝试使用excel索引和匹配功能,但我仍然无法弄清楚。没有编码,它真的让我很难一一匹配...我可以知道如何在Matlab中编写代码吗?
示例:
excel_1
99 5 35 12
99 2 32 14
97 5 13 94
...
excel_2
97 5 13
99 2 32
...
执行代码后,
结果:
excel_2
97 5 13 94
99 2 32 14
...
非常感谢...
A = xlsread('excel_1.xlsx');
B = xlsread('excel_2.xlsx');
[~,J] = ismember(B,A(:,1:size(B,2)),'rows');
if any(J)
result = A(J,:);
end
??? Subscript indices must either be real positive integers or logicals.
Error in ==> Untitled at 6
result = A(J,:);
解决。在B和A之间不可能存在。
答案 0 :(得分:2)
可能你可以试试这个。
[~,J] = ismember(excel_2,excel_1(:,1:size(excel_2,2)),'rows');
if any(J)
result = excel_1(J,:);
end
然后
result =
97 5 13 94
99 2 32 14