Excel 公式中的极限单元值

Excel 公式中的极限单元值,excel,max,cell,limit,Excel,Max,Cell,Limit,我想在公式中使用某种限制或超出/低于规则。前提是如果一个数字超过某个值,那么我只想取那个值。下面是一个例子: 如果员工的工作时间每月超过80小时,则仅将80小时用于会计目的。假设我的员工Bob的时间表如下所示: 1月=20小时 二月=40小时 Mar=100小时 Apr=60小时 等等 如果鲍勃的工资是100美元/小时,那么他的最终工资应该是100美元/小时*总工时。或者在excel格式中,如果B列中存储了小时数,则类似于=100*sum(b1:b12) 但是,我只想每月最多花80个小时。。。因

我想在公式中使用某种限制或超出/低于规则。前提是如果一个数字超过某个值,那么我只想取那个值。下面是一个例子:

如果员工的工作时间每月超过80小时,则仅将80小时用于会计目的。假设我的员工Bob的时间表如下所示:

1月=20小时

二月=40小时

Mar=100小时

Apr=60小时

等等

如果鲍勃的工资是100美元/小时,那么他的最终工资应该是100美元/小时*总工时。或者在excel格式中,如果B列中存储了小时数,则类似于=100*sum(b1:b12)

但是,我只想每月最多花80个小时。。。因此,就会计而言,上述示例中的小时数如下所示:

1月=20小时

二月=40小时

三月=80小时

Apr=60小时

等等

我不希望为=if(b1>80,80,b1)构建另一列。老实说,现在我想不出来了,这让我很烦恼


请帮忙

试试这个数组公式:

=100 * SUM(IF(B1:B12>80,80,B1:B12))
这是一个数组公式,在退出编辑模式而不是Enter或Tab时,必须使用Ctrl-Shift-Enter确认

对于常规(非数组)配方溶液:

=SUMPRODUCT((B1:B4<80)*B1:B4+(B1:B4>=80)*80)
=SUMPRODUCT((B1:B4=80)*80)

除非您想要VBA解决方案,否则您可能需要一个helper列。一个想法是,您可以使用
Min
来确定最小小时数。如果您的小时数在C中的B列中,您可以执行
=min(80,b1)
操作,该操作将返回较小的数字,
80
或其中的任何小时数。