Excel SUMPRODUCT函数用法(成绩求和,分组排序)

SUMPRODUCT函数是Excel中功能比较强大的一个函数,可以实现sum,count等函数的功能,也可以实现一些基础函数无法直接实现的功能,常用来进行分类汇总,分组排序等

SUMPRODUCT 函数基础

SUMPRODUCT函数先计算多个数组的元素之间的乘积再求和。SUMPRODUCT函数的语法为:

SUMPRODUCT(array1,array2,array3, …),其中Array为数组,用于指定包含构成计算对象的值的数组或单元格区域

SUMPRODUCT函数的使用注意事项:

(1).数组参数必须具有相同的维数,即行数相同,否则,函数SUMPRODUCT将返回错误值#VALUE!
(2).数据区域引用不能整列引用.如:A:A、B:B,必须是A2:A100这种

SUMPRODUCT 函数用法

用法1:乘积求和

如下数据需要统计公司整体的花费,需要将数量乘以单价并汇总
在这里插入图片描述
这里使用SUMPRODUCT函数可以直接得到结果。输入公式=SUMPRODUCT(C2:C8*D2:D8)或者=SUMPRODUCT(C2:C8,D2:D8)即可得到总计花费

这里用到了两写方法,第一个公式中用*(乘号)连接参数。第二个公式中用,(逗号)连接参数。本例中的数据源都是数值,所以两种方法返回的结果一致。如果当数据源中包含文本数据值,使用公式2仍然可以返回正确结果,SUMPRODUCT将非数值型的元素作为0处理。但如果用公式1则会导致数值和文本相乘,返回错误值:#VALUE!。

乘积求和是SUMPRODUCT 函数最基础的用法,也可以解释SUMPRODUCT 函数的原理:即将选取区域的数组相乘再相加

用法2:条件求和

SUMPRODUCT函数中加入逻辑判断即可以实现sumif、sumifs函数的功能:条件求和。例如想要求市场部的总花费,即单条件求和,公式如下:=SUMPRODUCT((A2:A8="市场部")*C2:C8*D2:D8)
其中A2:A8="市场部"即为对应的条件判断,如果为市场部,则返回结果为True,对应值为1,并与后续数组中的数量和单价相乘,如果不为市场部,则返回结果为False,对应值为0,与后续数组中的数量和单价相乘后返回的结果为0,从而实现了条件求和。
当有多个条件求和时也可以按照同样的原理增加逻辑判断。例如求市场部笔记本总花费,对应公式为:=SUMPRODUCT((A2:A8="市场部")*(B2:B8="笔记本")*C2:C8*D2:D8)

用法3:条件计数

条件计数的原理即为将SUMPRODUCT函数中的参数全部设为条件判断,判断结果为True的返回数值1,相加后即为满足条件的计数
例如求市场部对应的记录数量,公式为:=SUMPRODUCT(N(A2:A8="市场部"))其中部门列是文本形式,则需嵌套N函数,表示返回转化为数值后的值,从而统计对应的记录数。
如果需要对多条件进行计数,例如统计市场部单价大于5的记录数,则公式为:=SUMPRODUCT((A2:A8="市场部")*(D2:D8>5))

用法4:分组排序

SUMPRODUCT函数也常用于分组排序,例如需要将不同部门的商品单价排序,则对应公式为:=SUMPRODUCT(($A$2:$A$8=A2)*($D$2:$D$8>=D2))
其中$A$2:$A$8=A2表示条件区域列判断是否等于A2,返回对应的判断结果True和False。$D$2:$D$8>D2判断单价区域列是否大于等于D2,同样返回一组判断结果True和False,通过SUMPRODUCT函数将两组数组相乘,得到的就是部门列为市场部,且单价大于等于10的相乘结果为1,其他结果为0,再相加后即可得到整个分组中大于D2的记录数,从而得到对应的排名。
省流版公式套路:=SUMPRODUCT((条件区域1=条件1)*(要进行排名的区域>数值))+1

示例文件下载:
https://download.csdn.net/download/qq_42692386/88855138

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决flask结合layui前端框架模板(laytpl 语法)与gin语法出现冲突的问题。

在模板中加了laytpl的写法 例如: gin框架渲染数据的语法也是{{ }} 例如: 如何两者都出现在html模板页,运行gin框架会识别为框架定义的变量,运行之后发现报如上错误,出现了错误是因为刚好gin的写法也是"{{ 变量 }…

【JavaEE】_CSS选择器

目录 1. 基本语法格式 2. 引入方式 2.1 内部样式 2.2 内联样式 2.3 外部样式 3. 基础选择器 3.1 标签选择器 3.2 类选择器 3.3 ID选择器 4. 复合选择器 4.1 后代选择器 4.2 子选择器 4.3 并集选择器 4.4 伪类选择器 1. 基本语法格式 选择器若干属性声明 2. 引入…

力扣:40. 组合总和 II

回溯&#xff1a; 1.先声明好大集合和小集合&#xff0c;在调用回溯函数&#xff0c;终止条件为sumtarget&#xff0c;要进行剪枝操作减少遍历的次数&#xff0c;去重操作防止数组中有两个相同的值来组成的集合相同。 class Solution {List<List<Integer>> li1ne…

Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配

Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配 解题思路制作不易&#xff0c;感谢三连&#xff0c;谢谢啦 给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。…

ChatGPT:你的数字生活助手

ChatGPT&#xff1a;你的数字生活助手 随着人工智能的飞速发展&#xff0c;AI写作技术成为了一个备受争议的话题。ChatGPT作为OpenAI开发的先进语言模型&#xff0c;不仅提供了对话和问题解答服务&#xff0c;还成为了提升日常工作和生活效率的强大工具。然而&#xff0c;许多…

WEB基础及http协议(Apache)

一、httpd安装组成 http服务基于C/S结构 1、常见http服务器程序 httpd apache&#xff0c;存在C10K&#xff08;10K connections&#xff09;问题nginx 解决C10K问题lighttpdIIS .asp 应用程序服务器tomcat .jsp 应用程序服务器jetty 开源的servlet容器&#xff0c;基于Java…

【Java代码审计】本地命令执行函数

1.本地命令执行函数 在服务器中时常会调用命令执行的代码&#xff0c;以完善或加强系统的功能需求&#xff0c;一旦这些调用命令执行的接口被攻击者恶意利用&#xff0c;就会导致服务器沦陷。 在Java中可用于执行系统命令的方式有API有&#xff1a;java.lang.Runtime、java.la…

基于微信小程序的比赛赛程管理系统设计与实现

在全面健身的倡导下通过各级赛事的举办完成体育人才的选拔&#xff0c;当由于缺乏信息化的管理手段而只能通过人工完成比赛报名、赛程制定及成绩记录等流程的管理&#xff0c;因此常常因意外而导致比赛赛程管理不善、成绩不理想等问题出现。为了帮助比赛组织者优化赛程管理流程…

最大加权矩阵(洛谷)

题目 原题 题目描述 为了更好的备战 NOIP2013&#xff0c;电脑组的几个女孩子 LYQ,ZSC,ZHQ 认为&#xff0c;我们不光需要机房&#xff0c;我们还需要运动&#xff0c;于是就决定找校长申请一块电脑组的课余运动场地&#xff0c;听说她们都是电脑组的高手&#xff0c;校长没有…

【Webpack】基本配置

核心概念 entry&#xff08;入口&#xff09; 指示 Webpack 从哪个文件开始打包 output&#xff08;输出&#xff09; 指示 Webpack 打包完的文件输出到哪里去&#xff0c;如何命名等 loader&#xff08;加载器&#xff09; webpack 本身只能处理 js、json 等资源&#x…

微服务建构思想

微服务架构思想 微服务架构优点 1、易于开发和维护:一个微服务只会关注一个特定的业务功能。所以它业务清晰。代码量较少。开发和维护 单个微服务相对简单。而整个应用是由若干个微服务构建而成的。 2、单个微服务启动较快:单个微服务代码量较少&#xff0c;所以启动比较快。 …

CSS position属性sticky

在开发时&#xff0c;经常会碰到需要这样一种情况 —— 网站滚动到一定高度的时候&#xff0c;让一部分内容作为navbar&#xff0c;也就是置顶显示&#xff0c;我们一般会使用js监听scroll事件来实现&#xff0c;但是新增的css3属性position:sticky可以简单实现&#xff0c;省去…

【动态规划专栏】专题二:路径问题--------6.地下城游戏

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

C# 二分查找

二分查找&#xff08;Binary Search&#xff09;是一种在有序数组或列表中查找特定元素的搜索算法。该算法比较要搜索的值和数组的中间元素。如果要搜索的值小于中间元素&#xff0c;则在数组的左半部分继续搜索&#xff1b;如果要搜索的值大于中间元素&#xff0c;则在数组的右…

Vue | (三)使用Vue脚手架(中)| 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 &#x1f4da;Todo-list 案例&#x1f407;组件化编码流程&#xff08;通用&#xff09;&#x1f407;实现静态组件&#x1f407;展示动态数据&#x1f407;交互⭐️添加一个todo⭐️todo勾选实现⭐️删除功能实现⭐️底部统计功能实现⭐️底部全选功能实现⭐️底部一…

每日一练:前端js实现算法之两数之和

方法一&#xff1a;暴力法 function twoSum(nums, target) {for (let i 0; i < nums.length; i) {for (let j i 1; j < nums.length; j) {if (nums[i] nums[j] target) {return [i, j];}}}return null; }方法二&#xff1a;哈希表 function twoSum(nums, target) …

函数——递归4(c++)

正整数N转换成一个二进制数 题目描述 输入一个不大于 32767 的整数 n &#xff0c;将它转换成一个二进制数。 输入 输入只有一行&#xff0c;包括一个整数 n (0≤ n ≤32767)。 输出 输出只有一行。 样例 输入复制 100 输出复制 1100100 输入复制 0 输出复制…

前端算法题——给定一个整数数组,判断是否存在重复元素。

前言 题目可以理解为如果存在一值在数组中出现至少两次&#xff0c;函数返回 true 。如果数组中每个元素都不相同&#xff0c;则返回 false。 示例 1:输入: [1,2,3,1] 输出: true示例 2:输入: [1,2,3,4] 输出: false这题一看就是 计数问题&#xff0c;题目中“如果存在一值在…

Docker从入门到上天系列第二篇:Docker与传统虚拟机对比

&#x1f609;&#x1f609; 欢迎加入我们的学习交流群呀&#xff01; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring、Security、Docker、Grpc、消息中间件、Rpc、SpringCloud等等很多应用和源码级…

代码随想录算法训练营day17||二叉树part04、110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和

注意&#xff1a;迭代法&#xff0c;可以先过&#xff0c;二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 &#xff08;优先掌握递归&#xff09; 再一次涉及到&#xff0c;什么是高度&#xff0c;什么是深度&#xff0c;可以巩固一下。 题目&#xff1a;给定一个二叉树&am…