从其他工作表上的其他工作表中提取col值

时间:2019-06-21 05:23:02

标签: excel excel-formula vlookup

我有两个Excel工作表。在excel表格1中,我有一个列account,里面有数字;在excel表格2中,我也有一个列account,里面有相同且更多的帐号,也有更多的列像其中的addresscity。现在,我要从工作表2中提取我在工作表1中拥有的所有帐户的addresscity值。我们如何通过linux命令或在excel中做到这一点?

**sheet-1**

account
123456423
987655142
256091212

**sheet-2**

account   colA      colB    colC    address    city
.....
.....
.....

这里的点是值。做这个的最好方式是什么?我是excel的新手。

2 个答案:

答案 0 :(得分:1)

INDEX()MATCH()的组合是您最好的朋友。

地址示例:

=INDEX(Sheet2!$E$2:$E$4,MATCH(A2,Sheet2!$A$2:$A$4,0))

如果您想特定于列,也可以:

=INDEX(Sheet2!$A$2:$F$4,MATCH(A2,Sheet2!$A$2:$A$4,0),5)

如果需要的话,甚至可以使其范围动态化:

=INDEX(Sheet2!$A$2:INDEX($F:$F,COUNTA($F:$F)),MATCH(A2,Sheet2!$A$2:INDEX($A:$A,COUNTA($A:$A)),0),5)

如果仅将此公式放在工作表1上的单元格B2中,这将为您完成所有操作。我们也可以使您要查找的列也变得动态:

就像指定动态INDEX列参数一样:

=INDEX(Sheet2!$A$2:INDEX($F:$F,COUNTA($F:$F)),MATCH(A2,Sheet2!$A$2:INDEX($A:$A,COUNTA($A:$A)),0),COL(E2))

或者像这样指定动态矩阵INDEX参数:

=INDEX(Sheet2!E$2:INDEX(E:E,COUNTA(E:E)),MATCH(A2,Sheet2!$A$2:INDEX($A:$A,COUNTA($A:$A)),0))

将其向下并向右拖动。

显然会有更多变化。但这显示了INDEX()MATCH()组合的实用性和实用性:)

答案 1 :(得分:0)

您可以修改最终尝试:

=IF(COLUMN()=2,IFERROR(INDEX($J$3:$J$5,MATCH(A3,$I$3:$I$5,0)),"No Address Found"),IF(COLUMN()=3,IFERROR(INDEX($K$3:$K$5,MATCH(A3,$I$3:$I$5,0)),"No City Found")))

结果:

enter image description here