excel Vlookup,怎么返回查找到的列第二个数值

在K列返回,,根据绝J1单元格查找,在表格中,然后把名字依次返回在K列对应的后面

vlookup对文本的搜索,通常只用来查找唯一值。你这个要求用VLOOKUP根本实现不了。
用数组公式可以实现,不过公式相对比较复杂一些。

当然, 写VBA做一个循环可能更好一些。计算更准确,也更容易达到你的要求。

如果你确认一个组里边只有两个人,那么完全可以使用排序的方式把数值给拿过来直接用。
因为数组公式比较复杂,所以需要你的原表,看看你的原表的具体规律之后才能帮你写, 而且我不会免费给你写的,VBA我也可以写, 但是也不免费,需要请私信。这么做主要因为需要消耗较多的精力。下边把思路给你大概说一下。
写一个数组公式,将等于你前边组别的列行号给提取出来,将其他列号变为0即可,也可以变成表格的最大行好值。对应行号的提取方法是,只要等于你的要查询的条件,则直接乘以行号,不符合的乘以零。这个连函数都不用就可以完成。形成数组之后,用LARGE或者SMALL函数(取决于你将不符合条件的行号如何处理)将符合条件的前两位(或者前N位)给提取出来,分别放到你要求的位置(例如你图中表示的E列)。
看起来公式的思路并不复杂,但是写起来也会费不少劲。另外,如果要帮你做公式,最好有原表,而不是你用自己的想法构造一个虚拟表。因为有原表里边的数据,才能准确把握你的具体数据的规律和准确要求,才能写出更准确的公式。之前接到过好几次提问,他们提问所列出的表, 和实际发过来的表完全不是一回事 。按照他们提问中所列的表,写出的公式一点问题也没有的,到他们真实要求的表里,根本无法完成他们的要求,有的甚至是错误的。
至于VBA的循环,这个更不用我说了。直接循环查找即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-22
假设需要把sheet2中对应a、b列的薪资补充到sheet1的d列;
1、双击sheet1的d2单元格,输入公式:
=sum((sheet2!$a$2:$a$11=a2)*(sheet2!$b$2:$b$11=b2)*sheet2!$c$2:$c$11)
数组公式,按ctrl+shift+enter
结束输入;
见图一
2、选中sheet1的d2单元格,下拉填充至表格内的d列,实际结果
见图二
第2个回答  2019-10-13

方法:辅助列,INDEX+MATCH

结果

辅助列

相似回答