我有一张数字表,表示几名员工每天工作的小时数。每个单元格对于一名员工来说是一天。有些单元格包含一个“*”字符,表示那些小时数对部门总数没有贡献。在计算部门总数时,我只是对所有单元格求和,而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))
或者有更简单的方法来实现我的目标吗?
谢谢!
答案 0 :(得分:1)
我相信这会奏效:
=SUM(NUMBERVALUE(SUBSTITUTE(CONCATENATE(D22:I22),"*","")))
当你完成输入后按CTRL-SHIFT-ENTER,这样公式就变成了一个数组公式,公式将如下所示:
{=SUM(NUMBERVALUE(SUBSTITUTE(CONCATENATE(D3:H3),"*","")))}
答案 1 :(得分:1)
对于Calc,有一个超级幂函数用于处理多个值:SUMPRODUCT。只需一点创造力,就可以做任何事情。
=SUMPRODUCT(VALUE(SUBSTITUTE(C22:I22;"*";"")))
它充当数组函数,但不需要 Ctrl + Shift + Enter ,使得很多更容易。