单条数据查询,你会。
同时查多条重复数据,你也会吗?
大家都知道,由于vlookup本身的局限性,只能查非重复的单条数据。如果要同时查多条重复数据,vlookup无法实现。
要同时查多条重复数据,很多人的解决方法是:
- 利用筛选功能。但效率很低,每次都要重新设置筛选条件。
- 利用高级筛选功能。对新手来说,有一些复杂。
- 先对数据进行排序,再每次利用Ctrl+f手动查找。
其实vlookup也可以进行重复数据查询。下面分享几种利用Vlookip进行重复数据查询的方法。
案例。如下图数据,我们要求查询所有采购部门的年薪,性别和姓名。
第一种方案。Vlookup + If
- 插入辅助行1. 在部门前面插入一行,用函数If(),给每条条数编号。在B2输入=IF(C2<>C1,1,B1+1), 然后向下复制。此函数的目的是,如果两行数据的部门,不一致,就编号1,如果相同,就加1.
2. 插入辅助行2. 在辅助行1的前面再插入一行。用连接函数&,创建唯一数据(部门&编号)。在B2输入=D2&C2 , 然后向下复制。&的功能是将两个数据连接起来。
3.创建唯一查询条件。在K2输入“采购部1”, 然后向下拖拉,就创建了多条唯一数据。
4.用Vlookup设置公式。
在L2输入公式=VLOOKUP(K2,B:D,3,0)。并向下拖拉复制。
同理,在M2输入公式=VLOOKUP(K2,B:E,4,0);
在N2输入=VLOOKUP(K2,B:F,5,0);
在O2输入=VLOOKUP(K2,B:G,6,0)。
第二种方案。Vlookup + countif
同第一种方案,在部门前插入两行辅助行,辅助行1,辅助行2.
- 辅助行1. 在C2输入=COUNTIF($D$2:D2,D2)。 Countif的功能返回区域内重复值的个数,语法格式为countif(区域,条件)。注意$D$2:D2中的第一个D2必须要用绝对引用。这样就给每一个重复值取了个编码。
- 辅助行2. 在B2输入=D2&C2 。 函数&的功能是将两个数据连接。这样就给每一个重复值取了个唯一值。
3.同第一种方案,创建唯一查询条件。在K2输入“采购部1”, 然后向下拖拉,就创建了多条唯一数据。
4.用Vlookup设置公式。
- 在L2输入公式=VLOOKUP(K2,B:D,3,0)。并向下拖拉复制。
- 同理,在M2输入公式=VLOOKUP(K2,B:E,4,0);
- 在N2输入=VLOOKUP(K2,B:F,5,0);
- 在O2输入=VLOOKUP(K2,B:G,6,0)。
第三种方案。Vlookup + countif +row
同第二种方案,在部门前插入两行辅助行,辅助行1,辅助行2.
- 辅助行1. 在C2输入=COUNTIF($D$2:D2,D2)。 Countif的功能返回区域内重复值的个数,语法格式为countif(区域,条件)。注意$D$2:D2中的第一个D2必须要用绝对引用。这样就给每一个重复值取了个编码。
- 辅助行2. 在B2输入=D2&C2 。 函数&的功能是将两个数据连接。这样就给每一个重复值取了个唯一值。
3.在K2输入“采购部”。
4.用Vlookup+row设置公式。
Row()是返回引用单元格的行号。我们的目的是利用部门和行号创建一个唯一值。
- 在L2输入公式=VLOOKUP($K$2&ROW(A1),B:D,3,0)。并向下拖拉复制。注意,K2要用绝对引用,因为K2是条件“采购部”所在单元格,此位置是不变的。Row(A1)返回值为1, $K$2&ROW(A1)返回值是“采购部1”.
- 同理,在M2输入公式=VLOOKUP($K$2&ROW(A1),B:E,4,0)
- 在N2输入=VLOOKUP($K$2&ROW(A1),B:F,5,0)
- 在O2输入=VLOOKUP($K$2&ROW(A1),B:G,6,0)
但我们把K2数据变成生产部时,查询结果会自动更新。
大家还有其他方案吗?
以后会用得上,值得收藏,点赞,关注。