分享

SUMPRODUCT函数的使用方法(一)

 超越梦想之上 2014-08-12
  以往,为如何多条件求和而烦恼,总是用辅助列,用SumIf()来解决,不尽人意之处太多太多。
        查过SUMPRODUCT()函数的使用方法,其解释为“求二个或二个以上数组的乘积之和”,就片面地理解为这与多条件求和无关。后来,看了网友运用SUMPRODUCT()函数的例子,总感到莫名其妙,Excel帮助解释及举例也没有涉及用它来搞多条件求和的例子。现在想来,真是学无止境了!
        我们以“A1:A10”与“B1:B10”两个组为例,第一个数组各行的值分别为1-10,第二个数组各行的值分别为11-20,如果我们用公式“=SUMPRODUCT((A1:A10)*(B1:B10))”,其结果为935,其计算过程如下图:
SUMPRODUCT函数的使用方法(一) - 黄其宾 - 贵州韩黄赵一家的博客
        现在我们将第一个数组加上条件又会有什么结果呢?如“(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,其他运算过程如下图:
SUMPRODUCT函数的使用方法(一) - 黄其宾 - 贵州韩黄赵一家的博客
         如果A1:A10的值不是1-10,而其中有三个4,其他结果又发生了相应的变化,如下图:
SUMPRODUCT函数的使用方法(一) - 黄其宾 - 贵州韩黄赵一家的博客
         这样,SUMPRODUCT条件求和的功能就实现了。
        下面是一张单位生产量报表的简版,它主要统计“当日产量”、“当月产量”和“当年产量”,其数据来源于每日的产量记录,如下图:
SUMPRODUCT函数的使用方法(一) - 黄其宾 - 贵州韩黄赵一家的博客
        上面报表查询要求,当用户输入要统计的“年、月、日”(H2、I2、J2)时,就要相应统计出“本日数”、“本月数”、“本年数”,一切基于查询日的数据。
        在“本月数”单元格的公式中,我们录入如下公式:
        =SUMPRODUCT((A2:A63=DATE(H2,I2,J2))*(B2:B63))
       其意义是:统计日期为本日(DATE(H2,I2,J2))的产量数据。
        在“本月数”单元格中,我们录入如下公式:
        =SUMPRODUCT((YEAR(A2:A63)=H2)*(MONTH(A2:A63)=I2)*(A2:A63<=DATE(H2,I2,J2))*(B2:B63))
       这就有一个较为复杂的逻辑界定。其一,我们统计本月的数据,就要用条件MONTH(A2:A63)=I2)。其二,我们仅有上面条件不足以统计出正确数据,因为必须要考虑到历史查询情况,就是说,查询日为10日,但是10-31日是有数据的,因此还必须加上如些条件)(A2:A63<=DATE(H2,I2,J2)),就是当月数据还要小于查询日。其三,有些时候,数据中有一年以上的数据,所以仅有上面两个条件还不行,如查询本月2月,就可能把去年2月的数据也统入其中了,还得加上条件(YEAR(A2:A63)=H2),既“年”等于XX年。
        我们在“本年数”中录入如下公式:
       
=SUMPRODUCT((YEAR(A2:A63)=H2)*(A2:A63<=DATE(H2,I2,J2))*(B2:B63))
        这个公式,我们既要考虑到年度限制,同时要考虑到查询日限制,理由同上。
        通过这些天来的查阅,得以了解SUMPRODUCT()一爪半鳞,更加知道自己的浅薄,特录于此,以便忘记时查阅。

       示例工作簿已经发在群194180603  155399862共享中,喜欢的朋友请自行下载。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多