excel 中最大值数组的总和?

Summation of an array of max values in excel?

假设我在单元格中有以下数据 A1:A3

A1 = 1
A2 = 3
A3 = 5

我想写一个公式,将单元格中的数字与 2 的差相加。如果差为负,则取 0。我尝试了以下 CSE/array 公式:

{=sum(max(A1:A3-2,0))}

Excel计算公式如下:

sum(max({1-2,3-2,5-2},0)) = sum(max({-1,1,3},0)) = sum(max(-1,1,3,0)) = sum(3) = 3

我想写一个计算公式如下:

sum({max(-1,0),max(1,0),max(3,0)}) = sum({0,1,3}) = 4

显然,解决此问题的一种方法是在 B 列中进行第二次计算,这样:

 B1 = max(A1-2,0) = max(-1,0) = 0
 B2 = max(A2-2,0) = max( 1,0) = 1
 B3 = max(A3-2,0) = max( 3,0) = 3

那么我的目标公式是:

= sum(B1:B3) = 4

不过,我想知道:有没有一种方法可以使用数组公式在单个单元格中执行此操作?

谢谢!

这个怎么样?与其尝试使用 MAX,不如使用 SUMPRODUCT。如果差异为负数,A1:A3-2>0 的计算结果为 FALSE,相当于将差异乘以 0

=SUMPRODUCT((A1:A3-2)*(A1:A3-2>0))