Excel – 隔行求和,平时低调的奇偶判断函数就该出场了

今天的案例,主要是为了教大家关于奇偶数判断的两个新函数 iseven 和 isodd。

这两个函数大多数人可能挺陌生的,其实它们的语法特简单,学习掌握一下,有些场景中还是会有点睛之笔的。

案例:

下图 1 为部门每位销售的业绩目标和实际达成情况,请在最下方分别计算出 KPI 和实际的总数。

效果如下图 2 所示。

解决方案:

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

=SUMPRODUCT(ISEVEN(ROW(2:27))*C2:C27)

公式释义:

  • ROW(2:27):提取 2 到 27 行的行号,结果为 2 到 27 的一组数字 {2;3;4;...;27};

  • ISEVEN(...):iseven 函数的作用是判断上述数组中的数字是否为偶数,生成一组结果为 true 和 false 的数组;

  • SUMPRODUCT(...*C2:C27):

    • 对上述数组和 C2:C27 区域的数值进行乘积求和;

    • 只有第一个数组中为 true 的值与 C 列数值相乘才保留原结果,false 相乘为 0;

    • 最后对乘积结果求和,也就是将所有偶数列的值相加

细心的读者可能已经发现了,今天的公式中用到了一个新函数 iseven,那我先给大家讲解一下这个函数。

ISEVEN 函数说明:

作用:

  • 如果参数 number 为偶数,返回 TRUE,否则返回 FALSE。

语法:

  • ISEVEN(number)

参数:

  • Number:必需, 要测试的值。如果 number 不是整数,将被截尾取整。

说明:

  • 如果 number 不是数字类型,则 ISEVEN 返回 #VALUE! 错误值。

既然有 iseven,那么当然也有对应的 isodd 函数。

与 iseven 相对,isodd 的作用是判断参数是否为奇数,如果是则返回 true,不是则返回 false。

2. 在 C29 单元格中输入以下公式:

=SUMPRODUCT(ISODD(ROW(2:27))*C2:C27)

公式释义:

  • 将 C2:C27 中行值为奇数的所有单元格的值相加

上述公式如果不用 iseven 和 isodd 函数,直接用 sumproduct 当然也是可以的。

3. 在 C28 单元格中输入以下公式 --> 下拉复制公式:

=SUMPRODUCT(($B$2:$B$27=B2)*$C$2:$C$27)

公式释义:

  • $B$2:$B$27=B2:判断 B2 至 B27 区域的值是否等于 B2 单元格的值,生成 true 或 false 组成的数组;

  • SUMPRODUCT(...*$C$2:$C$27):用上述数组中的值分别与 C 列数字相乘再求和,即可计算出所有类型为 KPI 的总和

* 请注意:B 和 C 列的两个区域要绝对引用,而 B2 单元格需要相对引用。

有关 sumproduct 函数的详解,请参阅 Excel函数(四) – sumproduct函数计数、排名、求和等等

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,文中专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

(0)

相关推荐