如何使用带有正则表达式提取()的arrayformula()正确解析字符串到它们sum()它们?



我有一系列列,数字后可能有也可能没有符号(例如 3、4、2++、1-(,我的目标是去除任何非数字字符并提供整个 shebang 的总和。

=ARRAYFORMULA(REGEXEXTRACT($B$21:$I$21, "[0-9]+"))

上面给了我一个适当的单元格列表(继续上面的例子,我会在单独的单元格中获得以下值:3、4、2、1(。

现在,当我尝试总结它时,我得到一个错误,或者它只是简单地给我 0 作为结果。

=SUM(ARRAYFORMULA(REGEXEXTRACT($B$21:$I$21, "[0-9]+")))

=ARRAYFORMULA(sum(REGEXEXTRACT($B$21:$I$21, "[0-9]+")))

两者都返回 0。

正则表达式将数字转换为文本字符串,因此您需要执行以下操作:

=ARRAYFORMULA(SUM(REGEXEXTRACT($B$21:$I$21&"", "[0-9]+")*1))

相关内容

最新更新