如何求出字符串中出现的所有数字之和?

Q如何使用公式返回文本字符串中所有数字之和?例如,对于文本字符串“I am 24years old and my Dad is 43”,应用公式后,结果为13,即2+4+4+3。

A假设文本位于单元格A1中,在单元格B1中输入下面的公式:

=SUM((LEN(A1)-LEN(SUBSTITUTE(A1,{1,2,3,4,5,6,7,8,9},"")))*{1,2,3,4,5,6,7,8,9})

解析:

加法运算的有效数字是1到9,因此求和的算法是:

1 ×字符串中1的个数 +

2 × 字符串中2的个数 +

9 ×字符串中9的个数

= 结果

考虑使用SUBSTITUTE函数用空字符串替换所有出现的数字,例如4,SUBSTITUTE(Txt, 4,“”)返回没有4的文本(对于示例,返回“I am 2years old, and my Dad is 3”)。

考虑公式中的

SUBSTITUTE(A1, {1,2,3,4,5,6,7,8,9}, “”)

使用空字符串替换数字1至9,生成9个修改的字符串值数组,剔除了所有出现的相应的数字。

由于在字符串中数字4出现了2次,结果字符串比原字符串的长度少2,因此LEN(A1)-LEN(SUBSTITUTE(A1,4, “”)得到2。更进一步,公式中的:

LEN(A1)-LEN(SUBSTITUTE(A1,{1,2,3,4,5,6,7,8,9},""))

得到含有9个值的数组,代表每个数字在字符串中出现的次数。即{0,1,1,2,0,0,0,0,0},表示2和3都只出现了1次,4出现了2次,而其它的数字没有出现。这样,公式转换为:

=SUM({0,1,1,2,0,0,0,0,0}*{1,2,3,4,5,6,7,8,9})

两个数组对应元素相乘后求后,即:

=0×1+1×2+1×3+2×4+0×5+0×6+0×7+0×8+0×9

=13

可以使用SUMPRODUCT函数代替原公式中的SUM函数,此时公式为:

=SUMPRODUCT((LEN(A1)-LEN(SUBSTITUTE(A1,{1,2,3,4,5,6,7,8,9},""))),{1,2,3,4,5,6,7,8,9})

(0)

相关推荐

  • 当我第一次看到这种用法时...

    动手操作是熟练掌握EXCEL的最快捷途径! 小伙伴们,今天我要向大家介绍一个函数--SUBSTITUTE函数.大家可能要问了,这个函数以前不是写过总结篇嘛! 没错,今天要向大家详细介绍一下其中的一个功 ...

  • 总结篇--SUBSTITU函数实用终极帖

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! SUBSTITUTE函数是EXCEL常用的文本函数之一,常用于字符串的提取 ...

  • Substitute函数使用简介

    在许多时候可能需要对某个文本字符串中的部分内容进行替换.我们除了可以使用Excel的"替换功能"外,还可以用函数来完成.常用的文本替换函数为substitute函数和replace ...

  • 如何求出字符串中出现的所有数字之和

    Q:如何使用公式返回文本字符串中所有数字之和?例如,对于文本字符串"I am 24years old and my Dad is 43",应用公式后,结果为13,即2+4+4+3. ...

  • 问与答117:如何求出字符串中出现的所有数字之和?

    excelperfect Q:如何使用公式返回文本字符串中所有数字之和?例如,对于文本字符串"I am 24years old and my Dad is 43",应用公式后,结果 ...

  • 如何找出字符串中的指定关键词

    原始数据如图1,要找出A列字符串中指定的5个关键词,荣耀20.体脂称.蓝牙音箱.荣耀8X.荣耀10,如果有指定的关键词就在空白列显示关键词,没有就显示空,效果如图2. 图1 图2 解决步骤如下: St ...

  • Excel公式练习86:找出字符串中最大的数字

    excelperfect 本次的练习是:从一个由文本和数字组成的文本字符串中,提取出连续最长的数字.如下图1所示,在单元格B2中包含一个由文本和数字组成的字符串,很显然,其最长数字是9367. 图1 ...

  • 睢县小升初数学真题试题试卷解析 求出图中阴影部分的面积.

    睢县小升初数学真题试题试卷解析 求出图中阴影部分的面积. 一般(0.65)  

  • Python|字符串中第二大的数字

    问题描述给你一个混合字符串s,请你返回s中第二大的数字,如果不存在第二大的数字,请你返回-1.混合字符串由小写英文字母和数字组成.示例:输入:s = 'dfa12321afd'输出:2解决方案这是一道 ...

  • 从字符串中提取多个数字

    大家好,我经常看到有些同学会问一些从字符串中提取多个数字的问题,可能是ta数据录入不规范的原因,也可能是从系统导出的数据.不管什么原因,我认为这个问题也挺常见的,所以就学习和研究了好几天,今天就来和大 ...

  • 面试题-re正则表达式替换字符串中的英文和数字

    题目 字符串 s="hello 1234 world xx 上海 18 悠悠",用正则过滤掉英文和数字 得到:上海  悠悠 sub 过滤 re正则表达式中,过滤字符可以用替换的方法 ...

  • 从含有数字的文本字符串中提取出数字

    我的工作表中有许多含有数字的单元格,我想将数字单独提取出来.如下图1所示,将列A的单元格中的数字提取出来放置在列B中,应该如何编写公式呢? 图1 可以使用数组公式: =1*MID(A1,MATCH(T ...