我在 Excel 中有两个不同的工作表,每个工作表有两列。第一列包含商品名称,第二列包含数量。
我如何获得数量的差异?
两张表中的项目均未排序,且顺序也不一致。
答案1
您所追求的是VLOOKUP()
功能。
Sheet2
像这样设置
就像Sheet1
这样
输入以下公式C2
,然后按 ctrl-enter/copy-paste/fill-down/auto-fill 将其填充到表格其余列中:
=ABS(B2-VLOOKUP(A2,Sheet2!$A$1:$B$8,2,FALSE))
解释:
该VLOOKUP()
函数的工作原理是在第二个参数指定的范围的第一列中查找第一个参数的值,并返回第三个参数指定的列中同一行的值。(第三个参数是第二个参数范围的列的从一开始的列索引。)
该函数的作用只是将所有差值设为正值。如果您还需要知道 中的数量是大于还是小于 中的ABS()
数量,则可以省略该函数。Sheet2
Sheet1
#N/A
当 中的项Sheet1
在 中没有对应条目时,将导致错误Sheet2
。如果需要,可以使用 函数将其更改为任何字符串IFERROR()
。
答案2
怎么运行的:
将其写入单元格
G3
并Sheet 2
填写。=IFERROR(VLOOKUP(Sheet1!A3,$A$3:$B$9,2,False)-Sheet1!B3,"Not Found")
VLOOKUP
函数查找并匹配工作表之间的项目,如果找到则减去数量,否则IFERROR
返回Not Found
消息。
H3
或者您也可以在单元格中使用这个Sheet 2
并填写。
=IFERROR(ABS(IF(COUNTIF(A$3:A$9,Sheet1!A3)<>0,Sheet1!B3-INDEX(B$3:B$9,MATCH(Sheet1!A3,A$3:A$9,0))," ")),"Not Found")
- 在公式的第一部分中,
COUNTIF
找到两个工作表之间的匹配项Items
,如果返回1
,则公式的下一部分Subtracts Quantities
在工作表之间进行,该部分由组合支持INDEX & MATCH
。
根据需要调整公式中的单元格引用。