![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
excel =MATCH(,0/ISNUMBER(--MID(G13,ROW($1:$99),1)),)
求解这个公式的详细的拆解说明--MID(G13,ROW($1:$99),1)返回的是什么意思然后0/一个布尔值的结果返回的又是什么这个是公式是怎么工作的惆怅研究了好久求大...
求解这个公式的详细的拆解说明 --MID(G13,ROW($1:$99),1) 返回的是什么意思 然后0/一个布尔值的结果 返回的又是什么 这个是公式是怎么工作的 惆怅 研究了好久 求大神解惑 不胜感激
展开
1个回答
展开全部
=MATCH(,0/ISNUMBER(--MID(G13,ROW($1:$99),1)),)
这是一个数组公式,要加按SHIFT+CTRL+ENTER三键才能正确运算
ISNUMBER(--MID(G13,ROW($1:$99),1)
)
将G13单元格从第一个字符起到第99个字符,分别取一个字符,这样就形成一个数组,再用两个负号运算使数据由文本数字转成常规数字,如果不是数字的则返回成错误值,再用ISNUMBER函数检查是否是数值,是数值的返回真值TRUE,否则返回假值FALSE
比如G13单元格的内容是
"我消费100元"
则得出
{FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE............}
即是数字的位置返回成TRUE,其他的都返回FALSE,这样99个数组数据
因为FALSE或TRUE这两个逻辑值在参与运算时会分别转成0和1参与运算,所以用0除以FALSE或TRUE就会得出,#DIV/0!(被0除错误)和0两种数据
这样整个公式就会得出
MATCH(0,{#DIV/0!,#DIV/0!,#DIV/0!,0,0,0,#DIV/0!,#DIV/0!,#DIV/0!......},0)
[原公式中逗号前后没有写入的参数是0,因为是0所以可以不写]
这样公式就得出第一个0所以的位置,得出值为4
即在G17单元格中从第4个字符起是数字
这是一个数组公式,要加按SHIFT+CTRL+ENTER三键才能正确运算
ISNUMBER(--MID(G13,ROW($1:$99),1)
)
将G13单元格从第一个字符起到第99个字符,分别取一个字符,这样就形成一个数组,再用两个负号运算使数据由文本数字转成常规数字,如果不是数字的则返回成错误值,再用ISNUMBER函数检查是否是数值,是数值的返回真值TRUE,否则返回假值FALSE
比如G13单元格的内容是
"我消费100元"
则得出
{FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE............}
即是数字的位置返回成TRUE,其他的都返回FALSE,这样99个数组数据
因为FALSE或TRUE这两个逻辑值在参与运算时会分别转成0和1参与运算,所以用0除以FALSE或TRUE就会得出,#DIV/0!(被0除错误)和0两种数据
这样整个公式就会得出
MATCH(0,{#DIV/0!,#DIV/0!,#DIV/0!,0,0,0,#DIV/0!,#DIV/0!,#DIV/0!......},0)
[原公式中逗号前后没有写入的参数是0,因为是0所以可以不写]
这样公式就得出第一个0所以的位置,得出值为4
即在G17单元格中从第4个字符起是数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询