超长公式很难理解吗弄懂原理其实也很简单(超级长的数学公式)
导语:超长公式很难理解吗?弄懂原理其实也很简单,不信你来试试
今天跟大家分享一个用超长函数公式来提取数字的案例,顺便讲讲其具体的解题思路,希望大家都能动手试一下,不要一遇到长长的函数公式就被吓倒了。
案例中B2单元格中的公式为:
=MID($A2,MIN(FIND($G$1:$G$11,$A2&-1/17)),COUNT(--MID($A2,ROW($1:$100),1))+COUNT(--FIND({,},$A2)))
下面分两个步骤来跟大家具体讲解一下,在讲解之前,我们先来复习一下MID函数的功能及其语法结构。即从文本字符串的指定位置开始,返回指定长度的字符串。其语法结构为:=mid(字符串,开始位置,字符长度),这样我们只需确定开始位置和字符长度这两个参数就可以将其结果求出来了。
1.确定第一个数字出现的位置(开始位置)
=MIN(FIND($G$1:$G$11,$A2&-1/17))
先用find函数查找 - ,0,1,2,3,4,5,6,7,8,9 字符串在A2单元格中开始出现的位置,再用min函数将其最小值提取出来。A2单元格连接-1/17的目的是为了过滤掉错误值,因为-1/17的结果为:-0.0588235294117647,包含了所有要查找的字符串 - ,0,1,2,3,4,5,6,7,8,9。
2.确定数字的长度(字符长度)
=COUNT(--MID(A2,ROW($1:$100),1))+COUNT(--FIND({,},A2))
先用mid函数从A2单元格的第1,2,3,4,5.........100个位置开始提取长度为1的字符串,由于提取出来的字符串属于文本字符串,所以在其前面加两个负号,将其转换为数值,再用count函数将其数字的个数求出来。同理,因为数据中可能会含有负号和小数点,所以需要用find函数来判断其是否包含负号和小数点。这样数字的长度就可以求出来了。
注意:数组公式需按ctrl+shift+enter三键方可得出正确的结果
本文内容由快快网络小莉创作整理编辑!