范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

终极求和函数sumproduct详解ExcelPythonSQLTableau使用教程

  本文介绍终极求和函数sumproduct:
  普通的求和需求只需要用SUM或者SUMIFS函数即可满足,但是如果对数组进行求和,会发现就不灵了,这里就该轮到终极求和王函数sumproduct登场了,sum单词是总和的意思,product单词有"乘积"的意思,函如其名,是把多个数进行乘积再汇总求和
  应用场景举例,现在有一个销售表如下:
  要求不借助辅助列的条件下完成以下问题:
  1计算出全部订单总销售额
  2计算出姓名为令狐冲的订单总销售额
  3计算出姓名为令狐冲且销售产品为orange的订单总销售额
  4计算出部门为华山派且性别为女且销售产品为apple的订单总销售额
  5计算出部门为华山派且性别为女且销售(产品为apple或者产品为orange)的订单总销售额
  6计算出姓名为令狐冲且单笔订单销售数量大于20的订单总销售额
  很多同学想到的是先在销售表加一列先计算出每行的销售额,再用SUMIFS函数进行取值 ,如下,这是一种办法,而且相对较常用一些
  但是现实中可能会在一些特定情况下不能再增加辅助列,此时这种办法就不灵了,于是我们开始使用sumproduct函数:
  用法:=SUMPRODUCT (array1, [array2], [array3], ...)最多有255个参数
  SUMPRODUCT函数返回相应范围或数组的个数之和,也就是数组1的每行与数组2的对应行与数组3的对应行进行相乘,然后再把每行的乘积进行相加:
  这里需要注意几点:
  1每个参数的范围应该是一致的,也就是行数要相同,
  2如果里面有非数值,比如进行乘积的第二个数组里面的值是文本值,则默认为是0
  3范围要有明确边界 ,这里不能像vlookup那样直接取整个一列,如果是这样的话,则数组会进行超大量的计算,比如=SUMPRODUCT(A:A,B:B),这里会进行104万多行计算相乘,会很占用资源的
  4参数里面可以嵌套条件进行条件取数,再进行乘积求和,这项也就是解决我们任务的方法
  1计算出全部订单总销售额
  输入公式:=SUMPRODUCT(sales!F2:F19,sales!G2:G19)
  其实这里也可以写成这样=SUMPRODUCT(sales!F1:F19,sales!G1:G19) ,第一行虽然并不是数值,但是会默认将文本值视为0,0乘以0还是等0,加里面也不影响结果
  2计算出姓名为令狐冲的订单总销售额
  公式=SUMPRODUCT((sales!B2:B19="令狐冲")*sales!F2:F19*sales!G2:G19)
  这里面(sales!B2:B19="令狐冲")是条件判断 ,返回逻辑值0或者1,如果是0则后面相乘等0,所以这里只有姓名令狐冲的行,才能取到值为1 ,然后用1乘以后面两个数组对应的行再进行相加
  3计算出姓名为令狐冲且销售产品为orange的订单总销售额
  公式=SUMPRODUCT((sales!B2:B19="令狐冲")*(sales!E2:E19="orange")*sales!F2:F19*sales!G2:G19)
  只是比上面那个多了一个判断条件,用乘号*进行连接即可
  4计算出部门为华山派且性别为女且销售产品为apple的订单总销售额
  =SUMPRODUCT((sales!D2:D19="华山派")*(sales!C2:C19="女")*(sales!E2:E19="apple")*sales!F2:F19*sales!G2:G19)
  5计算出部门为华山派且性别为女且销售(产品为apple或者产品为orange)的订单总销售额
  公式如下:=SUMPRODUCT((sales!D2:D19="华山派")*(sales!C2:C19="女")
  *(sales!E2:E19={"apple","orange"})*sales!F2:F19*sales!G2:G19)
  这里只是在第三个条件里面加了一个数组{} 里面的表示,只要前面的范围的值在{}里,则返回逻辑值1
  6计算出姓名为令狐冲且单笔订单销售数量大于20的订单总销售额
  Python实现
  1计算出全部订单总销售额
  代码如下
  df = pd.read_excel("c:/study_note/xiao_subtotal.xlsx",sheet_name="sales")
  df["销售额"] = df["销售数量"] * df["产品单价"]
  df["销售额"].sum()
  这里很明显借助了辅助列,相当于新建了一个销售额列,值为每行数量和单价相乘的结果,至此,后面几个问题的Python实现方法就是相当于SUMIFS函数了
  2计算出姓名为令狐冲的订单总销售额
  代码: df.groupby("姓名")["销售额"].sum()["令狐冲"]
  3计算出姓名为令狐冲且销售产品为orange的订单总销售额
  代码:
  a = df.groupby(["姓名","销售产品"])["销售额"].sum()
  a["令狐冲", "orange"]
  4计算出部门为华山派且性别为女且销售产品为apple的订单总销售额
  a = df.groupby(["部门","性别","销售产品"])["销售额"].sum()
  a["华山派","女", "apple"]
  5计算出部门为华山派且性别为女且销售(产品为apple或者产品为orange)的订单总销售额
  a = df.groupby(["部门","性别","销售产品"])["销售额"].sum()
  a["华山派","女", "apple"]+a["华山派","女", "orange"]
  6计算出姓名为令狐冲且单笔订单销售数量大于20的订单总销售额
  a = df[df["销售数量"]>20].groupby("姓名")["销售额"].sum()
  a["令狐冲"]
  SQL实现
  1计算出全部订单总销售额
  SELECT   sum (销售数量*产品单价)  FROM  sales ;
  2计算出姓名为令狐冲的订单总销售额
  SELECT  姓名, sum (销售数量*产品单价)  AS  总销售额  FROM  sales  GROUP   BY  姓名  HAVING  姓名= "令狐冲" ;
  3计算出姓名为令狐冲且销售产品为orange的订单总销售额
  SELECT  姓名,销售产品, sum (销售数量*产品单价)  AS  总销售额  FROM  sales  GROUP   BY  姓名,销售产品
  HAVING  姓名= "令狐冲" AND  销售产品= "orange" ;
  4计算出部门为华山派且性别为女且销售产品为apple的订单总销售额
  SELECT  部门,性别,销售产品, sum (销售数量*产品单价)  AS  总销售额  FROM  sales  GROUP   BY  部门,性别,销售产品
  HAVING  部门= "华山派"   AND  性别= "女"   AND  销售产品= "apple" ;
  5计算出部门为华山派且性别为女且销售(产品为apple或者产品为orange)的订单总销售额
  SELECT   sum (销售数量*产品单价)  AS  总销售额  FROM  sales  WHERE  销售产品= "apple"   OR  销售产品= "orange"
  GROUP   BY  部门,性别  HAVING  部门= "华山派"   AND  性别= "女" ;
  6计算出姓名为令狐冲且单笔订单销售数量大于20的订单总销售额
  SELECT  姓名, sum (销售数量*产品单价)  AS  总销售额  FROM  sales  WHERE  销售数量> 20
  GROUP   BY  姓名  HAVING  姓名= "令狐冲"   ;
  Tableau实现
  1计算出全部订单总销售额
  连接到工作表sales,创建计算字段销售额,公式:
  [销售数量]*[产品单价]
  把销售额拖到文本上面,即可显示总金额
  2计算出姓名为令狐冲的订单总销售额
  把姓名报到行空格处:
  3计算出姓名为令狐冲且销售产品为orange的订单总销售额
  把销售产品拖到行空格处
  4计算出部门为华山派且性别为女且销售产品为apple的订单总销售额
  把需要的几项条件字段拖到行空格
  5计算出部门为华山派且性别为女且销售(产品为apple或者产品为orange)的订单总销售额
  从右边筛选需要计算的产品,然后把销售产品字段从行空格删掉,即可得到结果
  5计算出姓名为令狐冲且单笔订单销售数量大于20的订单总销售额
  把销售数量字段复制一个副本,属性改为维度
  然后把销售数量(复制)这个拖到行空格处,可以看到表上已按每个订单的销售数量进行分类了
  右键添加筛选器,条件写 销售数量(复制)>20
  筛选好后,把这个字段移除
  得到想要结果
  至此,四种工具全部完成任务
  如果觉得有用的朋友请点下关注,谢谢!

老人每月都花光退休金,引发子女不满,对此你怎么看?老人每月都花光退休金,不好吧!总要留一点后路,老人把每月退休金花光,如果生起病来,再问子女要这样的老人是不对的,因为现在子女买房买车,孩子的教育费用,银行贷款要还贷真的压力很重,也二线城市,30岁程序猿多少年薪算合格?谢谢您的提问,小编专注于给各位分享各种职场经验,每日更新,跪求大家关注和点赞,下面说一下我的观点吧。二线城市,30岁程序猿多少年薪算合格?小编之前曾经研究过程序员这个特殊群体的收入在国企由于上司忌才,无论怎么任劳任怨加班加点。都没用,直接上司依然打压你,怎么办?老鬼也是在又大又老的国企工作过的人了,因此对于这个现象老鬼有很深的感受。明确的说题主在看待这件事情时就出现了错误!(不是偏差,是错误!),因此你根本找不到改善个人生存环境的方法!老电视剧人民的名义中,高育良被抓后,侯亮平能否接替他的职位?这个问题有点幼稚,答案就是目前不可能!原因很简单高育良是省委常委省委副书记兼省政法委书记,这个职位基本上就是全省前五号人物之一。实权的副省级领导。而侯亮平,目前只不过是省检察院系统从郑州自驾到拉萨总共多少公里,需要多少费用?有什么推荐路线吗?从郑州自驾川藏线至拉萨,需要先经连霍高速京昆高速至成都,而后走318国道川藏线至拉萨,再沿109国道青藏线至西宁,最终回到郑州。一总线路规划该线路规划一共分为四段1郑州至成都120农村为什么要盖56层的自建房,盖那么高,有啥用呢?我家农村房子盖有6层半,说起来你可能不信。6层半的自建房,己经不能满足我全家人住了,为了给家人腾出房间,我宁愿选择,春节不回家过年!一农村盖高层是为了自己家人住我家房子是97年盖好回应关切!居民医保还有个人账户吗?缴费后的钱都怎么使用?居民医疗保险还有个人账户吗?缴费后的钱都怎么使用?对于居民医疗保险是否有个人账户也是很多参保人比加关注和关心的一个问题,但按照按照国务院关于整合城乡居民基本医疗保险制度的意见精神,南京开封西安洛阳,到这四个城市旅游,留给你印象最深是哪座城市?还是最喜欢开封!我的感觉是这四个古城都有印象深刻的地方。首先,洛阳的牡丹花,真是叹为观止!太惊艳了!说洛阳牡丹甲天下丝毫都不为过。然后是西安的兵马俑开封的龙亭南京的中山陵。这三个地在西安工作管吃住六千元,可以干吗?在西安工作管吃住六千,是可以干的。西安平均工资不高,有6000工资算是可以呢从上面这份图表可以看出,很大部分的工资是在20003000元,这部分人占还是挺多。所以在西安有6000元中年人生,到达一定阶段后,如何修炼自我,突破职场瓶颈?大家好,我是九思堂笔记。您的问题是中年人生,到达一定阶段后,如何修炼自我,突破职场瓶颈?您提的问题,是很多四十岁中年人遇有的困惑,而且您已经意识到了四十岁是事业关键时点。我结合自己个人缴纳居民社保15年后,按最高标准交,能领多少钱?个人缴纳居民社保后,按最高标准交,能领多少钱?这不能直接回答你能领多少钱,不知道你所谓的最高标准是多少。下面来和大家分享一下我的个人观点。第一,城乡居民养老保险的缴费标准。按照国务
温暖的朋友圈文案1。在不为人知的未来我们平平安安就好2。如果事与愿违那一定另有安排3。答非所问其实已经是答了4。遗憾是正常的,人生嘛5。感觉不到爱意,那就全身而退6。站的太久,都忘了自己在等什么7很多时候,我会迷茫,会感到孤独人们总会害怕迷茫和孤独,但我说,你恰恰要感谢迷茫和孤独,因为它是一个自醒的过程,是你心灵排毒的良机,人的一生会有很多次这种感觉,没关系,遇到了,就停下来,慢下来,在最坏的情绪下做的2022关于美好时光的唯美句子1。一朵花,一个世界,一片叶子,一个追求。每个人都有自己的小时可能是一个下午。2。记忆是过去的时光,无论是甜酸苦爱恨,回味都是一种完美的味道,所以生活就像一首歌和一场梦。3。每天,千年榔桥木梳的蜕变从家庭手工作坊到产业化发展提起木梳,总会让人想起临窗梳妆对镜贴花黄的唯美画面。相比快消时代的塑料制品,木梳温润的手感下,是沉淀经年的历史。圆木锯为方片褪去余料打磨光滑上漆涂色,由一棵树到一把梳的转变,在安徽金铲铲弈周报2。16C环境分析与阵容排行,平衡版本归来兄弟们好,我是摩昂解说,版本的强势阵容均在弈图排行!排位上分难?看金铲铲弈周报就对了,下面摩昂就和大家一起来看一看2。16C版本阵容环境有那些变化,金铲铲顶级大神玩家们都在用那些阵红色村里悟初心系列报道贵州让红色美丽村庄示范效应更显著今年2月,贵州省7个村被中央组织部纳入红色美丽村庄试点村,加上去年被纳入的23个村,贵州共有30个村进入红色美丽村庄试点建设。红色美丽村庄的示范创建,不仅让老百姓得了实惠,精神上也上海打造AI芯片产业发展高地(本篇文篇章共1198字,阅读时间约2分钟)以智联世界元生无界为主题的2022世界人工智能大会于上周在上海成功举办。据报道,从2018年首届世界人工智能大会开始,上海着力发挥大会的一周综述我国首部人工智能产业专项立法正式公布一周综述宏观经济与政策一截至9月7日上交所基础设施公募REITs市值合计442。9亿元上证报中国证券网讯据上交所消息,截至2022年9月7日,上交所基础设施公募REITs市值合计4运营级B2C商城系统源码SpringBoot2MybatisPlusVue开发一系统概述B2C单商户商城系统,基于SpringBoot2MybatisPlusSpringSecurityjwtredisVue开发的前后端分离的商城系统。支持小程序公众号H5A规范弹窗,拒绝精神污染对用户很重要近日,国家互联网信息办公室工业和信息化部国家市场监督管理总局联合发布互联网弹窗信息推送服务管理规定,自2022年9月30日起施行。规定立足当前实际,紧盯弹窗新闻信息推送弹窗信息内容特斯拉不能宣传全自动驾驶!这个股市隐形冠军可能比新能源还香V探简报本周探到前沿的互联网新概念web3。0,是概念炒作还是真的未来?还有新旧能源的新视角观察,传统能源原来这几年涨势如此优秀!新能源还有哪些隐藏机会?本周探新指数Web3。0探新指数国