细心的读者可能已经发现了,我昨天的案例中,对“底薪”列忽略错误值求和,但是没有用到“奖金”列,那为何还把这列留在图上呢?

因为今天要讲的案例,是昨天的衍生版:只对“底薪”为数值的对应奖金求和。

开始学习前,可以先回顾上一篇

案例:

当“底薪”为正常数值时,对相应的“奖金”项求和。

解决方案 :

1. 在 D14 输入以下公式即可:

=SUMPRODUCT(ISNUMBER(C2:C13)*(D2:D13))

公式释义:

  • 今天我们用到了一个新函数 ISNUMBER
  • ISNUMBER 用来判断引用的参数或指定单元格中的值是否为数字,语法结构为 ISNUMBER(value)
  • ISNUMBER 根据检验的内容是否为数字,分别返回 TRUE 或 FALSE
  • 本公式中,ISNUMBER(C2:C13):会依次判断“底薪”单元格是否为数字,并返回 true 或 false;true 相当于 1,false 相当于 0
  • SUMPRODUCT 是积求和函数,相当于 C2*D2+C3*D3...+C13*D13
  • 因此只有 C 列为 true(1)的那些单元格与 D 列相乘,结果才不为 0 ,从而加入总和

今天这个公式是不是有点眼熟?是的,在Excel 复选框 – 对选中的单元格求和 中,用的都是 sumproduct 公式

Excel 中既然有 isnumber 函数,就有对应的 istext 函数

  • ISTEXT 用来判断引用的参数或指定单元格中的值是否为文本,语法结构为 ISTEXT(value)
  • ISTEXT 根据检验的内容是否为文本,分别返回 TRUE 或 FALSE

掌握了这两个函数,今后遇到一些单元格数字无法参与计算的情况,就可以用函数判断一下其格式是否为数字,然后修改单元格格式即可。