Excel VBA创建列并根据另一列

时间:2015-05-08 03:43:30

标签: excel vba excel-vba

好的,所以我必须创建两个新列,并使用其他工作表中的数据填充它,如果另一列的值匹配。我会将其分解以使其更容易理解。有两个工作表即; “JULY15Release_Dev status”和“JULY '15 Rel”。 这两个工作表都有一个标题为“eRequest ID”的列A.我需要为“JULY15Release_Dev status”创建两个新列,并使用“JULY '15 Rel”中的数据填充它,如果“eRequest ID”与该特定匹配一行数据。

通过创建两个新列并用数据填充,它不一定必须“创建然后填充”,复制精确的2列也没关系,只要数据保持不变完整。如果数据影响任何内容,数据将采用日期/时间格式。提前感谢您的帮助,因为我是初学者!

2 个答案:

答案 0 :(得分:0)

让我们说,在VLOOKUP之前,我们的JULY15Release_Dev status表格如下:

   A          B          C
1 eRequestID  FirstName  Lastname
2 10
3 30

JULY '15 Rel看起来像这样:

   A          B          C         D ....
1 eRequestID  FirstName  Lastname  Age
2 10          Jon        Smith     40
3 20          Matt       Kahn      50

我们的任务是将JULY '15 Rel的FirstName和Lastname转换为JULY15Release_Dev status

VLOOKUP中添加JULY15Release_Dev status后,工作表如下所示:

   A          B                                                        C
1 eRequestID  FirstName                                                Lastname
2 10          =VLOOKUP(Sheet1!A2,'JULY ''15 Rel'!$A$1:$C$3,2,FALSE)    =VLOOKUP(Sheet1!A2,'JULY ''15 Rel'!$A$1:$C$3,3,FALSE)
3 30          =VLOOKUP(Sheet1!A3,'JULY ''15 Rel'!$A$1:$C$3,2,FALSE)    =VLOOKUP(Sheet1!A3,'JULY ''15 Rel'!$A$1:$C$3,3,FALSE)

试一试,看看它是如何运作的。

答案 1 :(得分:0)

替代回答图

=INDEX(Sheet!A:1:1048576, MATCH(A2, 'JULY ''15 Rel'$A:$A,0),[column number])

无需数据排序 如果你想把它放到宏中,除非根据其他变量或任务使用,否则它有点多余。