2012-10-23 34 views
1

我试图匹配cols a(id)和c(id),然后匹配相应的''余额''栏b(余额)和d(余额)。match cols a and c then match cols b and d

例如我需要这样的输出(在平衡匹配键上的ID):

id balance id balance does balance match keying on id 
1 20.1 2 30 yes 
2 30 6 24.6 no 
3 12.5 4 16 yes 
4 16 5 51 no 
5 50 3 12.5 yes 
6 24.5 1 20.1 yes 

它推动我坚果。我可以将id与vlookup进行匹配,但是如果所有行都混在一起(如上所述),我无法轻松比较b和d中的相应余额。如果行的顺序当然很容易(使用IF(b = d,“true”,“false”)) 在这种情况下,我确实有数以万计的行。

有没有人知道一种方法来做到这一点?任何帮助,将不胜感激

+0

只是通过id降序排列列c和d不是一个选项? – scott

回答

1

使用数组公式...

将这个在E1:

=ISNUMBER(MATCH(C2&D2,A:A&B:B,0)) 

然后按Ctrl + Shift + Enter键,使其成为一个数组公式,并拖累

希望这个伎俩!

+0

...此外,为了使效率更高,您可以将“A:A”更改为更具体的范围,如“A2:A1000”,“B:B”相同。 –

1

你应该可以在这里使用vlookup,除非我完全不理解某些东西。如果您的标题位于第1行,并且值从第2行开始,则会将您的值置于A2至D(x)的范围内,其中x是您最后一行的值。在你上面的例子中,这将是第7行,所以A2到D7。

您可以设置您的'平衡匹配'(在您的示例中为E2)以使用此公式,再次用7代替$ D $ x中的x来定义数据集的范围。

=IF(D2=VLOOKUP(C2,$A$2:$D$7,2),"yes", "no") 

然后将其拖到最后一行以完成结果列。

+1

真相我有点像Adam的回答更多比我的 - 我尝试和避免数组公式,如果我有选择...好,高效,亚当 –

0

还有另一个选择:

假设你的数据在A1开始...

公式E2可能是

=IF(INDEX(A:D,MATCH(C2,A:A),2)=D2,"Yes","No") 

复制这个公式的粘贴下来的所有行会给出结果请求。

请注意,我使用A:D,因此您不需要仅定义数据的范围列。