基于密钥在工作表之间移动数据

时间:2012-12-11 19:38:54

标签: excel vba excel-vba

在两个工作表中,我在A列中都有一个键。并非所有键值都在两个工作表中。 对于工作表1的A列中的每个键值,我想在工作表2中找到相应的键,并将工作表2的B列中的数据移动到工作表1的B列中。

我从来没有编写过一个宏,所以我完全迷失了写这段代码。

2 个答案:

答案 0 :(得分:2)

这里不需要VBA,菲利普。

在Sheet1的单元格B1中尝试此公式:

=IFERROR(vlookup(A1,Sheet2!A:B,2,false),"")

如果您使用的是XL 2003,请执行以下操作:

=IF(ISERROR(vlookup(A1,Sheet2!A:B,2,false)),"",vlookup(A1,Sheet2!A:B,2,false))

然后将此公式向下拖动到Sheet1的A列中的其余数据。

NB - Sheet2是Worksheet2的假定名称,您可能需要更改以满足您的需求。

NB2 - 您可以在Excel帮助(或在线)中查找vlookup以更好地了解它的作用

答案 1 :(得分:0)

您确定需要使用宏吗?听起来像你使用的是Excel,一个简单的VLOOKUP公式可以满足您的需求。

VLOOKUP如下所示:= VLOOKUP(A1,Sheet2!$ A:$ B,2,FALSE)

A1是你的参考单元格(在这种情况下你是A栏中的“键”)。

Sheet2!$ A:$ B是查找表(在本例中是第二张表中的A和B列)。

2是您想要数据的列号,从左侧开始计算(在本例中为第二列,B列)

FALSE告诉公式只返回完全匹配的值。 TRUE返回查找表中最接近的匹配。