2017-02-23 154 views
0

如何根据列A中的值填写列G,H,I中的数据在列B,C & D中的数据?Excel VLookup使用其他列中的数据填充相邻单元格中的数据

这里是我的原始数据

1       1 a b c 
2       2 d e f 
3       3 g h i 
4       4 j k l 
5       5 m n o 
6       6 p q r 
7       7 s t u 
8       8 v w x 
9       9 y z aa 
10       10 bb cc dd 

最终的结果

1 a b c  1 a b c 
    4 j k l  2 d e f 
    3 g h i  3 g h i 
    5 m n o  4 j k l 
    2 d e f  5 m n o 
    7 s t u  6 p q r 
    6 p q r  7 s t u 
    8 v w x  8 v w x 
    10 bb cc dd  9 y z aa 
    9 y z aa  10 bb cc dd 

列中的1匹配F1和拉从G数据,H & I

我可以做这使用VLOOKUP和只有一列,但是有可能得到VLOOKUP来获取和填充3列中的数据吗?

编辑:

aa a b c 
bb d e f 
cc g h i 
dd j k l 
ee m n o 

输入下面使用CTRL + SHIFT公式+输入给我只能aa

{=VLOOKUP("aa",$A$1:$D$5,{1,2,3,4},FALSE)} 
+0

肯定。 VBA会很好...... – Norman

+0

为什么不能使用'= index(G:G,match(A1,F:F,0))','= index(H:H,match(A1,F:F ,0))'和'= index(I:I,match(A1,F:F,0))'填充列B,C和D? –

+0

实际上,我试图在'http:// www.exceltrick.com/formula_macros/vlookup-in-excel /#Vlookup-Multiple'中的'如何从VLOOKUP中返回多个列?我不能让它像他那样返回值... – Norman

回答

2

我不知道你是如何按照说明,但需要先选择单元格B1,C1D1,并且不要点击任何其他地方键入此公式:

=VLOOKUP($A1,F:I,{2,3,4},FALSE) 

,然后按下Ctrl键++输入
现在保持细胞B1C1D1选择DARG下来,直到你在A列中数据

下面是截图复制您的数据:

enter image description here

+0

非常感谢。我得到了它的工作。在输入公式之前,我没有选择三个细胞。 – Norman

+0

很高兴帮助:) – ManishChristian

1

如果你想使用VBA ,你可以创建一个简单FOR循环找到你的价值观:

Sub CompleteColumns() 

Dim lastrow As Long 

lastrow = Cells(Rows.Count, "A").End(xlUp).Row 

For x = 1 To lastrow 
    For y = 2 To lastrow 
     If Range("A" & x).Value = Range("F" & y).Value Then 
      Range("B" & x & ":D" & x).Value = Range("G" & y & ":I" & y).Value 
     Exit For 
     End If 
    Next y 
Next x 

End Sub 
相关问题