回复 徐淑颖 的帖子
首先先看公式:=-LOOKUP(,-RIGHT(A2,ROW($1:$11)))
从内往外分析:ROW($1:$11),这个公式的结果你用F9去查看{1;2;3;4;5;6;7;8;9;10;11},代表1至11,11个数字组成的数组。
然后看RIGHT:RIGHT(A2,ROW($1:$11)))。。。RIGHT应该知道从字符串的最右边提取字符的个数:比如RIGHT(“12345”,3)="345"。。
这里值得注意的是这个公式提取出来的是文本。
由于上面的公式第二个参数是ROW($1:$11),这个是一个数组。。所以被提取出来的东西仍然是数组。。
是怎么样的一个数组呢?
代表A2字符的,最后1个字符,最后2个字符。。。最后11个字符。。这样11个字符组成的数组。。。
结果就是{"6";"26";"226";"8226";"28226";"928226";"6928226";"36928226";"板36928226";"老板36928226";"薜老板36928226"}
因为你面全部是文本,所以要在RIGHT前面加负号(这个就是将数字文本转换为数字)
转换后的结果就是:{-6;-26;-226;-8226;-28226;-928226;-6928226;-36928226;#VALUE!;#VALUE!;#VALUE!}
看前面的数字文本就成了数字,而不是文本了。。
这里再说明一下。。为什么用$1:$11。。。这个是针对这个具体问题而做的。因为这个附件的电话号码最多只有11位。
所以只要最大只要11。。。
最后再来看Lookup了:前面都分析完了,那么最后Lookup里面的参数就是这样的:
LOOKUP(,{-6;-26;-226;-8226;-28226;-928226;-6928226;-36928226;#VALUE!;#VALUE!;#VALUE!})
这样的公式:我的理解就是查找到连续非正数(即负数和0)的最后一个数字
那么上面的结果就是 -36928226。。。所以Lookup前面还要用一个负号,将负数变成正数。
其实Lookup这个公式你可以自己建立一个工作表做一个实验:
在B1输入公式=Lookup(,A:A)。。然后在A列从上往下随机输入正负数,或0.。。。再观察B1的显示结果你就会明白了。。
不知道这样的解释楼主能不能懂。。