excel如何实现 两个表若A1相等,则将表1中的B1减去相应表2中的B

来源:百度知道 编辑:UC知道 时间:2024/05/29 18:22:10
表1如下:
A B C D
1 编号 数量 单价 金额
2 2001 5 10.00 50.00
3 2003 10 214.00 2140.00
4 2101 6 50.00 300.00
5 2106 5 12.00 60.00
表2如下:
A B C D
1 编号 数量 单价 金额
2 2001 5 10.00 50
3 2002 11 5.00 55
4 2003 10 214.00 2140
5 2101 6 50.00 300
6 2106 5 12.00 60

我想在表2的E中生成一列数据,条件是:如果表2中A2=表1中A区域中的任何一个,则将表2中的数量减去相应表1中的数量得到的值显示在表2中的E列,请问高手们如何实现,如果在表2中的A单元格中的值在表1中没有找到,E列则空白

=IF(ISNA(VLOOKUP(A2,表1!A:B,2,0)),"",B2-VLOOKUP(A2,表1!A:B,2,0)).下拉复制。

VLOOKUP

请参阅

在一阵列或表格的最左栏中寻找含有某特定值的栏位,再传回同一列中某一指定储存格中的值。如果用来比对的数值位於您所要寻找的资料之左边栏时,就必须使用到 VLOOKUP 函数,而非 HLOOKUP 函数。

VLOOKUP 中的 V 表示「Vertical」之意。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 是您打算在阵列的最左栏中搜寻的值。Lookup_value 可以是数值、参照位址或文字字串。

Table_array 是要在其中搜寻的资料表格。通常是储存格范围的参照位址或类似资料库或清单的范围名称。

如果 range_lookup 为 TRUE,则 table_array 第一栏的值必须以递增次序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则 VLOOKUP 无法给予正确的值。如果 range_lookup 为 FALSE,则 table_array 不须事先排序。

您可以选择 [资料] 功能表上的 [排序] 命令,选取 [递增],让值依递增顺序排列。

Table_array 第一栏里的值,可以是文字、数字或逻辑值。

字母的大小写被视为是相同的。

Col_index_num 是个数值,代表所要传回的值位於 table_array 中的第几栏。如果 col_index_num 引数值为 1,传回在 table_array 第一栏的值,如果 col_index_num 引数值为 2,传回 table_array 第二栏的值,依此类推。如果 col_index_num 小於 1,则 VLOOKUP 传回错误值 #VALUE!;如果 col_index_num