对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))),"")

  公式讲解

  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列中提取出对应的姓名结果。

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

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

  练手题

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

(0)

相关推荐

  • excel表中数据跨工作表引用的方法

    Excel表中数据跨工作表引用的方法很简单,下面就说说Excel表中数据跨工作表引用的方法. 操作方法 01 我们先打开一个空白的工作表,在任意一个单元格中输入一个1. 02 我们再打开第二个空白工作 ...

  • 把Excel表中数据导入数据库

    这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的 ...

  • 利用excel宏计算快速合并单个excel表中的多个sheet工作页

    很多朋友会遇到这样的问题,就是很有很多页的数据,少的有几十页,多的可能有几百页,然后需要合并到一个页面做数据分析,如果一页页的复制粘贴的话,就比较麻烦.下面我就介绍一种利用excel的宏计算来解决这个 ...

  • Excel表中如何快速排序;如何快速排序

    Excel表中如何快速排序 最简单的方法-自定义排序 01 先将成*绩和姓名录入表格中 02 选中所有相关单元格,然后点击[排序和筛选]工具栏下的[自定义排序]工具 03 在弹出的对话框中主要关键字: ...

  • 如何在EXCEL表中自动计算员工入职年限?

    我们经常会需要计算员工从入职的年限是多少,仅考人工去计算会是很大的工程,尤其是公司人员庞大的时候,所以我们需要能自动计算年限的方法,接下来就告诉大家如何在EXCEL表中自动计算: 方法/步骤 1.打开 ...

  • 批量查找替换多个Excel工作表中数据的方法

    批量查找替换多个Excel工作表中数据的设置步骤 例子:如何将表格"1月"."2月"."3月"中的"总务部"批量替换成& ...

  • 填充Excel表中上方非空单元格数据的方法

    填充Excel表中上方非空单元格数据的方法 1.选择范围 将需要填写的空单元格以及其上方单元格一起选中 2.定位空值 同时按住ctrl+G,跳出"定位"对话框,点击"定位 ...

  • Excel数据透视表中数据透视图创建教程

    相信很多小伙伴在日常办公中都会用到Excel,那么我们怎么在其中创建一个数据透视图呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑上的"Excel",在其中打 ...

  • Excel表格数据透视表中数据求和结果不对怎么办

    Excel是我们常用的办公软件之一,有小伙伴问怎么Excel数据透视表求和结果为零怎么办,下面小编介绍一下.具体如下:1. 打开Excel表格,以图中表格为例,对销售单号和销售金额进行求和.2.但是求 ...