Excel教程下载和软件下载中心,Microsoft技术社区联盟成员,全球极具影响力的Excel门户,Office技术培训社区
广东快乐十分实时开奖

一对多查询,少不了这两刷子

2018-06-23  作者:ExcelHome  阅读:次
我们对数据进行查询时,经?;崾褂肰LOOKUP函数。
但有时,我们会碰到这样的问题,提取符合条件的结果是多个,而不是一个,这时候VLOOKUP就犯难了。
举个例子,如下图,左侧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))),"")
这个公式看起来可就比上面那个VLOOKUP的解法苗条养眼多了,坦白的说,很搭俺星光十年后的匪号——小清新。

1、公式讲解
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值的出现,只是当查找结果为数值或日期时,这个方法会把数值转变为文本值,并不利于数据的准确呈现以及再次统计分析。

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



转载请注明来源"ExcelHome"并保留原文链接。
固定链接://www.x5was.cn/lesson/article/excel/1906.html
分享到:
Copyright 1999 - 2017 Excel Home.All Rights Reserved.
本站特聘法律顾问:徐怀玉律师 李志群律师   沪ICP备11019229号

广东快乐十分实时开奖 www.x5was.cn 沪公网安备 31011702000001号

征信        广东快乐十分实时开奖
  • 专家谈如何规范网络医疗广告 搜索引擎应严格审核 2019-06-23
  • 江苏淮安:创建食品安全+互联网透明共治新体系 2019-06-23
  • 【每日最陕西】NO.1449 西安幼升小反映问题是去年近3倍 上学难层出不穷 2019-06-22
  • 马刺头号球星申请换队并确定下家 波波维奇也不好使了 2019-06-17
  • 黄润中应邀出席“2017金融安全与科技高峰论坛” 2019-06-17
  • 合成作战,营连长“无差别”竞技练指挥 2019-06-16
  • 西安华大非法吸收公众存款案开庭 涉案金额23.9亿 2019-06-10
  • 习近平欢迎出席上海合作组织青岛峰会的外方领导人 2019-06-05
  • 《虢国夫人游春图》中“虢国夫人”究竟是哪位(图) 2019-06-05
  • 《红海行动》出征中美电影节 2019-06-03
  • 【专题】加油,宝贝! 2019-05-29
  • 安徽通报2018年上半年全省旅游投诉情况 2019-05-28
  • 俄罗斯电影《最后一球》定档落魄球星遇上菜鸟球队 2019-05-28
  • 艺术与人文高端讲座陈方正等名家纵论人文精神重建 2019-05-26
  • 山东男篮强援被截后巨资砸一人 豪华引援名单谁先加盟? 2019-05-26
  • 炸金花最简单作弊方法 福建快3走势图手机版 今日青海快3开奖结果 共享娱乐极速快3 山东11选5五码遗漏 中国福彩彩票开奖 江苏快3走势图快3开奖走势图 上海时时彩最快开奖结果查询 二八杠分析仪怎么用 曾道人一年七次大公开 江苏11选5全单最大遗漏 中超实时积分榜 快乐10分任选五技巧 双色球出号的一些规律 官方湖北快3走势图