小伙伴们好啊,今天老祝和大家一起来学习一个大名鼎鼎的函数——LOOKUP。 这年头,如果用Excel的人还不知道LOOKUP函数,那就像是法国人不知道拿破仑,美国人不知道华盛顿,朝鲜人不知道金正恩一样。 LOOKUP函数应用广泛,灵活性强,可以说是“后宫佳丽三千人,三千宠爱在一身”,今天咱们就来说说LOOKUP函数的一些主要用法。 1、逆向查询 下面这个表中,A:C列是员工基础信息表,分别是部门、姓名和职务。 现在要根据E5单元格中的员工姓名,在这个信息表中查询属于哪个部门,也就是咱们常说的逆向查询,就可以使用LOOKUP函数了。 F5单元格输入以下公式: =LOOKUP(1,0/(B2:B10=E5),A2:A10) 得出的结果是“生产部”。 上面这个公式就是LOOKUP函数最典型用法。 可以归纳为: =LOOKUP(1,0/(条件),目标区域或数组) 其中,条件可以是多个逻辑判断相乘组成的多条件数组。 =LOOKUP(1,0/((条件1)*( 条件2)* ( 条件N)),目标区域或数组) 公式的主要过程是: 以0/(B2:B10=E5)构建一个0、#DIV/0!组成的数组,再用1作为查找值,即可查找最后一个满足非空单元格条件的记录。 2、查询A列中的最后一个文本 这个题目也非LOOKUP函数莫属,用到的公式是: =LOOKUP('々',A:A ) '々'通常被看做是一个编码较大的字符,它的输入方法为<Alt+41385>组合键。 如果感觉每次写这个符号有点费事儿,也可以写成: =LOOKUP('座',A:A ) 一般情况下,第一参数写成“座”也可以返回一列或一行中的最后一个文本。 3、查询A列中的最后一个数值 用到的公式是: =LOOKUP(9E307,A:A) 9E307被认为是接近Excel规范与限制允许键入最大数值的数,用它做查询值,可以返回一列或一行中的最后一个数值。 有朋友会说了,如果我A列中的数据既有文本也有数值,想得到最后一个单元格内容,那咋办?咱们可以写成这样: =LOOKUP(1,0/(A:A<>''),A:A) 4、根据简称查询全称 这个问题相信大家都会经常遇到吧? 如下面这个图中所示,A列是客户的简称,要求根据E列的客户全称对照表,在C列写出客户的全称。 C2单元格输入以下公式,可得到“上海沛发”的客户全称“上海沛发包装材料有限公司”。 =IFERROR(LOOKUP(1,0/FIND(A2,E$2:E$13),E$2:E$13),'') 来说明一下公式各部分的含义: “0/FIND(A2,E$2:E$13)”部分: 首先用FIND函数分别查询A2单元格“上海沛发”在E$2:E$13每个单元格中的起始位置,得到一个由错误值和数值组成的数组。 余下部分的计算过程就和咱们前面说过的一样了,使用IFERROR函数来屏蔽公式查询不到对应结果时返回的错误值。 5、多个区间的条件判断 话说某公司组织员工技能考核,根据不同的分值,给出相应的评语。 50分以下的为“很差” 50-59分的为“差” 60-74分的为“一般” 75-85分的为“较好” 86-95分的为“优秀” 96分及以上的为“能手”。 这种多个区间的判断,如果需要判断的条件和区间都很多,再使用IF函数来计算,估计会把自己都转晕了。 而使用LOOKUP函数来解决,不过是小菜一碟而已。 C2单元格输入以下公式,向下复制即可。 =LOOKUP(B2,{0,50,60,75,86,96;'很差','差','一般','较好','优秀','能手'}) 除了这些基础应用,LOOKUP函数还有很多精彩的用法,这些内容咱们留到以后慢慢再说。只要基础知识熟悉了,即使练不成降龙十八掌,那起码也是降龙十巴掌了,你说是吧? 图文制作:祝洪忠 |
|