首页技术excel一对多查询并提取,excel跨表格提取数据

excel一对多查询并提取,excel跨表格提取数据

编程之家2026-06-12687次浏览

大家好,今天来为大家解答excel一对多查询并提取这个问题的一些问题点,包括excel跨表格提取数据也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

excel一对多查询并提取,excel跨表格提取数据

excel如何实现一对多提取

对Excel表中数据一对多查询的方法

举个例子,如下图,左侧A1:C10是一份学员名单表,现在需要根据F1单元格的“EH图班”这个指定的条件,在F2:F10单元格区域中,提取该班级全部学员名单。

今天说一个函数查询方面的方法:Index+Small。

F2单元格输入以下数组公式,按住Ctrl+Shift键不放,再按回车键,然后向下填充:

=INDEX(B:B,SMALL(IF(A$1:A$10=F$1,ROW($1:$10),4^8),ROW(A1))),"")

公式讲解

excel一对多查询并提取,excel跨表格提取数据

IF(A$1:A$10=F$1,ROW($1:$10),4^8)

这部分,先判断A1:A10的值是否等于F1,如果相等,则返回A列班级相对应的行号,否则返回4^8,也就是65536,一般情况下,工作表到这个位置就没有数据了。

结果得到一个内存数组:

{65536;2;3;65536;65536;65536;65536;8;65536;10}

SMALL函数对IF函数的结果进行取数,随着公式的向下填充,依次提取第1、2、3……n个最小值,由此依次得到符合班级条件的行号。

随后使用INDEX函数,以SMALL函数返回的行号作为索引值,在B列中提取出对应的姓名结果。

excel一对多查询并提取,excel跨表格提取数据

当SMALL函数所得到的结果为65536时,意味着符合条件的行号已经被取之殆尽了,此时INDEX函数也随之返回B65536单元格的引用,结果是一个无意义的0,为了避免这个问题,可以在公式后面加上一个小尾巴&""

利用&””的方法,很巧妙的规避了无意义0值的出现,只是当查找结果为数值或日期时,这个方法会把数值转变为文本值,并不利于数据的准确呈现以及再次统计分析。

练手题

最后留下一道练手题,如下图,根据A1:C10区域的数据,将E列相关班级的姓名,填充到F2:I5区域。

excel如何实现一对多查询

您好,方法

1、利用Vlookup函数,查询部门中所有的人员名单。

2、首先,插入一列,建立辅助列,输入公式==B2&COUNTIF($B$2:B2,B2)

3、下拉填充公式到合适位置,这里利用countif函数的计数功能,实现了将部门添加了一个依次递增的编号,这样,每个员工对应的部门就成了唯一的条件,可以利用Vlookup函数查询了。

4、在查询列,输入公式=IFERROR(VLOOKUP($F$2&ROW(A1),A:C,3,0),"");首先利用row(A1)函数与原部门所在单元格组成一个部门序列,正好对应上述步骤中生成的部门编码,实现一对一查询,然后利用IFError函数,将查询不到的数据制定返回值为空(不确定有多少个人员)。

5、下拉填充公式,就将部门中的所有人员名单查询出来了,也就是实现了Vlookup函数的一对多查询。

EXCEL中一对多的查找怎么操作

建议你是采用excel 2016,这样的话,可以直接用power query,直接进行一对多的关联。这个对于大量数据,特别是十万级以上的数据很有效率。

把查询条件作为第二个表

最后保存即可,当然也可以把结果上载到你指定的位置。

以后只要改了查询条件,对输出的表刷新一次即可。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

3dmax素材库?3dmax免费素材库人工智能openai官网,openai国内如何使用