在多个单元格上迭代函数

Posted

技术标签:

【中文标题】在多个单元格上迭代函数【英文标题】:Iterating a function over several cells 【发布时间】:2018-04-02 14:38:15 【问题描述】:

我有一张数字表,表示几名员工每天工作的小时数。每个单元格是一名员工的一天。一些单元格包含一个“*”字符,表示这些时间不计入部门总数。在计算部门总数时,我只是对所有单元格进行求和,然后 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))

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

谢谢!

【问题讨论】:

【参考方案1】:

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

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

它充当一个数组函数,但不需要 Ctrl+Shift+Enter,使得事情很多更容易。

【讨论】:

【参考方案2】:

我相信这会奏效:

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

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

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

【讨论】:

我将单元格范围更改为所有单个单元格(d3、e3 等)。这清除了错误,但我只是将单元格的值粘在一起。 由于某种原因<CTRL><SHIFT><ENTER> 没有出现在我的回答中。现已修复 ctrl-shift-enter 不起作用,但我确实使用函数向导“数组”复选框让它工作。

以上是关于在多个单元格上迭代函数的主要内容,如果未能解决你的问题,请参考以下文章

ios UITableview 单个单元格上的多个选择选项?

带有 UIView 子类的 UITableViewCell 在单元格上创建多个图层

vbscript 一个单元格上的多个操作

按钮状态在错误的单元格上激活

UICollectionView 在单元格上拖动手指以选择它们

Jquery在表的多个单元格上自动完成