查找函数大家习惯了用 vlookup,而 find 函数用的人相对较少。
单从字面理解,find 就是用来查找的,其语法也不复杂。但是这个函数有一些非常精彩的用法,恐怕掌握的人为数不多。
比如,某同学说他为了一个需求困扰了很久,一直没有很好的解决方法:对一列数据进行多条件模糊查找,找到以后,根据不同的查找条件,输出对应的值。就是我们今天的案例 3,我用 find 函数,连辅助列都不需要,短短一个公式就解决了他的难题。
作用:- 在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值
- FIND(find_text, within_text, [start_num])
- find_text:必需,要查找的文本。
- within_text:必需,包含要查找文本的文本。
- [start_num]:可选,指定开始进行查找的字符。如果省略,则假定为 1。
- FIND 函数区分大小写,并且不允许使用通配符。
- 查找含有特定字符的单元格
- 多条件模糊查找
- 根据多个查找条件,输出不同结果
- 按照等级计算奖金
下图 1 为某公司部分员工列表,查找出 A 列中所有云字科的员工,在 B 列中写入“云字科”,如下图 2 所示。
解决方案 1:1. 在 B2 单元格中输入以下公式,下拉复制公式:
=if(ISNUMBER(FIND("云",A2)),"云字科","")
公式释义:
- FIND("云",A2):在 A2 单元格中查找“云”字,找到会返回一个数字,表示它在文本中的位置;找不到则返回错误值
- ISNUMBER(FIND("云",A2)):用 isnumber 判断 find 函数返回的是否是数字
- IF(...,"云字科",""):如果是数字,说明找到“云”字了,输出“云字科”;否则,就留空