excel vlookup函数怎么查询值返回多个结果

2020-12-26 05:44:02 字数 5535 阅读 9321

1楼:匿名用户

vlookup只返回符合条件的第一个值。不能返回多个结果。

要达到返回多值的目的,可以使用index+if+**all的经典函数组合。

excel vlookup函数怎么查询一个值返回多个结果

2楼:刀剑上的舞者

材料/工具:excel2007

1、在原始数据中a列有多个“张三丰”,需要提取每个“张三丰”对应的“工号”。

2、一般情况的vlookup只能返回第一个值,如下:=vlookup(a8,a1:d5,2,0)

3、在【姓名】列前插入一列输入公式:=countif(b$2:b2,b2)

4、将a2公式改成:=b2&countif(b$2:b2,b2)这样就将b列的“姓名”和出现次数连在一起。

5、在b8输入公式:=a8&row(a1)将a8值和row(a1)返回的1连在一起,下拉row(a1)会变成row(a2)返回2。

6、将b8的公式修改成如下:=vlookup(a$8&row(a1),a$1:e$5,3,0)也就是在a1:e5范围内查询“张三丰”和出现次数的文本对应第3列的【工号】。

7、将公式下拉,就将所有“张三丰”对应的信息查询出来了。

3楼:第七次要分

vlookup函数只能返回一个结果,如果想要一对多查询,可以使用其他函数,看下边例子,将部门为a的姓名列举到e列:

一、一个单元格放一个名字:e2公式=iferror(index(b:b,**all(if(a:a=d$2,row(a:a)),row(a1))),""),数组公式,三键结束;

二、将a部门的姓名放在e2单元格中,用逗号隔开:首先将数据按部门排序,然后在e2公式=mid(substitute(pho***ic(offset(a1,match(d2,a2:a12,),,countif(a:

a,d2),2)),d2,","),2,99),数组公式,三键结束。

4楼:匿名用户

“vlookup函数查询一个值返回多个结果”的操作步骤是:

1、打开excel工作表;

2、由题意可知,a列存在着多个相同的项目,而vlookup函数通常只返回精确匹配到的首个条件,并返回对应的数据,而无法返回多个相同条件所对应的数据;这就需要通过辅助列的形式,将多个相同的条件按出现的先后编号,并被后面的查找条件所引用;

3、在a列插入一列辅助列,在a2单元格输入以下公式,然后向下填充公式

=b2&countif(b$2:b2,b2)

公式表示:在b2单元格内容后连接其出现的次序编号

4、在f2单元格输入以下公式,然后向下填充公式

=iferror(vlookup(e$2&row(a1),a:c,3,0),"")

公式表示:在查找条件e2单元格后连接行号row(a1),以此作为查找条件,与辅助列中的对应单元格内容进行精确匹配,并返回对应第3列(c列)的数据;多余行号不再能匹配数据时,返回空。

5、根据需要,隐藏a列辅助列,实现美观效果;

6、通过建立辅助列的方式,可以不使用index+**all+if数组公式,就可实现数据筛选,但需要注意次序编号公式countif(b$2:b2,b2)中的绝对引用符号。

5楼:匿名用户

只能找到 对应的值 ,即一个值

多个结果的话,可以用vba做个自定义函数,需要的话追问

excel vlookup函数怎么查询一个值返回多个结果

6楼:哇哎西西

1、例如下图中,b列和c列分别是部门名称和对应的员工名单,我们的目的是在f1中录入部门名称后,在f4及以下单元格中能显示相应的所有部门员工名单。

2、在a2中录入公式:=countif(b$2:b2,f$1)。

3、回车,函数返回1,将a2中的公式向下拉复制填充。即把【销售部】在区域中出现的次数统计出来了。

4、在f4中录入公式:=iferror(vlookup(row(a1),a:c,3,),"")。

5、回车,函数返回【张三】,即销售部门的人员名单之一。

6、将f4中公式向下拉复制填充,可以看到。所有销售部门的人员名单就统计出来了。

7、我们可以改变f1单元格的内容,例如录入【行政部】,可以看到f4到f6单元格中已经将【行政部】人员名单统计出来了。相应的a列数据也发生了改变。

8、在f1中录入【财务部】,f4中已经将财务部人员名单统计出来了,相应的a列数据也发生了改变。

7楼:匿名用户

通过添加辅助列可以完成多结果返回。有了辅助列,在下表中可以直接设置公式:

=iferror(vlookup($a11&column(a1),$a:$c,3,0),"")

8楼:匿名用户

“excel vlookup函数查询一个值返回多个结果”的操作步骤是:

1、打开excel工作表;

2、根据题意,需要通过vlookup函数将满足a列为d2条件的所有b列数据逐一显示出来,而由于vlookup函数通常只能返回第一个满足条件的对应列的数据,因此需要根据相同姓名出现的次数,建立辅助列,然后引用数据;

3、在a列插入一列辅助列,然后在a2单元格输入以下公式,并向下填充公式

=counitf(a$2:a2,a2)&a2

公式表示:将a2:a2中出现a2的次数与a2单元格连接起来

4、在f2单元格输入以下公式,然后向下填充公式

=iferror(vlookup(row(a1)&e$2,a:c,3,0),"")

公式表示:以行号和e2单元格为查找条件,在a列精确匹配与查找条件相同的单元格,并返回对应第3列(c列)数据,如果为错误值,返回空。

从而实现了不通过index+**all+if数组公式,也可快速引用或筛选数据的目的,且运算速度比数组公式快。

9楼:阳光上的桥

不可以的,一个公式只能返回一个结果。

excel vlookup函数怎么查询一个值返回多个结果

10楼:尘宇心

单独vlookup函数做不到,而且lookup所对应的条件

要有唯一性(条件区域不唯一取第一专个)。要想遍历出属后续条件需要和其它函数镶套。具体是哪些函数忘了ㄟ( ▔, ▔ )ㄏ。

好像lookup函数还有个毛病:条件区域无条件且条件区域最大下限仍有数据会提取最后一个伪条件,也许是我没精确匹配的原因。反正现在个人不怎么信任稍微复杂点的函数,还不如宏遍历来的快和直接

11楼:匿名用户

if+vlookup嵌套函数

12楼:第七次要分

vlookup函数只抄能返回一个结果,如袭果想要一对多查询,bai可以使用其du他函数,看下zhi边例子,将部门为a的姓名列dao举到e列:

一、一个单元格放一个名字:e2公式=iferror(index(b:b,**all(if(a:a=d$2,row(a:a)),row(a1))),""),数组公式,三键结束;

二、将a部门的姓名放在e2单元格中,用逗号隔开:首先将数据按部门排序,然后在e2公式=mid(substitute(pho***ic(offset(a1,match(d2,a2:a12,),,countif(a:

a,d2),2)),d2,","),2,99),数组公式,三键结束。

excel lookup查找 返回多个值

13楼:匿名用户

1、首先打开数据**,如下图所示。

2、假设需要调取a,b,e三个人这四个月的绩效,选中h59:k62单元格区域,如下图所示。

3、输入公式=vlookup($g59,$a$59:$e$63,column(b59),0),如下图所示。

4、进行完第二步后,使用组合键“ctrl”+“enter”,完成数据的填充,如下图所示。

5、此公式的使用,仅限顺序连续调取数据,如果是查找一月和四月的数据,则不能使用这个公式进行全部空格填充,完成效果图。

14楼:绿衣人敲门

1.vlookup函数一般一次只能返回一个结果,本例介绍通过辅助列的方法使vlookup函数查询一个值,返回这个值对应的多个结果。

2.在原始数据中a列有多个“张三丰”,需要提取每个“张三丰”对应的“工号”。

3.一般情况的vlookup只能返回第一个值,如下:

=vlookup(a8,a1:d5,2,0)

4.在【姓名】列前插入一列,如下图输入公式:

=countif(b$2:b2,b2)

这个公式返回每个“姓名”从上到下是第几次出现,如第二个“张三丰”标记2。

5.将a2公式改成:

=b2&countif(b$2:b2,b2)

这样就将b列的“姓名”和出现次数连在一起。

6.在b8输入公式:

=a8&row(a1)

将a8值和row(a1)返回的1连在一起,下拉row(a1)会变成row(a2)返回2。

7.将b8的公式修改成如下:

=vlookup(a$8&row(a1),a$1:e$5,3,0)

也就是在a1:e5范围内查询“张三丰”和出现次数的文本对应第3列的【工号】。

8.将公式下拉,就将所有“张三丰”对应的信息查询出来了。

15楼:匿名用户

这个有解。输入

=iferror(index($c$1:$c$100,match($a1&$c1,$b$1:$b$100&$c$1:$c$100,)),"")

按f2,再同时按下ctrl+shift+enter组合键,下拉填充完成。结果显示如:

aa 123 123

a b 456

a c 789

a a 111 111

或:=iferror(lookup(1,0/(($a1=$b1)*($c:$c=$c1)),$c:$c),"")下拉填充即可

前面的iferror函数是如果输出错误就改为输出空,美观些罢了。可以去掉的。

16楼:匿名用户

你直接对根据a列进行排序不就行了?

如何用excel中的vlookup函数查找另一个表中一个值,则返回显示另一个表中的多个值

17楼:匿名用户

假设sheet1表的a1填入"唐思科",查找sheet2表a列的"唐思科",如有则返回sheet2的b列对应值,可查对应的多个值

sheet1表的b1填入公式

=index(sheet2!$b:$b,**all(if(countif(a$1,sheet2!

a$1:a$1000)>0,row($1:$1000),4^8),row(a1)))&""

数组公式,按下shift+ctrl+enter三键结束输入,下拉复制公式

如果要右拉复制

=index(sheet2!$b:$b,**all(if(countif($a$1,sheet2!

$a$1:$a1000)>0,row($1:$1000),4^8),column(a1)))&""

数组公式,按下shift+ctrl+enter三键结束输入,右拉复制公式

可再下拉复制求a2的名字的对应值

怎么查询表中某个字段相同值的记录数大于1的记录

1楼 匿名用户 表结构呢? select from tab where 商品编码 in select 商品编码 from tab group by 商品编码 having count 1 2楼 匿名用户 select 商品编码 ,count from 表名 guoup by 商品编码 having ...