使用vlookup基于列值子集Excel行

时间:2014-06-06 14:14:42

标签: excel vlookup

我有一本工作簿:

sheet1:
id name ...(100 columns)
1  a
2  b
3  c
...
(about 300,000 rows)
sheet2:
id
3
4
...
(about 50,000 rows)

我想在sheet1中选择id为sheet2的行,我尝试在sheet2中使用vlookup:

VLOOKUP($A2, sheet1!$A:$CV, 1)

问题是我有100列,水平自动填充单元格不会自动添加vlookup中的最后一个参数,即我必须手动将其更改为2,3,...,100。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

在表格上方添加一个值为2, 3, 4, ... , 100的帮助行。假设它将是第1行,因此您的目标表向下移动一行。

然后你的VLOOKUP公式是这样的:

=VLOOKUP($A3,sheet1!$A:$CV,B$1,0)

因此,您可以动态指定VLOOKUP的结果列!瞧!

变体2(没有辅助行):

=VLOOKUP($A2,sheet1!$A:$CV,COLUMN(),0)

如您所见,COLUMN()函数返回您的公式输入的列数。 注意:此公式仅在您从工作表上的2:2列的目标表中开始编写时才有效。否则你需要像这样应用偏移量(例如,如果你开始从列5:5编写公式):

=VLOOKUP($A2,sheet1!$A:$CV,COLUMN()-3,0)
相关问题