在多个单元格上迭代一个函数

Iterating a function over several cells

我有一个 table 数字,代表几位员工每天的工作时间。每个牢房是一名员工的一天。一些单元格包含一个“*”字符,表示这些小时数不计入部门总数。在计算部门总计时,我只是对所有单元格求和,calc 忽略那些包含星号的值。但是,当我计算单个员工的总小时数时,我想包括这些小时数。

经过一些实验,我得出了以下笨拙的公式:

=SUM(VALUE(SUBSTITUTE(C22,"*","")),VALUE(SUBSTITUTE(D22,"*","")),VALUE(SUBSTITUTE(E22,"*","")),VALUE(SUBSTITUTE(F22,"*","")),VALUE(SUBSTITUTE(G22,"*","")),VALUE(SUBSTITUTE(H22,"*","")),VALUE(SUBSTITUTE(I22,"*","")))

虽然这有效,但太糟糕了!有没有办法在一组单元格上迭代一组函数?类似于:

=SUM(ITERATE_FUNCTION(VALUE(SUBSTITUTE(X,"*","")),C22:I22))

或者有更简单的方法来实现我的目标吗?

谢谢!

我相信这会奏效:

=SUM(NUMBERVALUE(SUBSTITUTE(CONCATENATE(D22:I22),"*","")))

输入完后按CTRL-SHIFT-ENTER使公式变成数组公式,公式将如下所示:

{=SUM(NUMBERVALUE(SUBSTITUTE(CONCATENATE(D3:H3),"*","")))}

对于 Calc,有一个 super-power 函数可以处理多个值:SUMPRODUCT。只要有一点创意,它几乎可以做任何事情。

=SUMPRODUCT(VALUE(SUBSTITUTE(C22:I22;"*";"")))

它作为一个数组函数,但不需要Ctrl+Shift+Enter ,让事情 变得容易