excel函数如何多条件查找某一行并获取此行最后一个有效单元格数据?


  • 对表中的员工进行测评总结,从所有员工考核明细表中匹配这些参与测评的员工的得分和相关信息;

  • 从所有员工明细表中匹配需要参与测评的员工相关信息。

    • 建了两个sheet页,考核员工表全员考核明细表,可跨表查询匹配。

  • 从表2所有员工考核明细表中查询,匹配到表1中参与测评员工的考核得分、所属部门和出勤天数。

【导读】查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法...

查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。


单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。

比如,某同学说他为了一个需求困扰了很久,一直没有很好的解决方法:对一列数据进行多条件模糊查找,找到以后,根据不同的查找条件,输出对应的值。就是我们今天的案例 3,我用 find 函数,连辅助列都不需要,短短一个公式就解决了他的难题。

  • 在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值
  • find_text:必需,要查找的文本。
  • within_text:必需,包含要查找文本的文本。
  • [start_num]:可选,指定开始进行查找的字符。如果省略,则假定为 1。
  • FIND 函数区分大小写,并且不允许使用通配符。
  1. 查找含有特定字符的单元格
  2. 根据多个查找条件,输出不同结果

下图 1 为某公司部分员工列表,查找出 A 列中所有云字科的员工,在 B 列中写入“云字科”,如下图 2 所示。

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

1. 在 B2 单元格中输入以下公式,下拉复制公式:

  • FIND("云",A2):在 A2 单元格中查找“云”字,找到会返回一个数字,表示它在文本中的位置;找不到则返回错误值
  • IF(...,"云字科",""):如果是数字,说明找到“云”字了,输出“云字科”;否则,就留空

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

查找出所有徒弟,在 C 列中写入“徒弟”。

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

1. 在 C2 单元格中输入以下公式,下拉复制公式:

  • FIND({"云","鹤","九","霄"},A2):会出现一个由数字或错误值组成的数组;数字表示找到这个字,错误值表示没找到
  • COUNT(FIND({"云","鹤","九","霄"},A2)):用 count 函数统计数组中的数字个数,只要 >0 就表示含有“云”、“鹤”、“九”、“霄”其中之一,那就是徒弟

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

查找出 A 列中所有徒弟,并在 C 列中写入该徒弟对应的字。

这个就是网友苦思冥想不得其解的需求,相当于多条件模糊查找,再根据不同条件输出对应结果。


网友之前想了很多种方式,包括 vlookup、lookup 等等,都没有好的解决办法。没想到用 find 给轻易破解了。

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

1. 在 D2 单元格中输入以下公式,下拉复制公式:

  • COUNT(FIND({"云","鹤","九","霄"},A2)):这部分公式跟上一案例一样,先用 find 函数在单元格中依次查找 4 个字,得出一个由数字或错误值组成的数组;再用 count 函数统计数组中的数字个数
  • MID(A2,2,1)&"字科",""):这个字通常在第二位,所以用 mid 函数取出名字中的第二个字,用 & 符号跟“字科”连接起来,就是想要的结果;否则显示空值

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

下图 1 某公司员工的年终评级及对应的奖金规则,请按照规则快速计算出年终奖。如下图 2 所示。

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定


1. 在 F2 单元格中输入以下公式,下拉复制公式:

  • &"元":最后再用连接符号跟币种相连

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

Excel困扰许久的多条件模糊查找,输出不同结果,被find函数搞定

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

  • 查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。比如,某同学说他为了一个需求困扰了很久

内容由用户发布,不代表本站观点。如发现有害或侵权内容。请

在EXCEL中,Vlookup函数只能找到第一个正确的项,如果有多行数据都满足条件,应根据实际业务需要进行处理,主要包括以下几种情况:

这种情况就是VLookup的默认情况,直接使用即可,而且实际业务中很多情况下也就是这种需求,所以VLookup也是这么设计的。

这种情况应该更加普遍,当一个条件不足以确定唯一需要引用的数据时,通常可以通过增加匹配查找条件来确定唯一的值。而,当条件增加时,即转为多列匹配的问题,可以先构建辅助列,然后使用VLookup来完成,具体如下图所示:

或者使用数组公式来完成(比较复杂一点儿,我通常并不建议使用),如下图所示:

这种情况我在实际工作中碰到的其实不太多,当然,这种需求也可以通过数组公式来完成,但是,我更建议使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)来实现,因为通过新功能来实现非常简单,而且可以很灵活地选择数据的返回方式,而且并不需要写公式。具体方法如下:

Step02:进行合并(查找引用)操作

Step03:选择两表间用于匹配的列

Step04:选择需要查找引用的数据列(这也是通过Power Query功能比使用VLookup函数更加强大的地方,可以一次性读取所有需要的列)

通过以上简单的几个鼠标操作的步骤,即可实现VLookup一样的功能,而且返回的即为所有符合条件的多行数据。

综上,在使用VLookup函数时,如果碰到数据重复的情况,应根据实际业务需要选择相应的处理方式,从简单的VLookup返回第一行,还是增加查询条件返回其他确定的行,或者返回多行,可以选择的方法也很多。如果是返回多行或多列,建议使用Power Query功能来实现。


本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击。

我要回帖

更多关于 excel条件查找函数 的文章

 

随机推荐