概念 :是一个查找和引用函数 , 在表格或数值数组的首列查找指定的数值 , 返回表格或数组当前行中指定列处的数值。
语法 :=Vlookup(lookup_value, table_array, col_index_num, [range_lookup]), 即 =VLOOKUP(查找目标 , 数据源 , 列序数 , 精确或模糊查找)。
参数说明 :
1、查找目标 : 指定要查找的内容或单元格引用。
2、数据源 : 需要查找数据的数据 表 , 并且查找目标一定要在该区域的第一列。
3、列序数 : 是在第二个参数给定的数据源中的所属的列数 , 并且是一个整数值。
4、精确或模糊查找 :0/FALSE 精确查找 ,1/TRUE 为模糊查找 , 精确即完全一样 , 模糊即包含的意思。
如图 , 表格是一份员工信息表 , 如何从员工信息表中匹配出客服部所有的员工姓名 , 大家可以看到 , 该表的销售部员工有多名 , 这就是 一对多 查找匹配。
假设 , 我们还是使用 Vlookup 函数直接进行查找功能 , 公式 =VLOOKUP(F3,A:B,2,0)
可以看到匹配到的名字只是第一个出现的员工名字 , 并没有把全部的名字都匹配出来 , 所以直接匹配的方式行不通。
解决方案 :
1、首先 , 给员工信息表增加一个辅助列 C 列 ;
2、在辅助列设置公式为 ,=IFERROR(VLOOKUP(A3,A4:$C$100,3,0),"")&" "&B3, 该公式可以汇总同个部门的姓名 , 且对应部门的第一个汇总了全部的姓名 , 这样一来就能用 Vlookup 函数匹配了 ;
公式解读 :该公式要从下往上开始理解 , 表格最后一个“客服部”, 是在第 11 行 , 查找值为 A11 单元格 , 数据源是从第 12 行开始 , 可以看到 A11 之后没有找到“客服部”的数据 , 所以 =IFERROR(VLOOKUP(A11,A12:$C$100,3,0),"")得出的结果是空白的 , 根据公式 =IFERROR(VLOOKUP(A11,A12:$C$100,3,0),"")&" "&B11, 只得出 A10 的数据“陈芬芳”;
接着继续看倒数第二个“客服部”的数据 , 在第 10 行 , 查找值为 A10, 数据源是从第 11 行开始 , 可以看到是“陈芬芳”, 则把“陈芬芳”和 A10 的数据“张晓宇”连接起来 , 得出结果为“陈芬芳 张晓宇”;
以此类推 , 再往上就是第 8 行 , 从第 9 行开始 , 最靠近第 8 行的是 A10 的数据“陈芬芳 张晓宇”, 则得出结果为“陈芬芳 张晓宇 袁夏天”;
继续往上就是第一个了 , 在第 5 行 , 从第 6 行往下 , 最靠近第 5 行的是第 8 行的“陈芬芳 张晓宇 袁夏天”, 所以得出结果为“陈芬芳 张晓宇 袁夏天 潘顺海”。
以上就是辅助公式的解读。
3、设置好辅助列后 , 就可以用 Vlookup 函数进行匹配了 , 公式为 =VLOOKUP(E3,A:C,3,0), 注意这里的序列数是辅助列 , 匹配到的是辅助列的数据 ;
总结 :先增加辅助列 , 对各部门进行一个汇总 , 接着使用 Vlookup 函数查找匹配辅助列的数据。
每天关注我 , 学习更多的办公技巧 , 提升自己哦 !
其他小伙伴还观看 :
1、常用的 10 种 Excel 函数公式 , 别错过哦
2、Ctrl+26 个字母组合键的神技巧 , 不看真的会后悔
3、excel,And 函数与 IF 函数结合使用 , 你用过吗 ?
4、使用 Round 函数四舍五入 , 保留 2 位数
5、如何不用公式就能提取身份证生日 , 这波操作太香了吧
6、excel 如何制作考勤表 / 排班表
原文链接:https://blog.csdn.net/weixin_39625709/article/details/112125738