vlookup第二个参数怎么选整个表格


举个样例,左侧呈现了公司各部门的员工名单数据。我们需要根据部门信息,筛选出该部门下的所有员工姓名。以下是详细步骤与解析:

让我们探讨一下添加辅助列的情形。我们在原有数据的基础上,插入一列新的辅助列。这新列的公式是:

```

=C2&COUNTIFS($C$2:C2,C2)

```

这里的`counifs`是一个计数公式。我们以C2作为固定引用点,当我们将公式向下拖动填充时,起始数据区域始终是C2,而结束匹配的范围则会从C2扩展至C6。例如,在寻找“市场部”的数据时,如果这是第3次出现“市场部”,那么结果就会显示为“市场3”。

通过构建这样的辅助列,我们能够轻松地得到唯一值。

```

=VLOOKUP(F2&1,$A:$D,4,0)

```

E1单元格需要通过连续点击F4三次来固定引用的列位置。IFERROR公式用于可能出现的错误值。最终我们的公式是这样的:

```

=IFERROR(VLOOKUP(F2&COLUMN(A1),$A:$D,4,0),"")

```

如果不想使用辅助列,并想实现一对多的VLOOKUP查询,我们可以使用更为复杂的公式:

```

=IFERROR(VLOOKUP(E2&COLUMN(A1),IF({1,0},$B$1:$B$100&COUNTIF(INDIRECT("b1:b"&ROW($1:$100)),E2),$C$1:$C$100),2,0),"")

```

这个公式的核心在于构建一个虚拟数组。我们首先创建了一个累计计数的虚拟存在,但并不在单元格中体现。接着使用IF({1,0})来构建结果列的放置位置。最终我们只需使用VLOOKUP配合查找值和COLUMN公式,即可得到所需的结果。

```

=IFERROR(VLOOKUP(查找值&COLUMN(),虚拟数组列,结果列号,0),"")

```

对于那些拥有高版本Excel的用户,还有更快捷的方法:使用FILTER和TRANSPOSE公式。输入的公式如下:

```

=TRANSPOSE(FILTER(C:C,B:B=E2))

```

这个技巧的关键在于FILTER函数用于快速筛选出符合条件的数据行,而TRANSPOSE则用于转置数据,使其横向排列。

关于上述技巧,你掌握了吗?不妨动手试试吧!