欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


win7系统电脑怎么设置闹钟功能?
wallpaper engine集显怎么设置
wallpaper engine安装不了出现代码0xc000012f错误怎么解决
wallpaper engine安装不了出现代码0xc000012f错误怎么办
Excel表格中常用的三种数据转置的方法
wallpaper engine不能满屏显示怎么办
wallpaper engine重启失效怎么办
Win7系统怎么启用NFS客户端服务
填充Excel表中上方非空单元格数据的方法
wallpaper engine与其他桌面整理工具冲突不兼容如何解决
对Excel表中数据一对多查询的方法
【 来源:网络 】【 点击:4 】 【 发布时间:2017_03_03 08:59:59 】

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

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

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

  今天说一个函数查询方面的方法: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}

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

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

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

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

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

  练手题

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

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

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站