查找单元格中的所有数字并求和

查找单元格中的所有数字并求和

我需要对格式有点松散的字符串中出现的数字求和。字符串可以包含可以用space,或字母分隔的数字(2 位或 3 位数字长,整数)。

示例数据:

名字
1 亚当100 100
2 Michał200 Monika300 500
3 丹尼尔 200,拉法尔 100 300
4 安娜 200,马立克 300,J. 诺瓦克 100 600
5 0
1500

为了自由办公室我想出了这个解决方案:
=SUM(VALUE(IFNA(REGEX(B1;"[0-9]+";;ROW(A1:A24));0)))

以及Google 电子表格
=SUM(SPLIT(IF(A2="";"0"; A2);" "))

但我无法弄清楚 Excel 是如何运作的。

答案1

一种选择:

=IF(A2="","",SUM(0+TEXTSPLIT(A2,TEXTSPLIT(A2,SEQUENCE(10,,0),,1),,1)))

答案2

如果你使用的是更高版本的 Excel,例如 XL-2021 或 2022 或 Office 365,那么你可以尝试这个,

=SUM(FILTERXML("<root><data>"&SUBSTITUTE(A1," ","</data><data>")&"</data></root>","//data[number(.) = number(.)]"))

:编辑:

此公式考虑了所有可能的分隔符,例如我使用过的,,,检查屏幕截图。

在此处输入图片描述

=SUM(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(M1,";",","),".",",")," ","</s><s>"),",","</s><s>")&"</s></t>","//s[number(.)=.]"))
  • 根据需要调整单元格引用。

相关内容