如何根据与另一列的完全匹配对列进行排序

时间:2019-04-05 13:15:32

标签: excel vba ms-access excel-formula

我有一个库存表,看起来像这样(子集):

part number | price | quantity
10115       | 14.95 | 10
1050        | 5.95  | 12
1074        | 7.49  | 8 
110-1353    | 13.99 | 22 

我在工作表2中还有另一个表,看起来像这样(子集):

part number | quantity
10023       | 1
110-1353    | 3
10115       | 2 
20112       | 1

我想从第一张表中的数量中减去第二张表中的数量。最好的方法是什么?我已经看过VLOOKUP和INDEX MATCH了,但是他们对此不太合适。说一个Access DB可能会更好吗?

2 个答案:

答案 0 :(得分:1)

我在工作表1的最后一列旁边添加了另外两列。让我们假设第二个表范围是A1:B5。

图片:

enter image description here

公式:

D列:

=IFNA(VLOOKUP(A2,Sheet2!$A$2:$B$5,2,FALSE),0)

E列:

=C2-D2

答案 1 :(得分:0)

如果要使用MS Access解决此问题,则SQL代码可能如下所示:

select 
    t1.[part number],
    t1.price,
    t1.quantity - nz(t2.quantity, 0) as qty
from 
    inventory t1 left join table2 t2 on t1.[part number] = t2.[part number]

在这里,我假设您有一个名为inventory的表和一个名为table2的表(更改它们以适合您的数据库)。

left join用于确保返回inventory中的所有记录,而不管是否在table2中找到匹配项,并且Nz函数用于对于0中没有part number不匹配的记录,返回table2