云霞资讯网

“或”条件求和,这个函数是公式的神来之笔

今天教大家一个“或”条件求和的公式,会用到一个很小众的函数,点睛之笔。案例:对下图 1 中符合以下任意条件的业绩求和:“

今天教大家一个“或”条件求和的公式,会用到一个很小众的函数,点睛之笔。

案例:

对下图 1 中符合以下任意条件的业绩求和:

“业绩”>10 或

“完成率”>100%

效果如下图 2 所示。

解决方案:

1. 在 F2 单元格输入以下公式:

=SUMPRODUCT(SIGN((C2:C10>10)+(D2:D10>1)),C2:C10)

公式释义:

(C2:C10>10)+(D2:D10>1):

C 列 >10 和 D 列 >1 两个条件满足其一;

中间的“+”表示“或”条件,相当于 or 函数的作用;

满足一个条件结果为 1,都不满足为 0,都满足为 2,结果如下图:

SIGN(...):这个比较小众的函数是这个公式中的重点,我详细给大家讲解一下;

sign 函数用于确定数字的符号。如果数字为正数,则返回 1;如果数字为 0,则返回零 0;如果数字为负数,则返回 -1;

此处使用这个函数,目的就是将上述数组中的 2 变成 1;为何要这么做?后面会讲,下图是计算结果;

SUMPRODUCT(...,C2:C10):

sumproduct 函数的作用对两个数组的乘积求和;

第一个数组中的 0 值与 C2:C10 相乘后,就会过滤掉那些不符合条件的值;而 1 与之相乘,就会提取出所有符合条件的值;

所以必须将第一个数组中的 2 变成 1,如果有 2,那么就会将 C 列的值乘以 2,导致求和结果出错;

最后就是将所有符合条件的 C 列值相加,得到所需结果。