Excel公式计算两列之间的差异。如果在C中找到A,则D-B。但列表的顺序不同

Excel公式计算两列之间的差异。如果在C中找到A,则D-B。但列表的顺序不同,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,我有4列A、B、C、D 在A中我有一些零件号,在B中我有数量。在C中,我有几乎相同的零件号,但在D中,我有不同的数量 如果在A中找到C中的零件号,我需要在D和B D-B之间进行区分。好的结果应该在E中 图片: 我试过这个公式,但不是很好 =IFERROR(IF(VLOOKUP(A2,C:C,1,FALSE)=A2,D4-B2),"NOT FOUND") 这个公式不好,因为我必须手动放置D4-B2、D2-B6、D6-B5等等。我有300行来计算这些差异,我想可能有一个公式来计算 您不需要将代码保

我有4列A、B、C、D

在A中我有一些零件号,在B中我有数量。在C中,我有几乎相同的零件号,但在D中,我有不同的数量

如果在A中找到C中的零件号,我需要在D和B D-B之间进行区分。好的结果应该在E中

图片:

我试过这个公式,但不是很好

=IFERROR(IF(VLOOKUP(A2,C:C,1,FALSE)=A2,D4-B2),"NOT FOUND")

这个公式不好,因为我必须手动放置D4-B2、D2-B6、D6-B5等等。我有300行来计算这些差异,我想可能有一个公式来计算

您不需要将代码保存在VLOOKUP中:


向下拖动可自动填充。这样,您可以搜索代码,但要获取值。

我认为这应该可以做到。在E2中输入公式并复制/向下拖动:

=IF(COUNTIF(A$2:A$7,C2)<>0,D2-INDEX(B$2:B$7,MATCH(C2,A$2:A$7,0)),"Not Found")

只需将下面的公式放在E2中,然后选择E2,直到所需的行,然后按CTRL+D

=IFERROR(VLOOKUP(A2,C:D,2,FALSE)-B2,"NOT FOUND")

你在这里收到了三个答案,有没有好的?请考虑接受一个或是投票赞成的。
=IFERROR(VLOOKUP(C2,$A$2:$D$7,4,0)-B2,"Not Found")
=IFERROR(VLOOKUP(A2,C:D,2,FALSE)-B2,"NOT FOUND")