以下是示例数据。
如何获取超过 200 的所有值?在这种情况下,我有 2 个超过 200 的实例。我的结果应该是 50+50 = 100
这应该可以吧?
=SUM(MAX(A1-200,0),MAX(A2-200,0))
等等..
但是有没有更好的方法来使用范围而不是添加每个单元格的结果,例如..
foreach cell in this range, if cell > 200, excessAmount++
?
您可以使用这个简单的公式来完成:
=SUM(IF(B3:I3<=200,0,B3:I3-200))
这意味着:
=> 求和。
哦,您可以使用整个范围作为输入:我已经对范围内的所有单元格执行了此操作
B3:I3
。
在您的问题中,您提到:
=SUM(MAX(A1-200,0),MAX(A2-200,0))
这可以写成:
=SUM(MAX(A1:A2-200,0))
适用于 Microsoft 365 用户的公式:
=SUM(FILTER(B3:H3-200,B3:H3>200))
当满足条件 >200 时,FILTER 函数返回减去 200 的值数组。然后通过 SUM 函数对该数组求和。遗憾的是,溢出数组不适用于 Excel 2019 及更低版本的用户。所以FILTER功能无法使用。
对于其他人:VBA 代码
sum = 0
For Each cell In Range('Your Range Here').Cells
If cell.Value > 200 Then sum = sum + cell.Value - 200
Next cell
=SUMIF(A1:F2,">200")-200*COUNTIF(A1:F2,">200")
如果愿意,您可以将常量
200
移动到其自己的单元格并使用命名范围:
=SUMIF(MyRange,">" & $A$5)-$A$5*COUNTIF(MyRange,">" &$A$5)