提取并求和单元格中数字的多次出现



假设我有一行看起来像这样(|是单元格分隔符(:

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))))

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

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

如果将其应用于 B3

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

那么你的公式工作得很好。

最新更新