SUMPRODUCT 函数的使用方法(一)SUMPRODUCT 函数的使用方法(一) 以往,为如何多条件求和而苦恼,总是用辅助列,用 SumIf()来解决,不尽人意之处太多太多。 查过 SUMPRODUCT()函数的使用方法,其解释为“求二个或二个以上数组的乘积之和”,就片面地理解为这与多条件求和无关。后来,看了网友运用 SUMPRODUCT()函数的例子,总感到莫名其妙,Excel 帮助解释及举例也没有涉及用它来搞多条件求和的例子。现在想来,真是学无止境了! 我们以“A1:A10”与“B1:B10”两个组为例,第一个数组各行的值分别为 110,第二个数组各行的值分别为 1120,假如我们用公式“=SUMPRODUCT((A1:A10)*(B1:B10))”,其结果为935,其计算过程如下图: 现在我们将第一个数组加上条件又会有什么结果呢?如“(A1:A10)=4”之类。我们先来看“=SUMPRODUCT(A1:A10=4)”,其结果为“零”,可能是系统视为缺省为乘以“零”,因此结果为零,假如我们将公式改为“=SUMPRODUCT((A1:A10=4)*1)”,因为 A1:A10 中有一个 4,因此其值为 1,假如有两个 4,其他值就为 2。 于是,我们就猜想到这个公式的含义,(A1:A10)=4,就是数组中各行的值假如是 4,就是“真”,否则,就是“假”,“真”对应值为 1,“假”对应值为 0,当有这个条件表达后,A1:A10 的值不再是“1,2,3,4,5,6,7,8,9,10”,而是“0,0,0,1,0,0,0,0,0,0”,假如将它乘以第二个数组,公式为“=SUMPRODUCT((A1:A10=4)*(B1:B10))”,其值为 14,其表义就是 A1:A10 其他行为零,只有第 4 行为 1,其他行的计算结果为零,只有第 4 行计算结果为 14,其统计结果当然就为 14,其他运算过程如下图:假如 A1:A10 的值不是 110,而其中有三个 4,其他结果又发生了相应的变化,如下图: 这样,SUMPRODUCT 条件求和的功能就实现了。 下面是一张单位生产量报表的简版,它主要统计“当日产量”、“当月产量”和“当年产量”,其数据来源于每日的产量记录,如下图: 上面报表查询要求,当用户输入要统计的“年、月、日”(H2、I2、J2)时,就要相应统计出“本日数”、“本月数”、“本年数”,一切基于查询日的数据。 在“本月数”单元格的公式中,我们录入如下公式: =SUMPRODUCT((A2:A63=DATE(H2,I2,J2))*(B2:B63)) 其意义是:统计日期为本日(DATE(H2,I2,J2))的产量数据。 在“本月数”单元格中,我们录入如下公式: =SUMPRODUCT((YEAR(A2:A63)=H2)*(MON...