使用的公式是:
=VLOOKUP(9E+307,MID(A2,MIN(IF(ISNUMBER(–MID(A2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2)
输入完公式按CTRL+SHIFT+ENTER键
题主图片里面已经给出了公式的结果,应该更多的是想知道这个公式是怎么来的,应该怎么样去理解,其实所有的长公式都是有固定的思路组成的,大家以B2的数字来源为例来解读这个思路的过程
❶使用使用MID(A2,ROW(1,99),1),把所有的数据拆开,最大长度是99个
=MID($A$2,ROW(),1)
❷在前面的公式加上两个负号,乘以两次-1,数字能得到结果,非数字出现错误
=–D1
❸判断是否是数字,如果是数字,返回行号
=IF(ISNUMBER(E1),ROW())
❹再使用min()函数,获取了这个出现数字的第1个位置,是4个位置
=MIN(F1:F99)
❺然后再使用MID()函数,从第4位开始拆解信息,依次取1,2,3,4…99位得到一个数组
MID($A$2,$G$1,ROW())*1
❻用*{1,1}得到了两列数组
=MID($A$2,$G$1,ROW())*1
❼最后使用VLOOKUP的模糊查找得到了最终的结果:
=VLOOKUP(9E+307,H:I,2)
这些辅助列的过程,就是公式的思路过程,所以说,在这个思路内大家可以调整公式,例如使用这个公式:
=VLOOKUP(9^9,–MID(A2,MIN(IF(ISNUMBER(–MID(A2,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99)),1,1)
按三键也能得到最终的结果
大家要学习用这种方法来理解公式,这个技巧,你学会了么?