如何根据与另一列的完全匹配对列进行排序
Posted
技术标签:
【中文标题】如何根据与另一列的完全匹配对列进行排序【英文标题】:How to sort a column based on exact matches with another column 【发布时间】:2019-04-05 13:15:32 【问题描述】:我有一个如下所示的库存表(子集):
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 会更好吗?
【问题讨论】:
【参考方案1】:我在表格 1 的最后一列旁边添加了另外两列。让我们假设第二个表格范围是 A1:B5。
图片:
公式:
D 列:
=IFNA(VLOOKUP(A2,Sheet2!$A$2:$B$5,2,FALSE),0)
E 列:
=C2-D2
【讨论】:
【参考方案2】:如果您想使用 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
的记录table2
中没有 part number
匹配项。
【讨论】:
以上是关于如何根据与另一列的完全匹配对列进行排序的主要内容,如果未能解决你的问题,请参考以下文章