作者:赵中山 转自: EXCEL之家ExcelHome
小伙伴们好啊,本人赵中山,ExcelHome微信公众号的忠粉,关注 Excel之家ExcelHome后也学到不少知识,今天给大家分享一个公式查询的Excel技巧。
一般情况下,公司或者单位都会有一个电话簿共公司职员查询。当你面对一个有上百人的电话簿时,是不是发现查找一个人的电话或者信息比较难啊。
今天或许能帮你解决这个问题,先来看基础数据:
再来看看查询的动画演示:
一个FIND函数,一个small函数,一个INDEX函数,一个IFERROR函数,一个row函数,再加一个column函数,就可以完成人员信息的模糊查询,是支持任意条件的模糊查询哦~
K2单元格完整的公式是:
=IF($J$2="","",IFERROR(INDEX(B$1:B$20,SMALL(IF(ISNUMBER(FIND($J$2,$B$1:$G$20)),ROW($1:$20)),ROW(1:1))),""))
输入公式后,按Ctrl Shift 回车,然后将公式向右向下复制即可。
简单解释一下公式的计算过程:
先来看这部分:
FIND($J$2,$B$1:$G$20)
使用FIND函数在B2:G20单元格区域中返回J2单元格的内容在每个单元格中出现的位置信息。如果B2:G20单元格中包含被查询的关键字,则返回一组数字,否则返回错误值。
ISNUMBER(FIND($J$2,$B$1:$G$20))
这部分是用ISNUMBER函数判断FIND函数返回的是否为数值,如果为数值,说明是包含关键字的,否则就是不包含关键字的。
然后用IF函数,如果ISNUMBER函数结果为TRUE就返回对应的行号。
再用SMALL函数从小到大提取出行号信息作为INDEX函数的参数。
IFERROR函数的作用是屏蔽公式返回的错误值。
简单的解释就是这样吧,有兴趣的小伙伴可到ExcelHome论坛搜索一下关键字“一对多查询”。
百闻不如一练,赶紧动手试一试吧!
图文制作:赵中山
,