LOOKUP的高级用法,用起来超爽就是有点难!

这是VIP学员的一份表格,备注看起来很乱,各种信息混合在一起,现在要将货款、退款等对应的数字提取出来。

提取数字,以前提过用快速填充,也就是Ctrl+E,不过只能针对一个数字的。复制第一个数字,然后Ctrl+E。

用分列的话,按逗号分列,也只是将内容分在几个单元格,而且原来内容不是按顺序的,也全乱,不适合。

真是让人头痛的问题。

学员又说了句,每个月都要手工操作一遍,非常浪费时间。

本来想让她用手工,又不忍心,细想还有LOOKUP,应该可以解决。这个函数简直就是无敌的存在,只要有想法,几乎都能实现。

先来看个简单的,从右边提取数字。

=-LOOKUP(1,-RIGHT(A2,ROW($1:$15)))

公式意思说明,下面会用到F9键解读公式的经典用法,几乎所有复杂的公式都会用到。通过按F9键就可以知道每一步的运算结果。

RIGHT就是从右边提取,现在不确定数字有几位,干脆提取1到15位,这样保证所有数字都能提取到。

提取出来的内容有的是纯数字,有的是汉字+数字。于是在前面加-,这样纯数字就变成负数,而汉字+数字就变成错误值。

LOOKUP查找的时候忽略错误值,如果有多个对应的数字,返回最后一个。

得到的是负数,再加-,负负得正。

好,简单的介绍完,现在看实际问题。

仔细观察,其实还是有规律的。如6月退款+数字+逗号+6月售后退+数字。内容跟数字之间用逗号隔开,而且内容就4个固定值不变。

现在要判断对应的数字起始位置,可以用FIND先判断内容的位置,再加上内容本身的长度用LEN测试。如6月退款是第1位,本身是4位,1+4=5,数字刚好从第5位开始。

现在是从中间提取数字,用MID,其他的原理跟从右边提取一样,因为有些没有对应的数字,再嵌套IFERROR让错误值显示空白。

=IFERROR(-LOOKUP(1,-MID($A2,FIND(B$1,$A2)+LEN(B$1),ROW($1:$15))),"")

所谓函数高手,都是被逼出来的。

推荐:你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了

上文:你要的INDEX教程来了,速看!

如果是你,遇到这种不规范表格,你会怎么做?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

(0)

相关推荐