分享

华山论剑:数字提取技术谁更强,应用之家帮你忙

 EXCEL应用之家 2021-08-11


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



在以前的帖子中我们给大家介绍了很多有关于数字提取并计算的方法和技巧。每一种方法和技巧又有其应用的特定场合。那有些朋友就会问了,有没有一个公式是可以包打天下的呢?肯定是没有的,针对不同的场合我们要思考使用什么样的公式最合理有效。总体上讲,笔者最常用的是今天要想和大家对比的这两个公式。




01

我们就以这个图表为例子向大家详细介绍吧。



方法一的公式是:

=SUM(TEXT(LEFT(TEXT(MID(A2,COLUMN($1:$1),ROW($2:$15)),),ROW($1:$14)),"0%;;0;!0")*ISERR(-MID(A2,COLUMN($1:$1)-1,2)))

输入完成后三键回车并向下拖曳即可。

方法二的公式是:

=SUM(IFERROR(--RIGHT(LEFT(A2,ROW($1:$50)-1),FREQUENCY(ROW($1:$50),ISERR(-MID(A2,ROW($1:$50),1))*ROW($1:$50))-1),0))

同样是数组公式,需要三键回车并向下拖曳。


02

大家仔细观察,其实图标中有些计算时错误的。错误值已经用红色箭头标注出来了。



单元格B4、B5,C3和C5中的结果是错误的。造成错误的原因是在构思公式是逻辑思路的不同而造成的。

方法一的核心思路:

  • 依次从字符串的最左侧第一个字符开始,每个字符都提取2、3、4...、15个字符

  • 利用TEXT函数将提取到的数字型字符转换为空值

  • 再依次从最左侧的字符开始,依次提取1、2、3、4...、14个字符

  • 再次利用TEXT函数文本字符转换为0

  • 同时剔除依次从第一个字符开始提取的,长度为2的字符中,包含文本和数字的字符串

  • 最后求和

因此我们可以看到:

单元格A4和A5中字符串的末尾都是数字型字符,经过提取后被第一次应用TEXT函数是转换为空值了,所以最终计算结果错误;但是方法一可以处理含有小数点的数字计算。

明白了这一点后,单元格A4和A5中的错误就很好修正了。在公式中只要为单元格加上任意一个文本小尾巴,例如“s”就可以了。




03

方法二的核心思路:

  • 首先从最左侧第一个字符开始,依次提取长度为1的字符

  • 利用负号“-”和ISERR函数将文本字符串转换为所对应的位数的数值

  • 利用FREQUENCY函数计频。由于这个函数的特性,因此最终结果要减去1

  • 利用LEFT函数从最左侧依次提取长度为0~50位的字符串

  • 再次利用RIGHT函数从右侧提取,长度依次为FREQUENCY函数计算结果的字符串

  • 最后求和

因此我们可以看到:

单元格A3和A5中的字符串都含有小数点,因此方法二在处理时出错了;但是,方法二可以处理字符串末尾是数字型字符的情况。在含有非整数的字符串中,方法二是不能正常使用的,这个时候只能使用方法一或者另想别法。




04

通过上面的介绍,相信大家已经明白了方法一和方法二的具体使用环境及方法。由于这两个公式都是仅仅引用了唯一的字符串所在的单元格,因此在实际工作中是是很方便大家套用的。

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

注意!前方有红包挡道!速点阅读原文消灭之

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多