将excel范围与不同的范围块匹配

时间:2017-09-20 17:06:51

标签: excel vba excel-vba

我想在右边排一行,然后将它与左边的行匹配,然后比较两个值。我制作了这个可以在单个实例上工作的公式。

=IF(SUMPRODUCT(COUNTIF(B6:F6,$I$5:$M$5))=COUNT($I$5:$M$5), IF($N$5=G6, "Match", "No-Match"), FALSE)

enter image description here

问题是当我左右有数百行时,我能想到的唯一解决方案就是制作一个庞大的测试矩阵。是否可以将其压缩为单个单元格,内置公式或vba?

2 个答案:

答案 0 :(得分:0)

你可以使用矩阵公式来处理数组而不是值。

如果您想查看范围A1:A5和B1:B5是否具有相同的值,您可以使用

=AND(A1:A5=B1:B5)

完成公式后,请不要忘记使用 Ctrl + Shift + Enter ,因为它会指定它是矩阵公式。

此示例评估A1 = B1和A2 = B2,如果所有条件均为真,则输出TRUE。

要了解有关Excel数据公式的更多信息,您可以开始使用excel official help page about array formulas

答案 1 :(得分:0)

您可以创建两个辅助列,例如Column-G&列-N。 (见附图)

列-G公式:=第no行的CONCATENATE(A2,B2,C2,D2,E2,F2)。 2并向下拖动到最后。

列-H公式:=第一行的CONCATENATE(H2,I2,J2,K2,L2,M2)。 2并向下拖动到最后。

现在在Column-O你可以输入“MATCH”公式来匹配行,如果它不匹配你会得到#NA错误

Row Match Trick