Excel中最大值数组的求和?

时间:2019-06-19 23:32:13

标签: excel-formula sum max array-formulas

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

A1 = 1
A2 = 3
A3 = 5

我想写一个公式,将单元格中的数字和2之间的差求和。如果差为负,则取0。我尝试了以下CSE /数组公式:

{=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

但是,我想知道:有没有一种方法可以在单个单元格中使用数组公式?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here