今天的案例,主要是为了教大家关于奇偶数判断的两个新函数 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 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

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