关于excel公式
=LOOKUP(2*10^11,MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1)怎么理解,有点看不懂...
=LOOKUP(2*10^11,MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1)
怎么理解,有点看不懂 展开
怎么理解,有点看不懂 展开
1个回答
展开全部
一、
这里最外层用了函数LOOKUP的第二种方法 LOOKUP(lookup_value,array)
从数组array中查找值lookup_value,返回array中最后一列的对应值
二、
这里lookup_value对应公式就是2*10^11(就是指找小于等于2*10^11数字)
这里array对应公式就是MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1
三、
MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1
MID函数 截取A3&"/"的字符串 从第ROW(INDIRECT("1:"&LEN(A3)))位,取11个字符
(这里的*1,是指把数组中的值都*1,这样数字就正常得到,而非数字*1就会得到#VALUE!)
四、
ROW(INDIRECT("1:"&LEN(A3))),根据A3字符长度,假使A3长度21,返回{1,2,3........ ,21}的数组
因此整个MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)就是返回
从A3第1位开始截取11个字符,
从A3第2位开始截取11个字符,
。
。
。
从A3第21位开始截取11个字符
以上的一个数组
所以整个公式就是从上面的数组中纯数字部分 查找满足条件数字,并返回该数组最后一列对应的值(实际就只有1列)
这里最外层用了函数LOOKUP的第二种方法 LOOKUP(lookup_value,array)
从数组array中查找值lookup_value,返回array中最后一列的对应值
二、
这里lookup_value对应公式就是2*10^11(就是指找小于等于2*10^11数字)
这里array对应公式就是MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1
三、
MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)*1
MID函数 截取A3&"/"的字符串 从第ROW(INDIRECT("1:"&LEN(A3)))位,取11个字符
(这里的*1,是指把数组中的值都*1,这样数字就正常得到,而非数字*1就会得到#VALUE!)
四、
ROW(INDIRECT("1:"&LEN(A3))),根据A3字符长度,假使A3长度21,返回{1,2,3........ ,21}的数组
因此整个MID(A3&"/",ROW(INDIRECT("1:"&LEN(A3))),11)就是返回
从A3第1位开始截取11个字符,
从A3第2位开始截取11个字符,
。
。
。
从A3第21位开始截取11个字符
以上的一个数组
所以整个公式就是从上面的数组中纯数字部分 查找满足条件数字,并返回该数组最后一列对应的值(实际就只有1列)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询