Excel查询匹配在工作过程中经常发生,如下所示,很多情况下存在非常不规范的查询
下表是王牌队比赛数据
1、根据不完整的组合名寻找匹配的战绩
2、根据队员姓名查找相应的战绩。
我们都知道,VLOOKUP函数查找与第一个参数匹配的值,查找数据区域内的第一列,一个字都没有错,也不能有空格。在H2中简单使用Vlookup (G2、A3360E、5,0)将返回错误的值。
而G列的组员在原始数据源中分布在多列,,遇到这种情况时,如何进行查找匹配?
求组合战绩
第一想到的就是将G列的组合名字修改成和A列的名字保持一致,后面加个“组”字,然后再使用VLOOKUP函数求解
、
这个是数据源和需要查找的数据比较少的情况下可以这么修改,但是如果数据很多时,则需要使用公式=VLOOKUP(G2*,A:E,5,0)计算
其中*号是通配符,也就是万能字符,G2*表示查找开头是巾帼对应的战绩。假如A2单元格内容是巾帼英雄666,也能查找到对应的战绩。
求组员战绩
第一反应可能是将所有的组员放至一列,然后再查找匹配,但这个工作量是复杂并且巨大的
辅助列虽然容易解决问题,但是建立辅助列太复杂的话,不如不要,直接在H7使用数组公式:
=INDEX(E:E,MAX(IF(G7=$B$2:$D$6,ROW($B$2:$D$6),1))),输入完之后使用CTRL+SHIFT+ENTER进行计算。
我知道每次列出一个公式,都有同志不理解,今天来解释下数组公式,这也是理解数组公式有效的方法,以H7单元格的公式为例
框选区域,然后按F9键
什么意思呢?在表格中理解,就是B2:D6哪些等于吕布,得到的结果就是下面的数组
然后框选ROW(B2:D6),按F9,得到的是:
然后框选IF()函数了,如果是TRUE,返回对应的({2,3,4,5,6}),如果错误返回1,则在数组中运算就是:
在表格中的体现就是:对的返回吕布所在行的行号3,错误返回1
然后使用max()函数,这些数组最大的值就是3了
然后就是INDEX(E:E,3),就是求E列的第3行,即数据为90。
通过这样的计算解释,你理解了吗?
欢迎留言分享。
—————–
1.文章《excel如何将两个表格数据匹配》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《excel如何将两个表格数据匹配》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好