使用的公式是: =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) 按三键也能得到最终的结果 我们要学习用这种方法来理解公式,这个技巧,你学会了么? 头条号:Excel自学成才,作者:E博士,职场5年数据分析实例经验 |
|