提取并总结细胞中多个数字的出现

时间:2018-01-04 22:05:40

标签: regex google-sheets formulas

让我们说我有一行看起来像这样(|是单元格分隔符):

1h foo | 0.5h bar, 0.5h baz | 6h blah, 1h bah

我想连续计算所有小时数,所以上面的例子会输出9。

这是我到目前为止所做的,但我不知道如何在一个单元格中多次出现数字(如0.5h bar, 0.5h baz)。有什么建议吗?

=arrayformula(sum(if(isNumber(B3:F3),B3:F3,iferror(value(regexextract(B3:F3,"\d+(?:\.\d+)?")),0))))

1 个答案:

答案 0 :(得分:1)

对于REGEXTRACT的第一个参数,使用逗号应用JOIN,然后用逗号SPLIT。假设以下数据在A1:C1

1h foo | 0.5h bar, 0.5h baz | 6h blah, 1h bah

如果将此应用于B3

=ArrayFormula(split(join(",",A1:C1),","))

然后你的公式就可以了。