分享一个 “查找匹配” 问题的3种Excel “函数” 解法!

举报
数据分析与统计学之美 发表于 2021/09/28 10:21:56 2021/09/28
【摘要】 excel系列第七课

分享Excel文章的朋友,还是挺少。但是这个领域不能少吧,一定要给大家分享这3种函数;

问题来源

昨天闲来无事,在群里面看到这样一个题目。
在这里插入图片描述
需求: 根据每种商品,在右侧的表中找到它所匹配的商品 “大类”

拿到这个题目,我就想到了三种方法来解决这个问题。

  • vlookup()函数
  • lookup()函数
  • index() + match()函数

这几个函数可以算作是匹配查找的 “三巨头”,用起来效果绝对杠杠的。

哈哈,闲来无事,自己简单操刀了一下,原来宝刀未老。
在这里插入图片描述

解决办法

如果说,你拿到这道题,一个函数都不会的话,那我不知道说啥了。至少你得会最基本的vlookup(),不然一个小小的Excel面试题,你都不会做。

不会的同学,就跟着我的思路来玩儿这3种解法吧!

① vlookup()函数

对于vlookup()函数,我们主要学以下三点:

  • 场景:按照数据的首列,查找指定区域中,指定位置的对应结果
  • 语法: =VLOOKUP(查找对象,目标区域,目标区域所在列,精确-0或模糊-1)
  • tips:查找对象,必须位于目标区域的第一列

接下来看看该函数,怎么解决这个问题。
在这里插入图片描述
解析: 观察这个函数,我们是从第一行下拉查到最后一行的。我们以第一行为例,进行讲解。对于第一行C2单元格种的 “可乐”,我们去右侧这个区域 $K 2 : 2: L$5 查找对应的大类值,由于我们就是在这个固定区域查找数值,所以采用了绝对引用。同时,可以看到我们要的目标值都在查找区域的第二列。

② lookup()函数

对于lookup()函数,我们主要学以下三点:

  • 场景:也是在指定区域,查找指定值
  • 语法1:=LOOKUP(查找对象,查找对象所在列,目标值所在列)
  • tips1:查找对象所在列必须升序排列
  • 语法2: =LOOKUP(1,0/((条件1)*(条件2)···),目标值所在列)
  • tips2:条件的格式为:查找值=查找值所在的区域

这里介绍了两种语法,但是对于第一种语法,这个要求是挺苛刻的,现实生活中,怎么可能每次保证【查找对象所在列,是升序的呢】?

因此,我们直接使用第二种办法,这里记住一句话:首先它会默认你的查找区域是升序排列,当查找值在查找区域中找不到目标值的时候,就会返回该区域中的“最大值”,这就是下面要讲述方法的 “解题关键”

接下来看看该函数,怎么解决这个问题。
在这里插入图片描述
解析: 记住这是固定写法就好,我们要查找1,在 0/(C2=$K 2 : 2: K$5) 区域里面查找,通过计算可以知道,只有等于的那一行为 True 也就是1,0/1 也就等于0,然后你观察这一列可以发现,其他都是错误值,只有为True的行,返回的是0,那么除去错误值,0也就是最大的了。接着,我们查找的目标值,就是其他列的对应行了。

③ index() + match()函数

对于index()函数,我们主要学以下两点:

  • 场景:在指定的区域,返回特定行列交叉的值
  • 语法1: =INDEX(区域,行号,[列号])

对于match()函数,我们主要学以下两点点:

  • 场景:返回特定值,在特定数组当作的位置
  • 语法1: =MATCH(查找值,查找值所在区域,[参数])

接下来看看该函数,怎么解决这个问题。
在这里插入图片描述
解析: 首先看 第一个 match() 函数,我们返回了“可乐”这个值,在查找区域属于第几行。再看 第二个match() 函数,我们返回了 I1 在查找区域标题行属于第几列。知道了行、列,在 外层套一个index() 函数,制定了查找区域 $K 1 : 1: L$5 ,也指定了行列具体位置,就可以得到最终的值。

当然,不管你会不会用,我还是 建议 每天日常工作中都会使用Excel的朋友,都能够自己下去学习这3个函数。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。