作者:iamlaosong

越来越觉得sumproduct这个函数有用,过去用sum组函数,改起来复制起来都麻烦,sumif在条件多的时候也觉得不方便。现在改用sumproduct函数,就简单多了。查过sumproduct函数的使用方法,其解释为“求二个或二个以上数组的乘积之和”,如果因此就片面地理解为这与多条件求和无关,那就错了。其实呢,利用条件真假的值(“真”对应值为1,“假”对应值为0),sumproduct函数用起来要比sumif函数好用的多。例如,“=SUMPRODUCT((A1:A100=“工程师”)*1)”就统计了A列中含有“工程师”的行数,需要注意的是,后面“*1”是必不可少的,否则结果为零。下面举几个应用案例。

1、库存统计

Excel文件中有三张表,一张入库记录,一张出库记录,一张库存记录,在添加出入库记录后,库存表用sumproduct函数自动反应当前库存。

(1)入库记录表A、B、C、D、E、F列

入库时间 单据号 零件号 货物数量 包装种类 质量状态
2013-06-04 A1307703 F114001721 72 料箱 合格
2013-06-04 A1307703 F114001722 36 料箱 合格
2013-06-04 A1307703 F114001723 72 料箱 合格
2013-06-04 A1307703 F114001724 48 料箱 合格
2013-06-04 A1307703 F114001725 48 料箱 合格
2013-06-04 A1307703 F114001726 120 料箱 合格
2013-06-04 A1307703 F114001727 48 料箱 合格
2013-06-04 A1307703 F114001728 24 料箱 合格
2013-06-04 A1307708 F114001729 144 料箱 合格
2013-06-04 A1307708 F114001730 48 料箱 合格
2013-06-04 A1307708 F114001731 48 料箱 合格
2013-06-04 A1307708 F114001732 48 料箱 合格
2013-06-04 A1307708 F114001733 72 料箱 合格
2013-06-04 A1307708 F114001734 72 料箱 合格
2013-06-04 A1307714 F114001728 144 料箱 合格
2013-06-04 A1307714 F114001729 144 料箱 合格
2013-06-04 A1307714 F114001730 48 料箱 合格
2013-06-04 A1307714 F114001731 48 料箱 合格
2013-06-04 A1307714 F114001732 48 料箱 合格
2013-06-04 A1307714 F114001733 144 料箱 合格
2013-06-04 A1307714 F114001734 144 料箱 合格
2013-06-04 A1307719 F114001735 72 料箱 合格
2013-06-04 A1307719 F114001736 36 料箱 合格
2013-06-04 A1307719 F114001737 144 料箱 合格

(2)出库记录表A、B、C、D、E、F列

出库时间 单据号 零件号 货物数量 包装种类 质量状态
2013-06-06 0000003 F114001721 576 料箱 合格
2013-06-06 0000005 F114001722 192 料箱 合格
2013-06-06 0000006 F114001723 240 料箱 合格
2013-06-06 0000007 F114001724 252 料箱 合格
2013-06-07 0000008 F114001725 288 料箱 合格
2013-06-07 0000008 F114001726 288 料箱 合格
2013-06-07 0000008 F114001727 144 料箱 合格
2013-06-07 0000009 F114001728 432 料箱 合格
2013-06-07 0000010 F114001729 216 料箱 合格
2013-06-07 0000010 F114001730 360 料箱 合格
2013-06-07 0000010 F114001731 144 料箱 合格
2013-06-07 0000011 F114001732 144 料箱 合格
2013-06-07 0000012 F114001733 72 料箱 合格
2013-06-07 0000013 F114001734 360 料箱 合格
2013-06-07 0000014 F114001728 120 料箱 合格
2013-06-07 0000016 F114001729 72 料箱 合格
2013-06-07 0000016 F114001730 118 料箱 合格
2013-06-07 0000016 F114001731 144 料箱 合格
2013-06-07 0000016 F114001732 144 料箱 合格
2013-06-08 0000018 F114001733 72 料箱 合格
2013-06-08 0000018 F114001734 72 料箱 合格
2013-06-08 0000019 F114001735 216 料箱 合格
2013-06-08 0000019 F114001736 216 料箱 合格
2013-06-08 0000020 F114001737 192 料箱 合格

(3)库存记录表A、B、C、D、E、F、G列

零件号 货物名称 包装种类 质量状态 合计入库 合计出库 库存数量
F114001721 YN3 HousingLH 料箱 合格 1116 1564 72
F114001722 YN3 HousingRH 料箱 合格 492 1163 36
F114001723 YN3 LensLH 料箱 合格 668 2295 72
F114001724 YN3 LensRH 料箱 合格 600 2183 48
F114001725 YP7 HousingLH 料箱 合格 312 1152 48
F114001726 YP7 HousingRH 料箱 合格 624 926 120
F114001727 YP7 LensLH 料箱 合格 1008 636 48
F114001728 YP7 LensRH 料箱 合格 600 2308 24
F114001729 T61 HousingLH 料箱 合格 648 1352 144
F114001730 T61 HousingRH 料箱 合格 264 1368 0
F114001731 T61 LensLH 料箱 合格 228 954 0
F114001732 T61 LensRH 料箱 合格 180 1480 0
F114001733 T63 HousingLH 料箱 合格 520 1048 0
F114001734 T63 HousingRH 料箱 合格 444 1138 0

(4)库存计算公式

合计入库:=SUMPRODUCT((入库!$C$2:$C$65535=库存!$A2)*(入库!$E$2:$E$65535=库存!$C2)*(入库!$F$2:$F$65535=库存!$D2),(入库!$D$2:$D$65535))

合计出库:=SUMPRODUCT((出库!$C$2:$C$65535=库存!$A2)*(出库!$E$2:$E$65535=库存!$C2)*(出库!$F$2:$F$65535=库存!$D2),(出库!$D$2:$D$65535))

公式中每一组数字的条件判定,就会得出不同的“真”与“假”,数组的值变成了不同的“0”和“1”,各组的数字相乘,只有条件完全达到的行,才有可能得到数值,这些数值相加的结果就是我们要求的值。这就是SUMPRODUCT方式的多条件求各和。上述第一个公式可以描述为(第二个公式同理):

=SUMPRODUCT((入库零件号区域=库存零件号)*(入库包装种类区域=库存包装种类)*(入库质量状态区域=库存质量状态),(入库数量区域))

库存数量:=E2-F2

2、每日质量通报

Excel文件中有三张表,一张质量记录汇总表,一张每日通报,一张累计通报,在添加每天质量记录后(点击按钮,VBA程序自动根据P1单元格中的日期从数据库中提取质量记录),每日通报和累计通报用sumproduct函数自动反应当前质量情况。修改日期,每日通报和累计通报两张报表立即反应当日的质量数据。

(1)质量记录A、B、C、D、E、F列

投递日期 投递单位 时限情况
进口邮件数 未及时妥投邮件数 未妥投邮件数 及时妥投率 
2014-9-1 合肥市 168 30 7 77.98%
2014-9-1 阜阳市 44 3 0 93.18%
2014-9-1 蚌埠市 40 1 0 97.50%
2014-9-1 芜湖市 103 7 0 93.20%
2014-9-1 安庆市 60 9 0 85.00%
2014-9-1 宿州市 45 4 0 91.11%
2014-9-1 滁州市 73 1 0 98.63%
2014-9-1 六安市 52 1 0 98.08%
2014-9-1 黄山市 17 3 0 82.35%
2014-9-1 淮北市 15 1 0 93.33%
2014-9-1 亳州市 34 2 1 91.18%
2014-9-1 淮南市 37 1 1 94.59%
2014-9-1 马鞍山 24 1 0 95.83%
2014-9-1 宣城市 29 3 0 89.66%
2014-9-1 铜陵市 23 4 0 82.61%
2014-9-1 池州市 21 3 0 85.71%
2014-9-2 合肥市 270 109 8 56.67%
2014-9-2 阜阳市 62 7 0 88.71%
2014-9-2 蚌埠市 51 1 0 98.04%
2014-9-2 芜湖市 107 10 0 90.65%
2014-9-2 安庆市 72 5 0 93.06%

(2)每日通报A、B、C、D、E、F列

投递单位 时限情况
进口邮件数 未及时妥投邮件数 未妥投邮件数 及时妥投率 
合肥市 168 30 7 77.98%
阜阳市 44 3 0 93.18%
蚌埠市 40 1 0 97.50%
芜湖市 103 7 0 93.20%
安庆市 60 9 0 85.00%
宿州市 45 4 0 91.11%
滁州市 73 1 0 98.63%
六安市 52 1 0 98.08%
黄山市 17 3 0 82.35%
淮北市 15 1 0 93.33%
亳州市 34 2 1 91.18%
淮南市 37 1 1 94.59%
马鞍山 24 1 0 95.83%
宣城市 29 3 0 89.66%
铜陵市 23 4 0 82.61%
池州市 21 3 0 85.71%
累   计 785 74 9 89.43%

计算公式(单元格P1存放通报日期):

进口邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!C$4:C$500))

未及时妥投邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!D$4:D$500))

未妥投邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!E$4:E$500))

及时妥投率 :=(B4-C4-D4)/B4

(3)累计通报

内容和每日通报一样只是数据为当月累计而已,所以各字段公式也差不多,只是多了个小于符号“<”,即:

进口邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500<=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!C$4:C$500))

未及时妥投邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500<=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!D$4:D$500))

未妥投邮件数:=SUMPRODUCT((数据汇总!$A$4:$A$500<=$P$1)*(数据汇总!$B$4:$B$500=$A4),(数据汇总!E$4:E$500))

及时妥投率 :=(B4-C4-D4)/B4

公式的含义就不解释了,就是多条件求和,这里的条件可以是多种形式的,等于、大于、小于、不等于都行,只要记住真假的值:真=1,假=0就可以了。

Excel函数sumproduct应用案例-多条件求和相关推荐

  1. excel函数SUMPRODUCT

    文章目录 单元格字母E的个数 SUMPRODUCT 双条件求和 达到60岁的女性人数 根据总分为成绩评定名次 用SUMPRODUCT函数求60到80分之间的成绩个数 借助辅助列和辅助区域 等号前加单引 ...

  2. oracle对某两列求和再求和_函数实战:多列条件求和

    今天和新手小伙伴们分享有关条件求和的内容,高手请忽略哈.先来看一组销售数据,是某商场不同品牌电视机的三天销售记录:现在需要根据G列的品牌,计算其三天的销售总和.想必有表亲已经想到办法了,既然是按条件求 ...

  3. Excel日期运算单,多条件求和与计数

    推算日期: 1.相隔90天,日期遇到天数直接相加 = 一个新的日期 原因:日期的表示在Excel中也是数字,数字1为1900年1月1日,以此类推 2.间隔整数月份处理: 思想:需要借助year,mon ...

  4. Excel条件求和函数的超实用技能,真的都掌握了吗?

    ​关注一点IT技术!学习更多IT技能, 点击一点IT技术即可关注哦 前言 职场中,不管你是什么职位,Excel表格是你一定要会的技能,大到CEO,小到普通员工,都是必备技能.常说的精通Excel,至少 ...

  5. excel排名_excel函数技巧:看看按条件排名要如何进行?

    编按:哈喽,大家好!说到将excel中的数据进行排名,大家首先想到就是rank函数,但如果说要按条件对数据进行排名呢?小伙伴们是不是一下子就蒙圈了,似乎还没有听说过按条件进行排名的函数.那么今天,老菜 ...

  6. SUMIFS函数多条件求和的9个实例【转载】

    文章目录 第一部分:SUMIFS函数用法 第二部分:SUMIFS函数实例介绍 第一部分:SUMIFS函数用法 Excel中SUMIFS函数是Excel2007以后版本新增的多条件求和函数. SUMIF ...

  7. EXCEL实用技巧-多条件求和、多条件计数、多条件查找

    多条件求和.多条件计数.多条件查找--多了去了! Excel中用countif和countifs统计符合条件的个数 Excel CountIfs函数轻松组合多条件,含不为空和不等于的例子 接近完美的E ...

  8. 计算机函数公式mod,excel函数公式大全,教您常用的Excel函数

    其实我们对Excel函数公式上面的所知道的知识还是不够多的,所以我们还得要多加的学习这个方面的内容.今天小编来给大家介绍一下子我们平时使用的Excel的常用函数公式都有那些吧! 最近小编发现有小伙伴想 ...

  9. 22个常用Excel函数大全,直接套用,提升工作效率!

    Excel曾经一度出现了严重Bug,主要有两种比较悲催的情况,首先是这种: 更加悲催的是这种: 言归正传,今天和大家分享一组常用函数公式的使用方法:职场人士必须掌握的12个Excel函数,用心掌握这些 ...

最新文章

  1. java 设置日期的格式_java时间格式大全
  2. git stage 暂存_什么是Git?下载和安装Git
  3. mysql如何处理图片吗_如何解决mysql插入图片后缀名问题?
  4. Android之解决PC浏览器访问手机服务端取assets目录下的文件页面显示不出来问题
  5. jboss war包放哪_如何将JBoss HR Employee Rewards项目放入云端
  6. DOM——获取元素的方式
  7. jquery遍历元素对象each方法
  8. 验证码图片生成和验证
  9. python日常应用——pdf拆分和合并 python PyPDF2
  10. 移动无线网络参数及速率
  11. ToolBar修改返回按钮图标
  12. 修改织梦后台登陆地址login.php,织梦后台免登录的实现步骤 Dede后台自动登录的修改方法...
  13. Mooc视频字幕提取
  14. java HotSpot 内存管理白皮书
  15. 计算机时钟的工作原理,单片机的周期与系统时钟的工作原理
  16. 人工智能学习前的简单了解
  17. 币小秘:这些年,见过的带单老师们,这里有没有你踩过的坑?
  18. 04-前端技术_ javaScript内置对象与DOM操作
  19. 金融科技大数据产品推荐:金鹏汽车金融大数据风控系统
  20. Matlab的Notebook软件工具设置及程序运行

热门文章

  1. C语言实战 - 扫雷(图形界面-鼠标操作)
  2. CCHTTP后端与diygw前端完美结合,开发前端后端-教程1
  3. 前端模拟自动解析手机号姓名地址
  4. 好用的chrome插件:鼠标手势、阅读视图、onetab
  5. uninstall和install
  6. 【Socket编程】Python实现一个服务端,多个客户端接入
  7. word2019技巧:段落的段前段后单位行设置为磅
  8. vlookup多项匹配_Excel 怎样用VLOOKUP匹配多列数据/excle全部筛选匹配
  9. python turtle画表情包--牛bi
  10. php slik转wav_silk转mp3(小程序音频silk转普通mp3接口)