今天我们再次套路,用同样思路来提取任意位置的数字,如: =LOOKUP(9E 307,--MID(A2,MIN(FIND(ROW($1:$10)-1,A2&1/17)),ROW($1:$99))) 注:由于是数组公式,所以需要按三健Ctrl shift enter 公式解读,可以按F9健逐步查看对应嵌套内的函数结果值。 建议先去看第一篇LOOKUP的左取,经典套路的体现! 思路: 1、先找到第一个出现数字的所在位置MIN(FIND(ROW($1:$10)-1,A2&1/17)) find第一参数ROW($1:$10)-1,包含了{0;1;2;3;4;5;6;7;8;9} 然后第二被查找参数A2&1/17,实际上是包含了所有的数字,1/17的结果里包好了所有的0-9的数字,也是为了缩短公式,当然也可以&“0123456789” FIND(ROW($1:$10)-1,A2&1/17)的结果值,[在EXCEL里按住F9健查看值]{15;27;10;22;26;11;30;29;19;25},然后MIN对find的结果取数最小值,就是第一个出现数字的所在位置10。 2、用MID函数来截取 --MID(A2,MIN(FIND(ROW($1:$10)-1,A2&1/17)),ROW($1:$99))) MID第一参数值A2,即为截取的数据源 MID第二参数是MIN(FIND(ROW($1:$10)-1,A2&1/17)),即为截取的位数,数字所在的位置10处开始取。 MID第三参数ROW($1:$99),即为截取1-99位。 3、最后就是LOOKUP的经典实用 本文所用函数套路如下 =LOOKUP(9E 307,--MID(A2,MIN(FIND(ROW($1:$10)-1,A2&1/17)),ROW($1:$99))) 记得加三健Ctrl shift enter |
|
来自: L罗乐 > 《字符提取(文本函运用)》