我有两张excel表格。在excel表-1中,我有一个包含数字的列account,在excel表-2中,我还有一个包含相同和更多帐号的列account,它也有更多像address和city这样的列。现在,我想从sheet-2中为sheet-1中的所有帐户提取address和city值。我们如何通过linux命令或excel来做到这一点?
**sheet-1**
account
123456423
987655142
256091212
**sheet-2**
account colA colB colC address city
.....
.....
.....这里的点是值。做这件事最好的方法是什么?我是excel的新手。
发布于 2019-06-21 14:13:34
在这里,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)如果你只把这个公式放在你的sheet1上的单元格B2中,这里有一些东西可以帮你完成所有的事情。我们也可以将您要查找的列设置为动态的:
或者像这样指定一个动态索引列参数:
=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(Sheet2!E$2:INDEX(E:E,COUNTA(E:E)),MATCH(A2,Sheet2!$A$2:INDEX($A:$A,COUNTA($A:$A)),0))将其向下拖动到右侧。
显然,可能会有更多的变化。但这显示了INDEX()和MATCH()组合实际上是多么的通用和方便:)
发布于 2019-06-21 15:07:46
您可以修改end try:
=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")))
结果:

https://stackoverflow.com/questions/56697302
复制相似问题