自动化Excel工作表以将特定行中的信息应用于另一个工作表

时间:2015-03-25 02:34:16

标签: excel vba excel-vba

我在excel中设置了2个工作表。工作表1是我每周编辑的动态信息。工作表2是静态的,不会更改。工作表1中的一列与工作表2中的特定行相关联。例如,如果工作表1列C中包含4,则我希望应用工作表2中第4行中的内容来替换带文字的那个号码。

这有意义吗?

1 个答案:

答案 0 :(得分:0)

如果你说你已经有一个预先填写的C列,它将Sheet1中的一行映射到Sheet2中的一行,那么你需要的只是INDEX函数将Sheet2中的信息拉入Sheet1。

你不能"取代" Sheet1 col C中的数字与Sheet2中的信息;你需要将它作为#行保存到Sheet2中。因此,您将Sheet2中的信息复制到Sheet1上的其他列中的Sheet1中。但是如果你不想因为某种原因看到它,你可以在Sheet1中隐藏Col C.或者只是将Sheet1中的映射列移动到右边的某个列。

如果Sheet2中有多列要移动到Sheet1,只需在正确的Sheet1列中使用多个INDEX函数,并使用正确的Sheet2列号。

将Sheet1中的一个数据元素从Sheet2拉到Sheet1的一个简单示例(将 col#inSheet2 替换为Sheet2列号);美元符号很重要:

=INDEX(Sheet2!$A$1:$A$1, Sheet1!$C2, col#inSheet2)

如果Sheet1中的行发生更改,但是每行键值将Sheet1中的行映射到Sheet2,则使用Sheet1 col C中的MATCH函数获取Sheet2中映射到Sheet1的行#。如果有多列数据要从Sheet2传输到Sheet1,则尤其如此。

正如@ L42所提到的,如果只有一列从Sheet2移动到Sheet1,则使用VLOOKUP,并且Sheet1到Sheet2的行再次每周更改,并且再次有一个每行键值映射两个片材。